Migrate DSL contracts to 'contractTest' source set (#1531)

* Begin migration of contract DSL
* Updates to docs relevant to moving default contracts for Gradle
* Switch to conventional lazy properties so that Gradle can automatically handle directory existence for us
This commit is contained in:
Shannon Pamperl
2020-11-09 03:26:06 -06:00
committed by GitHub
parent a45422c5d5
commit e251dd13f3
5 changed files with 62 additions and 51 deletions

View File

@@ -247,7 +247,7 @@ public class ContractVerifierExtension implements Serializable {
this.imports = objects.listProperty(String.class).convention(new ArrayList<>());
this.staticImports = objects.listProperty(String.class).convention(new ArrayList<>());
this.contractsDslDir = objects.directoryProperty()
.convention(layout.getProjectDirectory().dir("src/test/resources/contracts"));
.convention(layout.getProjectDirectory().dir("src/contractTest/resources/contracts"));
this.generatedTestSourcesDir = objects.directoryProperty();
this.generatedTestJavaSourcesDir = objects.directoryProperty()
.convention(layout.getBuildDirectory().dir("generated-test-sources/contractTest/java"));

View File

@@ -18,8 +18,6 @@ package org.springframework.cloud.contract.verifier.plugin;
import java.io.File;
import javax.annotation.Nullable;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.artifacts.Configuration;
@@ -328,15 +326,6 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin<Project>
});
}
private @Nullable TaskProvider<Jar> stubsTask() {
try {
return project.getTasks().named(VERIFIER_STUBS_JAR_TASK_NAME, Jar.class);
}
catch (Exception e) {
return null;
}
}
@Deprecated
private boolean hasStubsPublication(PublishingExtension publishingExtension) {
try {
@@ -355,7 +344,18 @@ public class SpringCloudContractVerifierGradlePlugin implements Plugin<Project>
contractsCopyTask.getConvertToYaml().convention(extension.getConvertToYaml());
contractsCopyTask.getFailOnNoContracts().convention(extension.getFailOnNoContracts());
contractsCopyTask.getContractsDirectory().convention(extension.getContractsDslDir());
contractsCopyTask.getContractsDirectory()
.convention(extension.getContractsDslDir().map(contractsDslDir -> {
if (contractsDslDir.getAsFile().exists()) {
return contractsDslDir;
}
else {
project.getLogger().warn(
"Spring Cloud Contract Verifier Plugin: Falling back to legacy contracts directory in 'test' source set. Please switch to 'contractTest' source set as this will be removed in a future release.");
return project.getLayout().getProjectDirectory()
.dir("src/test/resources/contracts");
}
}));
contractsCopyTask.getContractDependency().getGroupId()
.convention(extension.getContractDependency().getGroupId());
contractsCopyTask.getContractDependency().getArtifactId()