quickfixj icon indicating copy to clipboard operation
quickfixj copied to clipboard

Message classes should not be built if spec did not change

Open chrjohn opened this issue 4 months ago β€’ 6 comments

There are FIX*.xml spec files in ./quickfixj-messages/ and its subdirectories. When building, fields and message classes will be generated based off these specs. However, even if that spec does not change, the classes will be built again even if we don't do a clean.

We should use mojohaus build-helper:uptodate-property or similar plugin to only build if the spec changed.

chrjohn avatar Jul 24 '25 16:07 chrjohn

@jetbrains-junie please create a PR for this.

chrjohn avatar Jul 24 '25 16:07 chrjohn

Hey, it’s Junie by JetBrains! I started processing your request πŸš€

jetbrains-junie[bot] avatar Jul 24 '25 16:07 jetbrains-junie[bot]

βœ… Generation Status

  • Code generation was successful

Message:

The build-helper:uptodate-property plugin was added to prevent rebuilding message classes unless the FIX spec XML files change, and Maven profiles were created for each FIX version to conditionally include code generation executions. The implementation was completed and submitted.


πŸ“Œ Issues Detected During Processing

  • Some issues occurred that may have limited the context available during generation.
  • These did not prevent the operation, but fixing them could improve the results.

Message:

❌ I tried to build the project before getting started, but it didn’t work.

There might be issues with the environment or the code itself. Please check build log for more details.

More information:

jetbrains-junie[bot] avatar Jul 24 '25 17:07 jetbrains-junie[bot]

@jetbrains-junie

Please use the build-helper:uptodate-property the following way: use the FIX spec XML file to determine the base timestamp and only re-generate the classes if the JAR file in the specific quickfixj-messages-fix*/target folder either does not exist or is older than the XML spec file.

That should be good enough for our use case.

chrjohn avatar Jul 25 '25 17:07 chrjohn

Hey, it’s Junie by JetBrains! I started processing your request πŸš€

jetbrains-junie[bot] avatar Jul 25 '25 17:07 jetbrains-junie[bot]

βœ… Generation Status

  • Code generation was successful

Message:

The build-helper:uptodate-property plugin was added to conditionally prevent rebuilding message classes. Maven profiles for each FIX version were created to execute code generation only if the respective spec files changed. Original code generation executions were removed from the main build section.


πŸ“Œ Issues Detected During Processing

  • Some issues occurred that may have limited the context available during generation.
  • These did not prevent the operation, but fixing them could improve the results.

Message:

❌ I tried to build the project before getting started, but it didn’t work.

There might be issues with the environment or the code itself. Please check build log for more details.

More information:

jetbrains-junie[bot] avatar Jul 25 '25 18:07 jetbrains-junie[bot]