Gradle - make GenerateTask properties optional (#2185)

This allows easier creation of custom `GenerateTask`. Specifically, this makes:

 - generateModelTests
 - generateModelDocumentation
 - generateApiTests
 - generateApiDocumentation
 - withXml

optional, following the same pattern as other properties in GenerateTask.

Without this change, we get `java.lang.IllegalStateException: No value
has been specified for this provider.` until these properties are
specified for the task, when attempting to define a custom generate task
(such as one to generate API docs).
This commit is contained in:
Kevin Howell 2019-02-21 18:18:47 -05:00 committed by Jim Schubert
parent 0650d2f60e
commit 329843bc92

View File

@ -403,11 +403,25 @@ open class GenerateTask : DefaultTask() {
GeneratorProperties.clearProperty(CodegenConstants.APIS)
}
GeneratorProperties.setProperty(CodegenConstants.API_DOCS, generateApiDocumentation.get().toString())
GeneratorProperties.setProperty(CodegenConstants.MODEL_DOCS, generateModelDocumentation.get().toString())
GeneratorProperties.setProperty(CodegenConstants.MODEL_TESTS, generateModelTests.get().toString())
GeneratorProperties.setProperty(CodegenConstants.API_TESTS, generateApiTests.get().toString())
GeneratorProperties.setProperty(CodegenConstants.WITH_XML, withXml.get().toString())
if (generateApiDocumentation.isPresent) {
GeneratorProperties.setProperty(CodegenConstants.API_DOCS, generateApiDocumentation.get().toString())
}
if (generateModelDocumentation.isPresent) {
GeneratorProperties.setProperty(CodegenConstants.MODEL_DOCS, generateModelDocumentation.get().toString())
}
if (generateModelTests.isPresent) {
GeneratorProperties.setProperty(CodegenConstants.MODEL_TESTS, generateModelTests.get().toString())
}
if (generateApiTests.isPresent) {
GeneratorProperties.setProperty(CodegenConstants.API_TESTS, generateApiTests.get().toString())
}
if (withXml.isPresent) {
GeneratorProperties.setProperty(CodegenConstants.WITH_XML, withXml.get().toString())
}
// now override with any specified parameters
verbose.ifNotEmpty { value ->