Revamp extension to explicitly declare input types correctly

This commit is contained in:
Shannon Pamperl
2019-08-24 21:18:18 -05:00
parent 1c26678b3a
commit 3b16eed5cb
4 changed files with 580 additions and 414 deletions

View File

@@ -151,7 +151,7 @@ class GenerateServerTestsTask extends DefaultTask {
staticImports: extension.staticImports,
testMode: extension.testMode,
testFramework: extension.testFramework,
baseClassMappings: extension.baseClassMappings,
baseClassMappings: extension.baseClassMappings.getBaseClassMappings(),
assertJsonSize: extension.assertJsonSize,
failOnInProgress: extension.failOnInProgress,

View File

@@ -55,7 +55,6 @@ class SpringCloudContractVerifierGradlePlugin implements Plugin<Project> {
this.project = project
project.plugins.apply(GroovyPlugin)
ContractVerifierExtension extension = project.extensions.create(EXTENSION_NAME, ContractVerifierExtension)
setConfigurationDefaults(extension)
TaskProvider<ContractsCopyTask> copyContracts = createAndConfigureCopyContractsTask(extension)
TaskProvider<GenerateClientStubsFromDslTask> generateClientStubs = createAndConfigureGenerateClientStubs(extension, copyContracts)
@@ -101,16 +100,6 @@ class SpringCloudContractVerifierGradlePlugin implements Plugin<Project> {
}
}
private void setConfigurationDefaults(ContractVerifierExtension extension) {
extension.with {
it.contractsDslDir.convention(project.layout.projectDirectory.dir("src/test/resources/contracts"))
it.generatedTestSourcesDir.convention(project.layout.getBuildDirectory().dir("generated-test-sources/contracts"))
it.generatedTestResourcesDir.convention(project.layout.getBuildDirectory().dir("generated-test-resources/contracts"))
it.stubsOutputDir.convention(project.layout.getBuildDirectory().dir("stubs"))
}
}
private void createGenerateTestsTask(ContractVerifierExtension extension, TaskProvider<ContractsCopyTask> copyContracts) {
TaskProvider<GenerateServerTestsTask> task = project.tasks.register(GenerateServerTestsTask.TASK_NAME, GenerateServerTestsTask)
task.configure {

View File

@@ -1,5 +1,7 @@
package org.springframework.cloud.contract.verifier.plugin
import org.gradle.api.Project
import org.gradle.api.file.ProjectLayout
import org.gradle.api.internal.project.DefaultProject
import org.gradle.api.model.ObjectFactory
import org.gradle.api.plugins.GroovyPlugin
@@ -89,16 +91,16 @@ class ContractVerifierSpec extends Specification {
def "should compile"() {
given:
ObjectFactory objectFactory = Stub(ObjectFactory)
ContractVerifierExtension extension = new ContractVerifierExtension(objectFactory)
project.plugins.apply(SpringCloudContractVerifierGradlePlugin)
ContractVerifierExtension extension = project.getExtensions().findByType(ContractVerifierExtension)
extension.with {
// tag::package_with_base_classes[]
packageWithBaseClasses.set('com.example.base')
packageWithBaseClasses = 'com.example.base'
// end::package_with_base_classes[]
// tag::base_class_mappings[]
baseClassForTests.set("com.example.FooBase")
baseClassForTests = "com.example.FooBase"
baseClassMappings {
baseClassMapping('.*/com/.*', 'com.example.ComBase')
baseClassMapping('.*/bar/.*': 'com.example.BarBase')