This commit updates all library and plugin dependencies in the `spring-cloud-dataflow-apps-plugin` modules to the latest versions. Additionally: - performs a general cleanup of build and README files. - updates to maven 3.9.9 Resolves #498 * Address code review comments: - Use `1.1.0-SNAPSHOT` as version in metadata plugin README.adoc to be consistent w/ other examples
136 lines
5.2 KiB
Plaintext
136 lines
5.2 KiB
Plaintext
= spring-cloud-dataflow-apps-generator-plugin
|
|
|
|
Maven plugin for generating https://github.com/spring-cloud/stream-applications[Spring Cloud Stream Applications].
|
|
|
|
It generates a separate maven project for every configured binder.
|
|
|
|
Plugin `Application` section helps to configure the application project independently form the Binders that can be used.
|
|
|
|
The `Binders` section helps to define the Binder specific configurations, that are merged to the `Application` configurations to generate the binder specific maven projects.
|
|
|
|
The `Global` section (e.g. `global.application` and `global.binders`) helps to define configurations sharable between many Applications and Binders.
|
|
|
|
As the following diagram illustrates, both the `Application` and the
|
|
`Binder` allow configuring various application and maven properties:
|
|
|
|
image::src/main/resources/doc/MojoConfiguration.jpg[]
|
|
|
|
== Build
|
|
Java 17 required.
|
|
[source, bash]
|
|
----
|
|
mvn clean package
|
|
----
|
|
|
|
== Sample Configuration
|
|
|
|
In the parent POM define the `Application` and `Binder` configurations common for all applications to be generated.
|
|
Do this under the `pluginManagement` pom section and use the plugin's `global` configuration:
|
|
|
|
[source, xml]
|
|
----
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.cloud</groupId>
|
|
<artifactId>spring-cloud-dataflow-apps-generator-plugin</artifactId>
|
|
<version>1.1.0-SNAPSHOT</version>
|
|
<executions>
|
|
<execution>
|
|
<id>app-gen</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>generate-app</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<generatedProjectHome>${basedir}/apps</generatedProjectHome>
|
|
<global>
|
|
<application>
|
|
<bootVersion>${spring-boot.version}</bootVersion>
|
|
<containerImage>
|
|
<orgName>yourOrgNameGoesHere</orgName>
|
|
<enableMetadata>true</enableMetadata>
|
|
</containerImage>
|
|
<properties>
|
|
<!-- Your common properties go here -->
|
|
</properties>
|
|
<metadata>
|
|
<mavenPluginVersion>1.1.0-SNAPSHOT</mavenPluginVersion>
|
|
</metadata>
|
|
<maven>
|
|
<dependencyManagement>
|
|
<!-- Your dependency mgmt goes here -->
|
|
</dependencyManagement>
|
|
<dependencies>
|
|
<!-- Your dependencies go here -->
|
|
</dependencies>
|
|
</maven>
|
|
</application>
|
|
<binders>
|
|
<kafka>
|
|
<maven>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework.cloud</groupId>
|
|
<artifactId>spring-cloud-stream-binder-kafka</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
</maven>
|
|
</kafka>
|
|
<rabbit>
|
|
<maven>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework.cloud</groupId>
|
|
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
</maven>
|
|
</rabbit>
|
|
</binders>
|
|
</global>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
----
|
|
|
|
Above global configurations will be reused by all children applications.
|
|
|
|
In addition, the child application can add application specific configurations, contributed to the inherited from
|
|
to the global:
|
|
|
|
[source, xml]
|
|
----
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.cloud</groupId>
|
|
<artifactId>spring-cloud-dataflow-apps-generator-plugin</artifactId>
|
|
<version>1.1.0-SNAPSHOT</version>
|
|
<configuration>
|
|
<application>
|
|
<name>syslog</name>
|
|
<type>source</type>
|
|
<version>${project.version}</version>
|
|
<configClass>org.springframework.cloud.fn.supplier.syslog.SyslogSupplierConfiguration.class</configClass>
|
|
<maven>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework.cloud.fn</groupId>
|
|
<artifactId>syslog-supplier</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.cloud.stream.app</groupId>
|
|
<artifactId>stream-applications-composite-function-support</artifactId>
|
|
<version>${stream-apps-core.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</maven>
|
|
</application>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
----
|