The project-build-plugin is a Maven plugin that enables automated builds of Ivy projects and thus supports Continuous Integration pipelines. This ensures that projects can be built, tested, and delivered in a consistent and reproducible way.
Problem
Currently, the plugin must start the Axon Ivy engine whenever it requires access to the Axon Ivy API. This increases the build process overhead, making it slower and more resource-intensive. For example, during data class generation the Axon Ivy API is called by the plugin. As a result, the engine must be started when converting *.d.json files into *.java classes. Starting the engine also prevents project builds from being executed in parallel.
Solution
At this year’s Code Camp, I started addressing these issues in the plugin’s data class generation goal (transforming *.d.json files into *.java classes). I decoupled the required transformation API from runtime data, eliminating the need to start the engine. The decoupled API has been bundled and published as Maven dependency, allowing the project-build-plugin to simply include it and perform data class transformations directly.