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 @@
-
-
-