From 1fde2dae6a30b72a4d391d2ec77aa45dec32678a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 9 Jan 2026 17:16:20 +0000 Subject: [PATCH 1/4] Initial plan From 8136ec079f557c7ffcbb44b3cfea1023ff96207e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 9 Jan 2026 18:06:28 +0000 Subject: [PATCH 2/4] Implement incremental build for message/field generation - Add skip parameter to quickfixj-codegenerator Maven plugin - Use Ant uptodate task to check if FIX XML inputs changed - Create marker file after generation to track timestamps - Skip code generation when inputs are unchanged - Add skip configuration to Orchestra code generator plugins Co-authored-by: chrjohn <6644028+chrjohn@users.noreply.github.com> --- .../quickfixj/codegenerator/GenerateMojo.java | 12 ++++ .../quickfixj-messages-all/pom.xml | 71 +++++++++++++++++++ 2 files changed, 83 insertions(+) diff --git a/quickfixj-codegenerator/src/main/java/org/quickfixj/codegenerator/GenerateMojo.java b/quickfixj-codegenerator/src/main/java/org/quickfixj/codegenerator/GenerateMojo.java index 5faeef257c..b192309250 100644 --- a/quickfixj-codegenerator/src/main/java/org/quickfixj/codegenerator/GenerateMojo.java +++ b/quickfixj-codegenerator/src/main/java/org/quickfixj/codegenerator/GenerateMojo.java @@ -93,6 +93,13 @@ public class GenerateMojo extends AbstractMojo { @Parameter(defaultValue = "true") private boolean overwrite = true; + /** + * Skip the code generation if true. + * Useful for incremental builds when source files haven't changed. + */ + @Parameter(property = "codegen.skip", defaultValue = "false") + private boolean skip = false; + /** * The Maven project to act upon. */ @@ -111,6 +118,11 @@ public class GenerateMojo extends AbstractMojo { */ public void execute() throws MojoExecutionException { + if (skip) { + getLog().info("Skipping code generation (codegen.skip = true)"); + return; + } + if (!outputDirectory.exists()) { FileUtils.mkdir(outputDirectory.getAbsolutePath()); } diff --git a/quickfixj-messages/quickfixj-messages-all/pom.xml b/quickfixj-messages/quickfixj-messages-all/pom.xml index 82540700c1..279906f290 100644 --- a/quickfixj-messages/quickfixj-messages-all/pom.xml +++ b/quickfixj-messages/quickfixj-messages-all/pom.xml @@ -82,6 +82,8 @@ ${project.build.directory}/generated-sources true false + + ${codegen.uptodate} @@ -110,6 +112,8 @@ ${project.build.directory}/generated-sources true false + + ${codegen.uptodate} @@ -247,6 +251,14 @@ org.quickfixj quickfixj-codegenerator ${project.version} + + + ${codegen.uptodate} + fix40 @@ -419,7 +431,13 @@ org.codehaus.mojo build-helper-maven-plugin + + add-source process-sources add-source @@ -430,6 +448,59 @@ + + + org.apache.maven.plugins + maven-antrun-plugin + 3.2.0 + + + + check-codegen-uptodate + initialize + + run + + + true + + + + + + + + + + + + + + + create-codegen-marker-file + generate-sources + + run + + + + + + + + + + + org.apache.felix maven-bundle-plugin From 9f8f38b65d74b0094a2b60c424e8b6b81200b56c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 12 Jan 2026 09:15:37 +0000 Subject: [PATCH 3/4] Move maven-antrun-plugin version to parent POM properties Add maven-antrun-plugin-version property to main pom.xml and use it in: - quickfixj-messages-all/pom.xml (2 plugin declarations) - quickfixj-messages-fixt11/pom.xml This centralizes version management as requested in PR review. Co-authored-by: chrjohn <6644028+chrjohn@users.noreply.github.com> --- pom.xml | 1 + quickfixj-messages/quickfixj-messages-all/pom.xml | 4 ++-- quickfixj-messages/quickfixj-messages-fixt11/pom.xml | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index fbeac4ad89..03efc1560b 100644 --- a/pom.xml +++ b/pom.xml @@ -87,6 +87,7 @@ 3.1.4 1.7.0 3.6.1 + 3.2.0 3.4.2 3.2.0 3.15.2 diff --git a/quickfixj-messages/quickfixj-messages-all/pom.xml b/quickfixj-messages/quickfixj-messages-all/pom.xml index 279906f290..0be2a70bbb 100644 --- a/quickfixj-messages/quickfixj-messages-all/pom.xml +++ b/quickfixj-messages/quickfixj-messages-all/pom.xml @@ -362,7 +362,7 @@ org.apache.maven.plugins maven-antrun-plugin - 3.2.0 + ${maven-antrun-plugin-version} process-sources @@ -452,7 +452,7 @@ org.apache.maven.plugins maven-antrun-plugin - 3.2.0 + ${maven-antrun-plugin-version} diff --git a/quickfixj-messages/quickfixj-messages-fixt11/pom.xml b/quickfixj-messages/quickfixj-messages-fixt11/pom.xml index ee4340badc..96680e2389 100644 --- a/quickfixj-messages/quickfixj-messages-fixt11/pom.xml +++ b/quickfixj-messages/quickfixj-messages-fixt11/pom.xml @@ -68,7 +68,7 @@ org.apache.maven.plugins maven-antrun-plugin - 3.2.0 + ${maven-antrun-plugin-version} process-sources From 78b71218d12d441e335e5e8bc07e993febc812eb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 12 Jan 2026 11:16:43 +0000 Subject: [PATCH 4/4] Fix duplicate maven-antrun-plugin declaration Consolidated two maven-antrun-plugin declarations into one with three executions: - delete-base-classes: Exclude classes from quickfixj-base (existing) - check-codegen-uptodate: Check if generation can be skipped (new) - create-codegen-marker-file: Create marker after generation (new) This resolves the Maven warning about duplicate plugin declarations. Co-authored-by: chrjohn <6644028+chrjohn@users.noreply.github.com> --- .../quickfixj-messages-all/pom.xml | 106 +++++++++--------- 1 file changed, 52 insertions(+), 54 deletions(-) diff --git a/quickfixj-messages/quickfixj-messages-all/pom.xml b/quickfixj-messages/quickfixj-messages-all/pom.xml index 0be2a70bbb..9ee966c20c 100644 --- a/quickfixj-messages/quickfixj-messages-all/pom.xml +++ b/quickfixj-messages/quickfixj-messages-all/pom.xml @@ -358,13 +358,19 @@ - + org.apache.maven.plugins maven-antrun-plugin ${maven-antrun-plugin-version} + delete-base-classes process-sources run @@ -425,6 +431,51 @@ + + + check-codegen-uptodate + initialize + + run + + + true + + + + + + + + + + + + + + + create-codegen-marker-file + generate-sources + + run + + + + + + + + + @@ -448,59 +499,6 @@ - - - org.apache.maven.plugins - maven-antrun-plugin - ${maven-antrun-plugin-version} - - - - check-codegen-uptodate - initialize - - run - - - true - - - - - - - - - - - - - - - create-codegen-marker-file - generate-sources - - run - - - - - - - - - - - org.apache.felix maven-bundle-plugin