From 5e84a3837720b9b7e34c57ca5a2d34d675eefa9b Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Thu, 1 Aug 2019 14:01:40 +0200 Subject: [PATCH] Revert " Added support for incremental Gradle builds" This reverts commit 31972419 --- docs/pom.xml | 4 - .../verifier/plugin/ContractsCopyTask.groovy | 39 ++---- .../GenerateClientStubsFromDslTask.groovy | 22 +--- .../plugin/GenerateServerTestsTask.groovy | 42 ++++--- .../plugin/PublishStubsToScmTask.groovy | 18 +-- ...ngCloudContractVerifierGradlePlugin.groovy | 116 +++++++----------- .../verifier/plugin/SampleProjectSpec.groovy | 17 +-- .../scenarioProject/build.gradle | 1 - .../ContractVerifierConfigProperties.java | 31 ----- 9 files changed, 82 insertions(+), 208 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 5eeb1fc5bb..99972b5f3f 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -35,10 +35,6 @@ docs - - pl.project13.maven - git-commit-id-plugin - org.apache.maven.plugins maven-dependency-plugin diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.groovy index 373a8a3cd9..fdc4cfe6f8 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/ContractsCopyTask.groovy @@ -19,10 +19,8 @@ package org.springframework.cloud.contract.verifier.plugin import groovy.transform.CompileDynamic import groovy.transform.CompileStatic import groovy.transform.PackageScope -import org.gradle.api.DefaultTask +import org.gradle.api.internal.ConventionTask import org.gradle.api.logging.Logger -import org.gradle.api.tasks.InputDirectory -import org.gradle.api.tasks.OutputDirectory import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.WorkResult @@ -39,30 +37,22 @@ import org.springframework.cloud.contract.verifier.converter.ToYamlConverter */ @PackageScope @CompileStatic -class ContractsCopyTask extends DefaultTask { +class ContractsCopyTask extends ConventionTask { private static final String ORIGINAL_PATH = "original" ContractVerifierExtension extension GradleContractsDownloader downloader - @InputDirectory - File input - - @OutputDirectory - File outputContractsFolder - @TaskAction void copy() { - ContractVerifierConfigProperties props = props() - if (logger.isDebugEnabled()) { - logger.debug("Config props [" + props + "]") - } - File file = getInput() + ContractVerifierConfigProperties props = ExtensionToProperties.fromExtension(getExtension()) + File file = getDownloader().downloadAndUnpackContractsIfRequired(getExtension(), props) + file = contractsSubDirIfPresent(logger, file) String antPattern = "${props.includedRootFolderAntPattern}*.*" String slashSeparatedGroupId = project.group.toString().replace(".", File.separator) String slashSeparatedAntPattern = antPattern.replace(slashSeparatedGroupId, project.group.toString()) - String root = root() - File outputContractsFolder = getOutputContractsFolder() + String root = root(props) + File outputContractsFolder = outputContractsFolder(root) project.logger.info("Downloading and unpacking files from [$file] to [$outputContractsFolder]. The inclusion ant patterns are [${antPattern}] and [${slashSeparatedAntPattern}]") copy(file, antPattern, slashSeparatedAntPattern, props, outputContractsFolder) if (getExtension().isConvertToYaml()) { @@ -71,26 +61,15 @@ class ContractsCopyTask extends DefaultTask { } - private File getInput() { - File file = getDownloader().downloadAndUnpackContractsIfRequired(getExtension(), props()) - return contractsSubDirIfPresent(logger, file) - } - - private ContractVerifierConfigProperties props() { - return ExtensionToProperties.fromExtension(getExtension()) - } - @CompileDynamic - private File getOutputContractsFolder() { - String root = root() + private File outputContractsFolder(String root) { File outputContractsFolder = outputFolder(root, "contracts") ext.contractsDslDir = outputContractsFolder return outputContractsFolder } @CompileDynamic - private String root() { - ContractVerifierConfigProperties props = props() + private String root(ContractVerifierConfigProperties props) { String root = OutputFolderBuilder.buildRootPath(project) ext.contractVerifierConfigProperties = props return root diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/GenerateClientStubsFromDslTask.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/GenerateClientStubsFromDslTask.groovy index a9b64ded57..23f72dbc99 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/GenerateClientStubsFromDslTask.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/GenerateClientStubsFromDslTask.groovy @@ -18,10 +18,8 @@ package org.springframework.cloud.contract.verifier.plugin import groovy.transform.CompileDynamic import groovy.transform.CompileStatic -import org.gradle.api.DefaultTask import org.gradle.api.Task -import org.gradle.api.tasks.InputDirectory -import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.internal.ConventionTask import org.gradle.api.tasks.TaskAction import org.springframework.cloud.contract.verifier.config.ContractVerifierConfigProperties @@ -35,12 +33,8 @@ import org.springframework.cloud.contract.verifier.converter.RecursiveFilesConve * @since 2.0.0 */ @CompileStatic -class GenerateClientStubsFromDslTask extends DefaultTask { +class GenerateClientStubsFromDslTask extends ConventionTask { - @InputDirectory - File contractsDslDir - - @OutputDirectory File stubsOutputDir ContractVerifierExtension configProperties @@ -51,8 +45,9 @@ class GenerateClientStubsFromDslTask extends DefaultTask { logger.info("Stubs output dir [${getStubsOutputDir()}") Task copyContractsTask = project.getTasksByName(SpringCloudContractVerifierGradlePlugin.COPY_CONTRACTS_TASK_NAME, false).first() ContractVerifierConfigProperties props = props(copyContractsTask) + File contractsDslDir = contractsDslDir(copyContractsTask, props) logger.info("Spring Cloud Contract Verifier Plugin: Invoking DSL to client stubs conversion") - props.contractsDslDir = getContractsDslDir() + props.contractsDslDir = contractsDslDir props.includedContracts = ".*" File outMappingsDir = OutputFolderBuilder.outputMappingsDir(project, getStubsOutputDir()) logger.info("Contracts dir is [${contractsDslDir}] output stubs dir is [${outMappingsDir}]") @@ -60,15 +55,6 @@ class GenerateClientStubsFromDslTask extends DefaultTask { converter.processFiles() } - private File getContractsDslDir() { - Task copyContractsTask = project.getTasksByName(SpringCloudContractVerifierGradlePlugin.COPY_CONTRACTS_TASK_NAME, false).first() - ContractVerifierConfigProperties props = props(copyContractsTask) - if (logger.isDebugEnabled()) { - logger.debug("Config props [" + props + "]") - } - return contractsDslDir(copyContractsTask, props) - } - @CompileDynamic private ContractVerifierConfigProperties props(Task task) { try { diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/GenerateServerTestsTask.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/GenerateServerTestsTask.groovy index c5af500337..ff0f13633b 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/GenerateServerTestsTask.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/GenerateServerTestsTask.groovy @@ -18,16 +18,16 @@ package org.springframework.cloud.contract.verifier.plugin import groovy.transform.CompileDynamic import groovy.transform.CompileStatic -import org.gradle.api.DefaultTask import org.gradle.api.GradleException import org.gradle.api.Task -import org.gradle.api.tasks.InputDirectory -import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.internal.ConventionTask import org.gradle.api.tasks.TaskAction +import org.springframework.cloud.contract.spec.Contract import org.springframework.cloud.contract.spec.ContractVerifierException import org.springframework.cloud.contract.verifier.TestGenerator import org.springframework.cloud.contract.verifier.config.ContractVerifierConfigProperties +import org.springframework.cloud.contract.verifier.config.TestFramework import static org.springframework.cloud.contract.verifier.plugin.SpringCloudContractVerifierGradlePlugin.COPY_CONTRACTS_TASK_NAME @@ -37,22 +37,20 @@ import static org.springframework.cloud.contract.verifier.plugin.SpringCloudCont * @since 1.0.0 */ @CompileStatic -class GenerateServerTestsTask extends DefaultTask { +class GenerateServerTestsTask extends ConventionTask { - @InputDirectory - File contractsDslDir - - @OutputDirectory File generatedTestSourcesDir + //TODO: How to deal with @Input*, @Output* and that domain object? ContractVerifierExtension configProperties GradleContractsDownloader downloader @TaskAction void generate() { logger.info("Generated test sources dir [${getGeneratedTestSourcesDir()}]") - ContractVerifierConfigProperties props = getProps() - File contractsDslDir = getContractsDslDir() + Task copyContractsTask = project.getTasksByName(COPY_CONTRACTS_TASK_NAME, false).first() + ContractVerifierConfigProperties props = props(copyContractsTask) + File contractsDslDir = contractsDslDir(copyContractsTask, props) if (getConfigProperties().getContractDependency()) { project.logger.debug("Updating the stubs locations for the case where we have a JAR with contracts") props.contractsDslDir = contractsDslDir @@ -61,6 +59,9 @@ class GenerateServerTestsTask extends DefaultTask { project.logger.info("Spring Cloud Contract Verifier Plugin: Invoking test sources generation") project.logger.info("Contracts are unpacked to [${contractsDslDir}]") project.logger.info("Included contracts are [${props.includedContracts}]") + def sourceSetType = getConfigProperties().getTestFramework() == TestFramework.SPOCK ? + "groovy" : "java" + applySourceSets(sourceSetType) try { props = props ?: ExtensionToProperties.fromExtension(getConfigProperties()) props.contractsDslDir = contractsDslDir @@ -73,9 +74,18 @@ class GenerateServerTestsTask extends DefaultTask { } } - private ContractVerifierConfigProperties getProps() { - Task copyContractsTask = project.getTasksByName(COPY_CONTRACTS_TASK_NAME, false).first() - return props(copyContractsTask) + @CompileDynamic + private void applySourceSets(sourceSetType) { + project.sourceSets.test."${sourceSetType}" { + project.logger. + info("Registering ${getConfigProperties().generatedTestSourcesDir} as test source directory") + srcDir getConfigProperties().getGeneratedTestSourcesDir() + } + project.sourceSets.test.resources { + project.logger. + info("Registering ${getConfigProperties().generatedTestResourcesDir} as test resource directory") + srcDir getConfigProperties().getGeneratedTestResourcesDir() + } } @CompileDynamic @@ -91,12 +101,6 @@ class GenerateServerTestsTask extends DefaultTask { } } - private File getContractsDslDir() { - Task copyContractsTask = project.getTasksByName(COPY_CONTRACTS_TASK_NAME, false).first() - ContractVerifierConfigProperties props = props(copyContractsTask) - return contractsDslDir(copyContractsTask, props) - } - @CompileDynamic private File contractsDslDir(Task task, ContractVerifierConfigProperties props) { try { diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/PublishStubsToScmTask.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/PublishStubsToScmTask.groovy index f3b1abd8db..28d8308d41 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/PublishStubsToScmTask.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/PublishStubsToScmTask.groovy @@ -17,8 +17,7 @@ package org.springframework.cloud.contract.verifier.plugin import groovy.transform.CompileStatic -import org.gradle.api.DefaultTask -import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.internal.ConventionTask import org.gradle.api.tasks.TaskAction import org.springframework.cloud.contract.stubrunner.ContractProjectUpdater @@ -34,16 +33,11 @@ import org.springframework.cloud.contract.stubrunner.StubRunnerOptions * @since 2.0.0 */ @CompileStatic -class PublishStubsToScmTask extends DefaultTask { - - private final ExtensionHolderSpec closureHolder = new ClosureHolder() - - @OutputDirectory +class PublishStubsToScmTask extends ConventionTask { File stubsOutputDir - ContractVerifierExtension configProperties - GradleContractsDownloader downloader + private final ExtensionHolderSpec closureHolder = new ClosureHolder() @TaskAction void publishStubsToScm() { @@ -73,12 +67,6 @@ class PublishStubsToScmTask extends DefaultTask { return true } - /** - * This method can be used to perform additional customization of - * the {@link ContractVerifierExtension}. - * - * @param closure to customize the {@link ContractVerifierExtension} - */ void customize(@DelegatesTo(ContractVerifierExtension) Closure closure) { project.logger.debug("Storing the extension closure") this.closureHolder.extensionClosure = closure diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/SpringCloudContractVerifierGradlePlugin.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/SpringCloudContractVerifierGradlePlugin.groovy index 355f9309f5..61c5e40d29 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/SpringCloudContractVerifierGradlePlugin.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/main/groovy/org/springframework/cloud/contract/verifier/plugin/SpringCloudContractVerifierGradlePlugin.groovy @@ -25,9 +25,6 @@ import org.gradle.api.plugins.GroovyPlugin import org.gradle.api.publish.maven.MavenPublication import org.gradle.api.publish.maven.plugins.MavenPublishPlugin import org.gradle.jvm.tasks.Jar - -import org.springframework.cloud.contract.verifier.config.TestFramework - /** * Gradle plugin for Spring Cloud Contract Verifier that from the DSL contract can *
    @@ -66,30 +63,9 @@ class SpringCloudContractVerifierGradlePlugin implements Plugin { Task copyContracts = createAndConfigureCopyContractsTask(stubsJar, downloader, extension) createAndConfigureMavenPublishPlugin(stubsJar, extension) createGenerateTestsTask(extension, copyContracts, downloader) - createAndConfigureGenerateClientStubs(extension, copyContracts, downloader) + createAndConfigureGenerateClientStubs(extension, copyContracts) createAndConfigurePublishStubsToScmTask(extension, downloader) addIdeaTestSources(project, extension) - applyDefaultSourceSets(extension) - } - - private void applyDefaultSourceSets(ContractVerifierExtension extension) { - def sourceSetType = extension.getTestFramework() == TestFramework.SPOCK ? - "groovy" : "java" - applySourceSets(extension, sourceSetType) - } - - @CompileDynamic - private void applySourceSets(ContractVerifierExtension extension, sourceSetType) { - project.sourceSets.test."${sourceSetType}" { - project.logger. - info("Registering ${extension.generatedTestSourcesDir} as test source directory") - srcDir extension.getGeneratedTestSourcesDir() - } - project.sourceSets.test.resources { - project.logger. - info("Registering ${extension.generatedTestResourcesDir} as test resource directory") - srcDir extension.getGeneratedTestResourcesDir() - } } @CompileDynamic @@ -132,46 +108,49 @@ class SpringCloudContractVerifierGradlePlugin implements Plugin { @CompileDynamic private void createGenerateTestsTask(ContractVerifierExtension extension, Task copyContracts, GradleContractsDownloader gradleContractsDownloader) { - GenerateServerTestsTask task = project.tasks.create(GENERATE_SERVER_TESTS_TASK_NAME, GenerateServerTestsTask) + Task task = project.tasks.create(GENERATE_SERVER_TESTS_TASK_NAME, GenerateServerTestsTask) task.description = "Generate server tests from the contracts" task.group = GROUP_NAME - task.with { - downloader = gradleContractsDownloader - generatedTestSourcesDir = extension.generatedTestSourcesDir - configProperties = extension + task.conventionMapping.with { + downloader = { gradleContractsDownloader } + generatedTestSourcesDir = { extension.generatedTestSourcesDir } + configProperties = { extension } } task.enabled = !project.gradle.startParameter.excludedTaskNames.contains("test") task.dependsOn copyContracts project.tasks.findByName("compileTestJava").dependsOn(task) } + @CompileDynamic private void createAndConfigurePublishStubsToScmTask(ContractVerifierExtension extension, GradleContractsDownloader gradleContractsDownloader) { - PublishStubsToScmTask task = project.tasks.create(PUBLISH_STUBS_TO_SCM_TASK_NAME, PublishStubsToScmTask) + Task task = project.tasks.create(PUBLISH_STUBS_TO_SCM_TASK_NAME, PublishStubsToScmTask) task.description = "The generated stubs get committed to the SCM repo and pushed to origin" task.group = GROUP_NAME - task.with { - downloader = gradleContractsDownloader - configProperties = extension - stubsOutputDir = extension.stubsOutputDir + task.conventionMapping.with { + downloader = { gradleContractsDownloader } + configProperties = { extension } + stubsOutputDir = { extension.stubsOutputDir } } task.dependsOn DSL_TO_CLIENT_TASK_NAME } + @CompileDynamic private Task createAndConfigureGenerateClientStubs(ContractVerifierExtension extension, - Task copyContracts, GradleContractsDownloader gradleContractsDownloader) { - GenerateClientStubsFromDslTask task = project.tasks.create(DSL_TO_CLIENT_TASK_NAME, GenerateClientStubsFromDslTask) + Task copyContracts) { + Task task = project.tasks.create(DSL_TO_CLIENT_TASK_NAME, GenerateClientStubsFromDslTask) task.description = "Generate client stubs from the contracts" task.group = GROUP_NAME - task.with { - downloader = gradleContractsDownloader - stubsOutputDir = extension.stubsOutputDir - configProperties = extension + task.conventionMapping.with { + downloader = { gradleContractsDownloader } + stubsOutputDir = { extension.stubsOutputDir } + configProperties = { extension } } task.dependsOn copyContracts return task } + @CompileDynamic private Task createAndConfigureStubsJarTasks(ContractVerifierExtension extension) { Task task = stubsTask() if (task) { @@ -179,31 +158,21 @@ class SpringCloudContractVerifierGradlePlugin implements Plugin { return task } else { - task = createStubsJarTask(extension) + task = project.tasks.create(type: Jar, name: VERIFIER_STUBS_JAR_TASK_NAME, + dependsOn: DSL_TO_CLIENT_TASK_NAME) { + baseName = project.name + classifier = extension.stubsSuffix + from { extension.stubsOutputDir ?: project.file("${project.buildDir}/stubs") } + } task.description = "Creates the stubs JAR task" task.group = GROUP_NAME - setArchives(task) + project.artifacts { + archives task + } return task } } - @CompileDynamic - private Task createStubsJarTask(ContractVerifierExtension extension) { - return project.tasks.create(type: Jar, name: VERIFIER_STUBS_JAR_TASK_NAME, - dependsOn: DSL_TO_CLIENT_TASK_NAME) { - getArchiveBaseName().set(project.name) - getArchiveClassifier().set(extension.stubsSuffix) - from { extension.stubsOutputDir ?: project.file("${project.buildDir}/stubs") } - } - } - - @CompileDynamic - private void setArchives(Task task) { - project.artifacts { - archives task - } - } - private Task stubsTask() { try { return project.tasks.getByName(VERIFIER_STUBS_JAR_TASK_NAME) @@ -213,20 +182,22 @@ class SpringCloudContractVerifierGradlePlugin implements Plugin { } } + @CompileDynamic private Task createAndConfigureCopyContractsTask(Task stubs, GradleContractsDownloader gradleContractsDownloader, ContractVerifierExtension contractVerifierExtension) { - ContractsCopyTask task = project.tasks.create(COPY_CONTRACTS_TASK_NAME, ContractsCopyTask) + Task task = project.tasks.create(COPY_CONTRACTS_TASK_NAME, ContractsCopyTask) task.description = "Copies contracts to the output folder" task.group = GROUP_NAME - task.with { - downloader = gradleContractsDownloader - extension = contractVerifierExtension + task.conventionMapping.with { + downloader = { gradleContractsDownloader } + extension = { contractVerifierExtension } } stubs.dependsOn task return task } + @CompileDynamic private void createAndConfigureMavenPublishPlugin(Task stubsTask, ContractVerifierExtension extension) { if (!classIsOnClasspath("org.gradle.api.publish.maven.plugins.MavenPublishPlugin")) { project.logger.debug("Maven Publish Plugin is not present - won't add default publication") @@ -242,7 +213,12 @@ class SpringCloudContractVerifierGradlePlugin implements Plugin { def publishingExtension = project.extensions.findByName('publishing') if (!hasPublication(publishingExtension)) { project.logger.debug("Spring Cloud Contract Verifier Plugin: Stubs publication is not present - will create one") - setPublications(publishingExtension, stubsTask) + publishingExtension.publications { + stubs(MavenPublication) { + artifactId "${project.name}" + artifact stubsTask + } + } } else { project.logger.info("Spring Cloud Contract Verifier Plugin: Stubs publication was present - won't create a new one. Remember about passing stubs as artifact") @@ -251,16 +227,6 @@ class SpringCloudContractVerifierGradlePlugin implements Plugin { } } - @CompileDynamic - private void setPublications(def publishingExtension, Task stubsTask) { - publishingExtension.publications { - stubs(MavenPublication) { - artifactId "${project.name}" - artifact stubsTask - } - } - } - @CompileDynamic private boolean hasPublication(def publishingExtension) { try { diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/groovy/org/springframework/cloud/contract/verifier/plugin/SampleProjectSpec.groovy b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/groovy/org/springframework/cloud/contract/verifier/plugin/SampleProjectSpec.groovy index d59cb7b6e8..552fe5173f 100755 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/groovy/org/springframework/cloud/contract/verifier/plugin/SampleProjectSpec.groovy +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/groovy/org/springframework/cloud/contract/verifier/plugin/SampleProjectSpec.groovy @@ -19,8 +19,6 @@ package org.springframework.cloud.contract.verifier.plugin import org.junit.Ignore import spock.lang.Stepwise -import static org.gradle.testkit.runner.TaskOutcome.UP_TO_DATE - @Stepwise @Ignore class SampleProjectSpec extends ContractVerifierIntegrationSpec { @@ -34,33 +32,22 @@ class SampleProjectSpec extends ContractVerifierIntegrationSpec { def "should pass basic flow for Spock"() { given: assert fileExists('build.gradle') - when: + expect: String[] args = ["check", "publishToMavenLocal", "--debug"] as String[] if (WORK_OFFLINE) { args << "--offline" } runTasksSuccessfully(args) - then: jarContainsContractVerifierContracts('fraudDetectionService/build/libs') - when: "running generation without change inputs" - def secondExecutionResult = runTasksSuccessfully() - then: "tasks should be up-to-date" - validateTasksOutcome(secondExecutionResult, UP_TO_DATE, 'generateClientStubs', 'generateContractTests', 'copyContracts') - } def "should pass basic flow for JUnit"() { given: switchToJunitTestFramework() assert fileExists('build.gradle') - when: + expect: runTasksSuccessfully(checkAndPublishToMavenLocal()) - then: jarContainsContractVerifierContracts('fraudDetectionService/build/libs') - when: "running generation without change inputs" - def secondExecutionResult = runTasksSuccessfully() - then: "tasks should be up-to-date" - validateTasksOutcome(secondExecutionResult, UP_TO_DATE, 'generateClientStubs', 'generateContractTests', 'copyContracts') } } diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/build.gradle b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/build.gradle index 9d6e180da1..0b1c78981f 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/build.gradle +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/build.gradle @@ -43,7 +43,6 @@ subprojects { sourceCompatibility = 1.8 targetCompatibility = 1.8 - version = "1.0.0" repositories { mavenCentral() diff --git a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/ContractVerifierConfigProperties.java b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/ContractVerifierConfigProperties.java index e05edd65be..3693d49a62 100644 --- a/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/ContractVerifierConfigProperties.java +++ b/spring-cloud-contract-verifier/src/main/groovy/org/springframework/cloud/contract/verifier/config/ContractVerifierConfigProperties.java @@ -18,10 +18,8 @@ package org.springframework.cloud.contract.verifier.config; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Map; -import java.util.StringJoiner; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -368,33 +366,4 @@ public class ContractVerifierConfigProperties { this.excludeBuildFolders = excludeBuildFolders; } - @Override - public String toString() { - return new StringJoiner(", ", - ContractVerifierConfigProperties.class.getSimpleName() + "[", "]") - .add("targetFramework=" + targetFramework) - .add("testFramework=" + testFramework).add("testMode=" + testMode) - .add("basePackageForTests='" + basePackageForTests + "'") - .add("baseClassForTests='" + baseClassForTests + "'") - .add("nameSuffixForTests='" + nameSuffixForTests + "'") - .add("ruleClassForTests='" + ruleClassForTests + "'") - .add("excludedFiles=" + excludedFiles) - .add("includedFiles=" + includedFiles) - .add("ignoredFiles=" + ignoredFiles) - .add("imports=" + Arrays.toString(imports)) - .add("staticImports=" + Arrays.toString(staticImports)) - .add("contractsDslDir=" + contractsDslDir) - .add("generatedTestSourcesDir=" + generatedTestSourcesDir) - .add("generatedTestResourcesDir=" + generatedTestResourcesDir) - .add("stubsOutputDir=" + stubsOutputDir) - .add("stubsSuffix='" + stubsSuffix + "'") - .add("assertJsonSize=" + assertJsonSize) - .add("includedContracts='" + includedContracts + "'") - .add("includedRootFolderAntPattern='" - + includedRootFolderAntPattern + "'") - .add("packageWithBaseClasses='" + packageWithBaseClasses + "'") - .add("baseClassMappings=" + baseClassMappings) - .add("excludeBuildFolders=" + excludeBuildFolders).toString(); - } - }