diff --git a/release-tools/src/main/java/org/springframework/data/release/build/ParentPom.java b/release-tools/src/main/java/org/springframework/data/release/build/ParentPom.java index 44d8024..fc1fd22 100644 --- a/release-tools/src/main/java/org/springframework/data/release/build/ParentPom.java +++ b/release-tools/src/main/java/org/springframework/data/release/build/ParentPom.java @@ -21,12 +21,13 @@ import org.xmlbeam.annotation.XBWrite; /** * @author Oliver Gierke + * @author Mark Paluch */ public interface ParentPom extends Pom { @XBWrite("/project/properties/releasetrain") void setReleaseTrain(@XBValue String releaseTrain); - @XBWrite("/project/profiles/profile[id=\"distribute\"]/dependencies/dependency/version") + @XBWrite("/project/profiles/profile[id=\"distribute\"]/dependencies/dependency[artifactId=\"spring-data-build-resources\"]/version") void setSharedResourcesVersion(@XBValue ArtifactVersion value); } diff --git a/release-tools/src/test/java/org/springframework/data/release/build/MavenIntegrationTests.java b/release-tools/src/test/java/org/springframework/data/release/build/MavenIntegrationTests.java index aee20f2..cb61475 100644 --- a/release-tools/src/test/java/org/springframework/data/release/build/MavenIntegrationTests.java +++ b/release-tools/src/test/java/org/springframework/data/release/build/MavenIntegrationTests.java @@ -15,8 +15,10 @@ */ package org.springframework.data.release.build; +import static org.assertj.core.api.Assertions.*; import static org.junit.Assume.*; +import java.io.ByteArrayInputStream; import java.io.IOException; import java.net.URL; import java.net.URLConnection; @@ -31,10 +33,12 @@ import org.springframework.data.release.io.Workspace; import org.springframework.data.release.model.ArtifactVersion; import org.springframework.data.release.model.Projects; import org.xmlbeam.ProjectionFactory; +import org.xmlbeam.evaluation.XPathEvaluator; import org.xmlbeam.io.XBFileIO; /** * @author Oliver Gierke + * @author Mark Paluch */ public class MavenIntegrationTests extends AbstractIntegrationTests { @@ -64,7 +68,12 @@ public class MavenIntegrationTests extends AbstractIntegrationTests { ParentPom pom = io.read(ParentPom.class); pom.setSharedResourcesVersion(ArtifactVersion.of("1.2.0.RELEASE")); - System.out.println(projection.asString(pom)); + String xml = projection.asString(pom); + XPathEvaluator xPathEvaluator = projection.io().stream(new ByteArrayInputStream(xml.getBytes())).evalXPath( + "/project/profiles/profile[id=\"distribute\"]/dependencies/dependency[artifactId=\"spring-data-build-resources\"]/version"); + + assertThat(xPathEvaluator.asString()).isEqualToIgnoringCase("1.2.0.RELEASE"); + } @Test diff --git a/release-tools/src/test/resources/parent-pom.xml b/release-tools/src/test/resources/parent-pom.xml index ee13def..610ce8d 100644 --- a/release-tools/src/test/resources/parent-pom.xml +++ b/release-tools/src/test/resources/parent-pom.xml @@ -1,5 +1,6 @@ - + + @@ -116,6 +133,21 @@ + + + + org.projectlombok + lombok-maven-plugin + + + generate-sources + + delombok + + + + + org.apache.maven.plugins maven-javadoc-plugin @@ -135,6 +167,71 @@ + + + + pre-release + + + + org.apache.maven.plugins + maven-enforcer-plugin + + + enforce-no-third-party-snapshots + + enforce + + + + + false + + org.springframework.data.build:* + org.springframework.data:* + + + + + + + + + + + + + + + + sonarcube + + + + + org.jacoco + jacoco-maven-plugin + ${jacoco} + + ${jacoco.destfile} + + + + jacoco-initialize + + prepare-agent + + + + + + + + + + + + org.projectlombok + lombok-maven-plugin + + + generate-sources + + delombok + + + ${project.root}/target/generated-sources/delombok + + + + + org.apache.maven.plugins maven-javadoc-plugin @@ -205,6 +353,9 @@ aggregate package + + ${project.root}/target/site/apidocs + @@ -215,8 +366,8 @@ --> + org.apache.maven.plugins maven-antrun-plugin - 1.7 @@ -224,12 +375,6 @@ generate-resources - - - - - - @@ -247,7 +392,7 @@ collect-schema-files - process-resources + prepare-package @@ -264,12 +409,62 @@ - rename-reference-docs + create-generated-docs-resources process-resources - - + + + + + + + + + + + + + + + + + run + + + + + rename-reference-docs + prepare-package + + + + + + + + + + + + + + + + + + + + + + + + + @@ -293,72 +488,87 @@ org.asciidoctor asciidoctor-maven-plugin - 1.5.2 org.asciidoctor asciidoctorj-pdf - 1.5.0-alpha.6 + 1.5.0-alpha.16 org.asciidoctor asciidoctorj-epub3 - 1.5.0-alpha.4 + 1.5.0-alpha.8.1 html - generate-resources + compile process-asciidoc + ${generated-asciidoc-sources.directory} + index.adoc html5 - ${project.root}/target/site/reference/html - false - prettify + ${generated-docs.directory} + highlight.js + js/highlight + atom-one-dark-reasonable true - font true + ./css spring.css + left + + - ${project.root}/src/main/asciidoc - index.adoc book + book + shared + font + false + images ${project.version} ${project.name} ${project.version} @@ -367,7 +577,7 @@ ${spring} ${releasetrain} true - 3 + 4 true @@ -380,7 +590,6 @@ org.apache.maven.plugins maven-assembly-plugin - 2.4 static @@ -402,9 +611,10 @@ org.codehaus.mojo wagon-maven-plugin - 1.0-beta-5 ${project.build.directory} + static-dot-s2 + scp://docs.af.pivotal.io @@ -419,9 +629,9 @@ ${project.root}/target/schemas *.xsd,.autoschemaln - static-dot-s2 - scp://static.springsource.org - /var/www/domains/springsource.org/www/htdocs/autorepo/schema/${dist.id}/${project.version} + + /var/www/domains/spring.io/www/htdocs/autorepo/schema/${dist.id}/${project.version} + true @@ -437,68 +647,75 @@ ${project.build.directory}/static-resources ** - static-dot-s2 - scp://static.springsource.org - /var/www/domains/springsource.org/www/htdocs/autorepo/docs/${dist.id}/${project.version} + + /var/www/domains/spring.io/www/htdocs/autorepo/docs/${dist.id}/${project.version} + true + + + + make-resources-group-writable + deploy + + sshexec + + + + + + + + + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + - - spring41 - + spring5-next - 4.1.6.RELEASE + 5.1.4.BUILD-SNAPSHOT - - - - - - spring41-next - - - 4.1.7.BUILD-SNAPSHOT - - spring-libs-snapshot - http://repo.spring.io/libs-snapshot + https://repo.spring.io/libs-snapshot - - - - - - spring42-next - - - 4.2.0.BUILD-SNAPSHOT - - - - - spring-libs-snapshot - http://repo.spring.io/libs-snapshot - - - querydsl-next - 3.6.2.BUILD-SNAPSHOT + 4.1.4.BUILD-SNAPSHOT @@ -512,6 +729,13 @@ + + io.projectreactor + reactor-bom + ${reactor} + pom + import + org.springframework spring-framework-bom @@ -519,6 +743,13 @@ pom import + + com.fasterxml.jackson + jackson-bom + ${jackson} + pom + import + @@ -553,6 +784,13 @@ test + + org.assertj + assertj-core + ${assertj} + test + + org.springframework spring-test @@ -566,13 +804,6 @@ ${slf4j} - - org.slf4j - jcl-over-slf4j - ${slf4j} - runtime - - ch.qos.logback logback-classic @@ -580,6 +811,14 @@ test + + + org.projectlombok + lombok + ${lombok} + true + + @@ -588,7 +827,7 @@ org.apache.maven.wagon wagon-ssh - 2.5 + 2.12 @@ -605,15 +844,96 @@ - org.codehaus.mojo - wagon-maven-plugin - 1.0-beta-5 + org.asciidoctor + asciidoctor-maven-plugin + 1.5.7.1 - org.asciidoctor - asciidoctor-maven-plugin - 0.1.4 + org.apache.maven.plugins + maven-antrun-plugin + 1.8 + + + + org.apache.maven.plugins + maven-assembly-plugin + 3.0.0 + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.0 + + + + org.apache.maven.plugins + maven-deploy-plugin + 2.8.2 + + + + org.apache.maven.plugins + maven-enforcer-plugin + 1.4.1 + + + + org.apache.maven.plugins + maven-failsafe-plugin + 2.19.1 + + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.0.0 + + + + org.apache.maven.plugins + maven-source-plugin + 3.0.1 + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.19.1 + + false + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.0.0 + + + + org.codehaus.mojo + wagon-maven-plugin + 1.0 + + + + org.projectlombok + lombok-maven-plugin + 1.18.4.0 @@ -625,24 +945,83 @@ org.apache.maven.plugins maven-dependency-plugin - 2.8 + + + + kotlin-maven-plugin + org.jetbrains.kotlin + ${kotlin} + + ${source.level} + + + + compile + compile + + compile + + + + ${project.basedir}/src/main/kotlin + ${project.basedir}/src/main/java + + + + + test-compile + test-compile + + test-compile + + + + ${project.basedir}/src/test/kotlin + ${project.basedir}/src/test/java + + + + org.apache.maven.plugins maven-compiler-plugin - 3.1 ${source.level} ${source.level} + + + default-compile + none + + + default-testCompile + none + + + java-compile + compile + + compile + + + + java-test-compile + test-compile + + testCompile + + + org.apache.maven.plugins maven-surefire-plugin - 2.17 + false false **/*Tests.java @@ -653,15 +1032,20 @@ org.apache.maven.plugins maven-jar-plugin - 2.4 - true + + + ${project.name} + ${project.version} + ${java-module-name} + + + org.apache.maven.plugins maven-source-plugin - 2.2.1 attach-sources @@ -673,27 +1057,36 @@ - com.springsource.bundlor - com.springsource.bundlor.maven - 1.0.0.RELEASE - - ${bundlor.enabled} - ${bundlor.failOnWarnings} - + org.codehaus.mojo + build-helper-maven-plugin - bundlor + add-kotlin-source + prepare-package - bundlor + add-source + + + ${project.basedir}/src/main/kotlin + + + + org.projectlombok + lombok-maven-plugin + + false + ${project.basedir}/src/main/java + + + org.apache.maven.plugins maven-javadoc-plugin - 2.9.1 true
${project.name}
@@ -704,22 +1097,36 @@ ${shared.resources}/javadoc/spring-javadoc.css true - -Xdoclint:none + + -Xdoclint:none + + target/generated-sources/delombok - http://docs.spring.io/spring/docs/3.2.x/javadoc-api/ - http://docs.spring.io/spring-data/data-commons/docs/current/api/ - http://docs.oracle.com/javase/6/docs/api + https://docs.spring.io/spring/docs/5.0.x/javadoc-api/ + https://docs.spring.io/spring-data/commons/docs/current/api/ + https://docs.oracle.com/javase/8/docs/api/
org.apache.maven.plugins - maven-deploy-plugin - 2.8.1 - - true - + maven-enforcer-plugin + + + enforce-maven-version + + enforce + + + + + 3.5.0 + + + + + @@ -727,11 +1134,8 @@ - spring-libs-release - https://repo.spring.io/libs-release - - false - + spring-libs-snapshot + https://repo.spring.io/libs-snapshot @@ -740,6 +1144,10 @@ spring-plugins-release https://repo.spring.io/plugins-release + + spring-libs-milestone + https://repo.spring.io/libs-milestone +