Merge branch '4.0.x'

This commit is contained in:
Marcin Grzejszczak
2023-09-25 12:28:29 +02:00
9 changed files with 27 additions and 24 deletions

View File

@@ -18,5 +18,5 @@ You can read more about Spring Cloud Contract by going to https://spring.io/proj
= Contributing
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/docs/src/main/asciidoc/contributing.adoc[]
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/4.0.x/docs/src/main/asciidoc/contributing.adoc[]

View File

@@ -60,7 +60,7 @@
<maven.version>3.6.3</maven.version>
<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
<!-- Resolver has to be aligned with Maven (e.g resolver 1.4 and Maven 3.6 or resolver 1.3 and Maven 3.5) -->
<maven.resolver.version>1.4.1</maven.resolver.version>
<maven.resolver.version>1.4.2</maven.resolver.version>
<xpath2.processor.version>2.1.100</xpath2.processor.version>
<xerces.version>2.12.2</xerces.version>
<jacoco-maven-plugin.version>0.8.8</jacoco-maven-plugin.version>

View File

@@ -13,7 +13,7 @@
<checker.version>3.25.0</checker.version>
<maven-dependency-plugin.version>3.6.0</maven-dependency-plugin.version>
<build-helper-maven-plugin.version>3.0.0</build-helper-maven-plugin.version>
<plexus-utils.version>3.5.0</plexus-utils.version>
<plexus-utils.version>3.5.1</plexus-utils.version>
<apache-client.version>4.5.13</apache-client.version>
</properties>
<parent>

View File

@@ -139,11 +139,14 @@ class GenerateServerTestsTask extends DefaultTask {
getLogger().info("Contracts are unpacked to [{}]", contractsDslDir);
getLogger().info("Included contracts are [{}]", includedContracts);
ContractVerifierConfigProperties properties = toConfigProperties(contractsDslDir, includedContracts, generatedTestSources, generatedTestResources);
OutputStream os;
OutputStream stdout;
OutputStream stderr;
if (getLogger().isDebugEnabled()) {
os = new ByteArrayOutputStream();
stdout = new ByteArrayOutputStream();
stderr = stdout;
} else {
os = NullOutputStream.INSTANCE;
stdout = NullOutputStream.INSTANCE;
stderr = new ByteArrayOutputStream();
}
try {
String propertiesJson = new ObjectMapper().writeValueAsString(properties);
@@ -151,15 +154,16 @@ class GenerateServerTestsTask extends DefaultTask {
exec.getMainClass().set("org.springframework.cloud.contract.verifier.TestGeneratorApplication");
exec.classpath(classpath);
exec.args(quoteAndEscape(propertiesJson));
exec.setStandardOutput(os);
exec.setErrorOutput(os);
exec.setStandardOutput(stdout);
exec.setErrorOutput(stderr);
});
}
catch (Exception e) {
getLogger().error(stderr.toString());
throw new GradleException("Spring Cloud Contract Verifier Plugin exception: " + e.getMessage(), e);
} finally {
if (getLogger().isDebugEnabled()) {
getLogger().debug(os.toString());
getLogger().debug(stdout.toString());
}
}
}

View File

@@ -33,20 +33,19 @@ import org.gradle.api.attributes.Usage;
import org.gradle.api.file.Directory;
import org.gradle.api.file.FileCollection;
import org.gradle.api.file.ProjectLayout;
import org.gradle.api.internal.HasConvention;
import org.gradle.api.logging.Logger;
import org.gradle.api.logging.Logging;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.plugins.GroovyPlugin;
import org.gradle.api.plugins.JavaBasePlugin;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.JavaPluginConvention;
import org.gradle.api.plugins.JavaPluginExtension;
import org.gradle.api.plugins.JvmTestSuitePlugin;
import org.gradle.api.plugins.jvm.JvmTestSuite;
import org.gradle.api.provider.Property;
import org.gradle.api.provider.Provider;
import org.gradle.api.provider.ProviderFactory;
import org.gradle.api.tasks.GroovySourceSet;
import org.gradle.api.tasks.GroovySourceDirectorySet;
import org.gradle.api.tasks.SourceSet;
import org.gradle.api.tasks.SourceSetContainer;
import org.gradle.api.tasks.SourceSetOutput;
@@ -131,7 +130,7 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin<Project>
registerPublishStubsToScmTask(extension, generateClientStubs);
JavaPluginConvention javaConvention = project.getConvention().getPlugin(JavaPluginConvention.class);
JavaPluginExtension javaExtension = project.getExtensions().getByType(JavaPluginExtension.class);
TestingExtension testing = project.getExtensions().getByType(TestingExtension.class);
testing.getSuites().register("contractTest", JvmTestSuite.class, contractTestSuite -> {
contractTestSuite.useJUnitJupiter();
@@ -150,7 +149,7 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin<Project>
});
contractTestSuite.sources(sourceSet -> {
configureSourceSets(extension, javaConvention, sourceSet);
configureSourceSets(extension, javaExtension, sourceSet);
project.getTasks().named(sourceSet.getProcessResourcesTaskName(), processContractTestResourcesTask -> {
processContractTestResourcesTask.dependsOn(generateServerTestsTaskProvider);
@@ -181,12 +180,12 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin<Project>
project.getDependencies().add(CONTRACT_TEST_GENERATOR_RUNTIME_CLASSPATH_CONFIGURATION_NAME, "org.springframework.cloud:spring-cloud-contract-converters:" + SPRING_CLOUD_VERSION);
}
private SourceSet configureSourceSets(ContractVerifierExtension extension, JavaPluginConvention javaConvention, SourceSet contractTest) {
SourceSetContainer sourceSets = javaConvention.getSourceSets();
private SourceSet configureSourceSets(ContractVerifierExtension extension, JavaPluginExtension javaExtension, SourceSet contractTest) {
SourceSetContainer sourceSets = javaExtension.getSourceSets();
contractTest.getJava().srcDirs(extension.getGeneratedTestJavaSourcesDir());
project.getPlugins().withType(GroovyPlugin.class, groovyPlugin -> {
GroovySourceSet groovy = ((HasConvention) contractTest).getConvention().getPlugin(GroovySourceSet.class);
groovy.getGroovy().srcDirs(extension.getGeneratedTestGroovySourcesDir());
GroovySourceDirectorySet groovy = contractTest.getExtensions().getByType(GroovySourceDirectorySet.class);
groovy.srcDirs(extension.getGeneratedTestGroovySourcesDir());
});
contractTest.getResources().srcDirs(extension.getGeneratedTestResourcesDir());

View File

@@ -26,14 +26,14 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<dependency.locations.enabled>false</dependency.locations.enabled>
<maven.plugin.plugin.version>3.6.1</maven.plugin.plugin.version>
<maven.plugin.plugin.version>3.6.4</maven.plugin.plugin.version>
<maven-failsafe-plugin.version>3.0.0-M3</maven-failsafe-plugin.version><!-- @releaser:version-check-off -->
<asciidoctor-maven-plugin.version>1.6.0</asciidoctor-maven-plugin.version>
<maven-filtering.version>3.1.1</maven-filtering.version>
<maven-scm-publish-plugin.version>3.0.0</maven-scm-publish-plugin.version>
<maven-project-info-reports-plugin.version>3.1.1</maven-project-info-reports-plugin.version>
<maven-plugin-annotations.version>3.6.1</maven-plugin-annotations.version>
<maven-plugin-annotations.version>3.6.4</maven-plugin-annotations.version>
<maven-archiver.version>3.5.1</maven-archiver.version>
<plexus-archiver.version>4.8.0</plexus-archiver.version>
<coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>

View File

@@ -1,4 +1,4 @@
:branch: main
:branch: 4.0.x
== Java Project with JUnit Tests

View File

@@ -1,4 +1,4 @@
:branch: main
:branch: 4.0.x
== Groovy Project with Spock Specifications

View File

@@ -118,7 +118,7 @@
<groupId>com.example.github</groupId>
<artifactId>github-webhook</artifactId>
<classifier>stubs</classifier>
<version>1.0.0.M1-190120_193303-VERSION</version><!-- @releaser:version-check-off -->
<version>1.0.0.M1-20180806_102441-VERSION</version><!-- @releaser:version-check-off -->
<scope>test</scope>
<exclusions>
<exclusion>
@@ -131,7 +131,7 @@
<groupId>com.example.github</groupId>
<artifactId>github-analytics</artifactId>
<classifier>stubs</classifier>
<version>1.0.0.M1-190120_105104-VERSION</version><!-- @releaser:version-check-off -->
<version>1.0.0.M1-20180613_114136-VERSION</version><!-- @releaser:version-check-off -->
<scope>test</scope>
<exclusions>
<exclusion>