diff --git a/.gitignore b/.gitignore index 73bc80d6c4..e92ba1f3f9 100644 --- a/.gitignore +++ b/.gitignore @@ -35,4 +35,5 @@ hs_err_pid* .DS_Store *.log interpolated-settings.xml -interpolated-pom.xml \ No newline at end of file +interpolated-pom.xml +dependency-reduced-pom.xml \ No newline at end of file diff --git a/pom.xml b/pom.xml index fe09b9eee3..45bcdb70f1 100644 --- a/pom.xml +++ b/pom.xml @@ -38,6 +38,7 @@ spring-cloud-contract-dependencies docs + spring-cloud-contract-shade spring-cloud-contract-wiremock spring-cloud-contract-verifier spring-cloud-contract-spec diff --git a/spring-cloud-contract-dependencies/pom.xml b/spring-cloud-contract-dependencies/pom.xml index 69669f4082..ff928bb11f 100644 --- a/spring-cloud-contract-dependencies/pom.xml +++ b/spring-cloud-contract-dependencies/pom.xml @@ -50,6 +50,11 @@ spring-cloud-contract-stub-runner ${project.version} + + org.springframework.cloud + spring-cloud-contract-shade + ${project.version} + org.springframework.cloud spring-cloud-starter-contract-verifier diff --git a/spring-cloud-contract-shade/pom.xml b/spring-cloud-contract-shade/pom.xml new file mode 100644 index 0000000000..8f8b0f0715 --- /dev/null +++ b/spring-cloud-contract-shade/pom.xml @@ -0,0 +1,147 @@ + + + 4.0.0 + + org.springframework.cloud + spring-cloud-contract-parent + 1.1.2.BUILD-SNAPSHOT + .. + + spring-cloud-contract-shade + jar + Spring Cloud Contract Shaded Dependencies + Spring Cloud Contract Shaded Dependencies + + + org.eclipse.aether + aether-api + true + + + org.eclipse.aether + aether-impl + true + + + org.eclipse.aether + aether-transport-file + true + + + org.eclipse.aether + aether-transport-http + true + + + org.eclipse.aether + aether-connector-basic + true + + + org.apache.maven + maven-aether-provider + true + + + org.apache.maven + maven-settings-builder + true + + + + + + org.apache.maven.plugins + maven-shade-plugin + 2.4.3 + + + package + + shade + + + false + false + true + true + + + org.eclipse.aether.connector + shaded.org.eclipse.aether.connector + + + org.eclipse.aether.transport + shaded.org.eclipse.aether.transport + + + org.eclipse.aether.impl + shaded.org.eclipse.aether.impl + + + org.eclipse.aether.internal + shaded.org.eclipse.aether.internal + + + org.eclipse.aether.spi + shaded.org.eclipse.aether.spi + + + org.apache.maven + shaded.org.apache.maven + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.0 + + + unpack-dependencies + package + + unpack + + + + + org.springframework.cloud + spring-cloud-contract-shade + ${project.version} + sources + jar + false + ${project.build.directory}/sources + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.12 + + + add-source + package + + add-source + + + + ${project.build.directory}/sources + + + + + + + + diff --git a/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner/pom.xml b/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner/pom.xml index e01718dcd2..a24c4836a0 100644 --- a/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner/pom.xml +++ b/spring-cloud-contract-starters/spring-cloud-starter-contract-stub-runner/pom.xml @@ -33,6 +33,11 @@ org.springframework.cloud spring-cloud-contract-wiremock + + + org.eclipse.aether + aether-api + diff --git a/spring-cloud-contract-stub-runner/pom.xml b/spring-cloud-contract-stub-runner/pom.xml index 8c5de8700b..834ba7e100 100644 --- a/spring-cloud-contract-stub-runner/pom.xml +++ b/spring-cloud-contract-stub-runner/pom.xml @@ -17,6 +17,10 @@ org.springframework.cloud spring-cloud-contract-verifier + + org.springframework.cloud + spring-cloud-contract-shade + org.springframework.cloud spring-cloud-stream-test-support @@ -46,6 +50,11 @@ spring-boot-configuration-processor true + + org.eclipse.aether + aether-api + true + net.sf.jopt-simple jopt-simple @@ -66,34 +75,6 @@ spring-integration-java-dsl true - - org.eclipse.aether - aether-api - - - org.eclipse.aether - aether-impl - - - org.eclipse.aether - aether-transport-file - - - org.eclipse.aether - aether-transport-http - - - org.eclipse.aether - aether-connector-basic - - - org.apache.maven - maven-aether-provider - - - org.apache.maven - maven-settings-builder - junit junit diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/AetherFactories.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/AetherFactories.java index 086f9bb288..edc538e61a 100644 --- a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/AetherFactories.java +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/AetherFactories.java @@ -16,27 +16,28 @@ package org.springframework.cloud.contract.stubrunner; +import shaded.org.apache.maven.repository.internal.MavenRepositorySystemUtils; +import shaded.org.apache.maven.settings.Settings; +import shaded.org.apache.maven.settings.building.DefaultSettingsBuilderFactory; +import shaded.org.apache.maven.settings.building.DefaultSettingsBuildingRequest; +import shaded.org.apache.maven.settings.building.SettingsBuilder; +import shaded.org.apache.maven.settings.building.SettingsBuildingException; +import shaded.org.apache.maven.settings.building.SettingsBuildingRequest; +import shaded.org.apache.maven.settings.building.SettingsBuildingResult; +import shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory; +import shaded.org.eclipse.aether.impl.DefaultServiceLocator; +import shaded.org.eclipse.aether.spi.connector.RepositoryConnectorFactory; +import shaded.org.eclipse.aether.spi.connector.transport.TransporterFactory; +import shaded.org.eclipse.aether.transport.file.FileTransporterFactory; +import shaded.org.eclipse.aether.transport.http.HttpTransporterFactory; + import java.io.File; -import org.apache.maven.repository.internal.MavenRepositorySystemUtils; -import org.apache.maven.settings.Settings; -import org.apache.maven.settings.building.DefaultSettingsBuilderFactory; -import org.apache.maven.settings.building.DefaultSettingsBuildingRequest; -import org.apache.maven.settings.building.SettingsBuilder; -import org.apache.maven.settings.building.SettingsBuildingException; -import org.apache.maven.settings.building.SettingsBuildingRequest; -import org.apache.maven.settings.building.SettingsBuildingResult; import org.eclipse.aether.DefaultRepositorySystemSession; import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.RepositorySystemSession; -import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory; -import org.eclipse.aether.impl.DefaultServiceLocator; import org.eclipse.aether.repository.LocalRepository; import org.eclipse.aether.repository.RepositoryPolicy; -import org.eclipse.aether.spi.connector.RepositoryConnectorFactory; -import org.eclipse.aether.spi.connector.transport.TransporterFactory; -import org.eclipse.aether.transport.file.FileTransporterFactory; -import org.eclipse.aether.transport.http.HttpTransporterFactory; class AetherFactories { diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/build.gradle b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/build.gradle index 91b5ea51ff..5674941167 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/build.gradle +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/build.gradle @@ -59,6 +59,8 @@ configurations { dependencies { compile gradleApi() compile localGroovy() + compile "org.eclipse.aether:aether-api:${aetherVersion}" + compile("org.springframework.cloud:spring-cloud-contract-converters:${project.version}") { exclude(group: 'org.codehaus.groovy') } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/gradle.properties index 22d63db1d0..b7db6bcd34 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/gradle.properties @@ -17,4 +17,5 @@ nexusUsername = nexusPassword = verifierVersion=1.1.2.BUILD-SNAPSHOT -org.gradle.daemon=false \ No newline at end of file +org.gradle.daemon=false +aetherVersion=1.0.2.v20150114 \ No newline at end of file diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/pom.xml index b7475815cc..defb32fa49 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/pom.xml @@ -28,7 +28,6 @@ UTF-8 UTF-8 false - 1.0.2.v20150114 1.7 1.7 @@ -277,6 +276,36 @@ aether-api provided + + org.eclipse.aether + aether-impl + provided + + + org.eclipse.aether + aether-transport-file + provided + + + org.eclipse.aether + aether-transport-http + provided + + + org.eclipse.aether + aether-connector-basic + provided + + + org.apache.maven + maven-aether-provider + provided + + + org.apache.maven + maven-settings-builder + provided + org.apache.maven.shared