= Spring Cloud Stream & Task Maven Metadata Plugin
Maven plugin for aggregating Spring Boot metadata from all dependencies of a project into
a single metadata-only artifact.
== Usage
To use this plugin, configure this plugin for your app project (either directly or through a parent POM):
```
org.springframework.cloud.stream.app.plugin
spring-cloud-app-starter-metadata-maven-plugin
2.0.0.BUILD-SNAPSHOT
aggregate-metadata
compile
aggregate-metadata
```
This will produce and attach to the build a jar file named `--metadata.jar` (`metadata` being the
maven classifier used for the artifact, which can be customized as such:)
```
org.springframework.cloud.stream.app.plugin
spring-cloud-app-starter-metadata-maven-plugin
2.0.0.BUILD-SNAPSHOT
aggregate-metadata
compile
aggregate-metadata
foobar
```
You can filter in subset of the gathered metadata and store it into a java property file: `META-INF/spring-configuration-metadata-encoded.properties`.
This file has single property `org.springframework.cloud.dataflow.spring.configuration.metadata.json` which contains the pre-filtered metadata encoded as Base64.
To activate this feature you need to set the `storeFilteredMetadata` parameter to `true`. Use the `metadataFilter` to configure the whitelisted metadata content to include.
For example:
```
org.springframework.cloud
spring-cloud-app-starter-metadata-maven-plugin
2.0.0.BUILD-SNAPSHOT
true
server.port
io.pivotal.java.function.http.supplier.HttpSourceProperties
io.pivotal.java.function.http.supplier.HttpSourceProperties$Cors
aggregate-metadata
compile
aggregate-metadata
```