From 9d88a2c0de04a7db0c10c64ff695e94e5326e6fb Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Thu, 7 Nov 2019 14:12:44 +0100 Subject: [PATCH] Using the maven flatten plugin for published POMs To avoid propagating build setup that is required to build a Spring Cloud project, the maven flatten plugin can be used. It has the advantage of letting you use whatever features you need while publishing "clean" pom to the repository. fixes gh-89 --- README.adoc | 18 ++++++++ docs/src/main/asciidoc/README.adoc | 18 ++++++++ pom.xml | 57 ++++++++++------------- spring-cloud-build-dependencies/pom.xml | 58 ++++++++++++++++++++++++ spring-cloud-dependencies-parent/pom.xml | 35 -------------- 5 files changed, 118 insertions(+), 68 deletions(-) diff --git a/README.adoc b/README.adoc index db3e8e1e..c4950bea 100644 --- a/README.adoc +++ b/README.adoc @@ -226,6 +226,24 @@ Go to `File` -> `Settings` -> `Other settings` -> `Checkstyle`. There click on t IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources. +== Flattening the POMs + +To avoid propagating build setup that is required to build a Spring Cloud project, we're using the maven flatten plugin. It has the advantage of letting you use whatever features you need while publishing "clean" pom to the repository. + +In order to add it, add the `org.codehaus.mojo:flatten-maven-plugin` to your `pom.xml`. + +[source,xml] +---- + + + + org.codehaus.mojo + flatten-maven-plugin + + + +---- + == Reusing the documentation Spring Cloud Build publishes its `spring-cloud-build-docs` module that contains diff --git a/docs/src/main/asciidoc/README.adoc b/docs/src/main/asciidoc/README.adoc index 01b9be65..a0048c3a 100644 --- a/docs/src/main/asciidoc/README.adoc +++ b/docs/src/main/asciidoc/README.adoc @@ -42,6 +42,24 @@ $ mvn deploy -P central -DaltReleaseDeploymentRepository=sonatype-nexus-staging: include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/contributing.adoc[] +== Flattening the POMs + +To avoid propagating build setup that is required to build a Spring Cloud project, we're using the maven flatten plugin. It has the advantage of letting you use whatever features you need while publishing "clean" pom to the repository. + +In order to add it, add the `org.codehaus.mojo:flatten-maven-plugin` to your `pom.xml`. + +[source,xml] +---- + + + + org.codehaus.mojo + flatten-maven-plugin + + + +---- + == Reusing the documentation Spring Cloud Build publishes its `spring-cloud-build-docs` module that contains diff --git a/pom.xml b/pom.xml index 2c6099b3..a4f3ede2 100644 --- a/pom.xml +++ b/pom.xml @@ -253,42 +253,33 @@ - + + org.codehaus.mojo + flatten-maven-plugin + true + + + + flatten + process-resources + + flatten + + + true + oss + + expand + remove + remove + + + + + org.apache.maven.plugins diff --git a/spring-cloud-build-dependencies/pom.xml b/spring-cloud-build-dependencies/pom.xml index 217eab84..197b277e 100644 --- a/spring-cloud-build-dependencies/pom.xml +++ b/spring-cloud-build-dependencies/pom.xml @@ -21,6 +21,64 @@ UTF-8 2.2.0.RELEASE + + + + org.codehaus.mojo + flatten-maven-plugin + false + + + + flatten-effective-pom + process-resources + + flatten + + + false + ${project.build.directory}/effective-pom + spring-cloud-build-dependencies.xml + oss + + expand + expand + expand + remove + remove + + + + + + flatten + process-resources + + flatten + + + true + bom + + expand + keep + keep + remove + + + + + flatten-clean + clean + + clean + + + + + + https://github.com/spring-cloud diff --git a/spring-cloud-dependencies-parent/pom.xml b/spring-cloud-dependencies-parent/pom.xml index c4f8a92c..2d9b2aaa 100644 --- a/spring-cloud-dependencies-parent/pom.xml +++ b/spring-cloud-dependencies-parent/pom.xml @@ -195,41 +195,6 @@ - - -