Config Maven plugin

chenile-config-maven-plugin (in chenile-others) generates the service-registry JSON description of a Chenile deployable at build time, so the ecosystem catalog can be produced from the actual, running application rather than hand-maintained.

What it does

The plugin runs during the integration-test phase, in conjunction with the spring-boot-maven-plugin: it starts the application, reads its live Chenile service/operation definitions, and emits the JSON used to populate the (Aurora) service registry. You trigger it with a normal:

mvn verify

Setup

Declare it in the plugins section of your pom.xml, alongside the Spring Boot plugin (which must expose the admin endpoint so the plugin can introspect the running app):

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <jvmArguments>-Dspring.application.admin.enabled=true</jvmArguments>
  </configuration>
  <!-- start/stop executions bound to the integration-test phase -->
</plugin>

<plugin>
  <groupId>org.chenile</groupId>
  <artifactId>chenile-config-maven-plugin</artifactId>
  <!-- bind ConfigMojo to generate the registry JSON during verify -->
</plugin>

Why generate at build time

Because the description is derived from the real application, it stays in sync with the code: new services, operations and parameters appear in the generated registry JSON automatically. That JSON feeds the service registry, so proxies and the Admin UI see an accurate, current catalog without manual upkeep.

Where to look
org.chenile.config.plugin.ConfigMojo in chenile-others/chenile-config-maven-plugin. It is the build-time counterpart to the runtime service registry.