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