diff --git a/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptBase.groovy b/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptBase.groovy index e716760..3c9d6fc 100644 --- a/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptBase.groovy +++ b/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptBase.groovy @@ -1,6 +1,5 @@ package com.jessebrault.ssg.buildscript - import com.jessebrault.ssg.buildscript.Build.AllBuilds import com.jessebrault.ssg.buildscript.dsl.AllBuildsDelegate import com.jessebrault.ssg.buildscript.dsl.BuildDelegate @@ -16,7 +15,7 @@ abstract class BuildScriptBase extends Script { void build( @DelegatesTo(value = BuildDelegate, strategy = Closure.DELEGATE_FIRST) - Closure buildClosure + Closure buildClosure ) { this.build('build' + this.currentBuildNumber, buildClosure) } @@ -24,7 +23,7 @@ abstract class BuildScriptBase extends Script { void build( String name, @DelegatesTo(value = BuildDelegate, strategy = Closure.DELEGATE_FIRST) - Closure buildClosure + Closure buildClosure ) { def d = new BuildDelegate().tap { it.name = name @@ -38,7 +37,7 @@ abstract class BuildScriptBase extends Script { void allBuilds( @DelegatesTo(value = AllBuildsDelegate, strategy = Closure.DELEGATE_FIRST) - Closure allBuildsClosure + Closure allBuildsClosure ) { def d = new AllBuildsDelegate() allBuildsClosure.setDelegate(d) diff --git a/api/src/main/groovy/com/jessebrault/ssg/buildscript/DefaultBuildScriptConfiguratorFactory.groovy b/api/src/main/groovy/com/jessebrault/ssg/buildscript/DefaultBuildScriptConfiguratorFactory.groovy index 979ae77..144ac45 100644 --- a/api/src/main/groovy/com/jessebrault/ssg/buildscript/DefaultBuildScriptConfiguratorFactory.groovy +++ b/api/src/main/groovy/com/jessebrault/ssg/buildscript/DefaultBuildScriptConfiguratorFactory.groovy @@ -27,9 +27,6 @@ final class DefaultBuildScriptConfiguratorFactory implements BuildScriptConfigur pageTypes << PageTypes.GSP templateTypes << TemplateTypes.GSP partTypes << PartTypes.GSP - - //noinspection GroovyUnnecessaryReturn - return } providers { types -> @@ -59,27 +56,18 @@ final class DefaultBuildScriptConfiguratorFactory implements BuildScriptConfigur } it.allTextsProvider += sourceProviders.textsProvider it.allPartsProvider += sourceProviders.partsProvider - - //noinspection GroovyUnnecessaryReturn - return } register('pageToHtml', PageToHtmlTaskFactory::new) { it.pagesProvider += sourceProviders.pagesProvider it.allTextsProvider += sourceProviders.textsProvider it.allPartsProvider += sourceProviders.partsProvider - - //noinspection GroovyUnnecessaryReturn - return } } } it.build('default') { outputDir = new File('build') - - //noinspection GroovyUnnecessaryReturn - return } } } diff --git a/api/src/main/groovy/com/jessebrault/ssg/buildscript/OutputDirFunctions.groovy b/api/src/main/groovy/com/jessebrault/ssg/buildscript/OutputDirFunctions.groovy index 01602b6..01fd39b 100644 --- a/api/src/main/groovy/com/jessebrault/ssg/buildscript/OutputDirFunctions.groovy +++ b/api/src/main/groovy/com/jessebrault/ssg/buildscript/OutputDirFunctions.groovy @@ -1,14 +1,12 @@ package com.jessebrault.ssg.buildscript -import groovy.transform.stc.ClosureParams -import groovy.transform.stc.SimpleType import org.jetbrains.annotations.Nullable import java.util.function.Function final class OutputDirFunctions { - static final Function DEFAULT = of { new OutputDir(it.name) } + static final Function DEFAULT = { Build build -> new OutputDir(build.name) } static Function concat( Function f0, @@ -17,19 +15,12 @@ final class OutputDirFunctions { f1 == OutputDirFunctions.DEFAULT ? f0 : f1 } - static Function of( - @ClosureParams(value = SimpleType, options = 'com.jessebrault.ssg.buildscript.Build') - Closure closure - ) { - closure as Function - } - static Function of(File dir) { - of { new OutputDir(dir) } + return { new OutputDir(dir) } } static Function of(@Nullable String path) { - of { new OutputDir(path) } + return { new OutputDir(path) } } private OutputDirFunctions() {} diff --git a/api/src/main/groovy/com/jessebrault/ssg/buildscript/dsl/AbstractBuildDelegate.groovy b/api/src/main/groovy/com/jessebrault/ssg/buildscript/dsl/AbstractBuildDelegate.groovy index 031a20a..18758fa 100644 --- a/api/src/main/groovy/com/jessebrault/ssg/buildscript/dsl/AbstractBuildDelegate.groovy +++ b/api/src/main/groovy/com/jessebrault/ssg/buildscript/dsl/AbstractBuildDelegate.groovy @@ -9,11 +9,11 @@ import groovy.transform.stc.SimpleType abstract class AbstractBuildDelegate { - private final Collection> siteSpecClosures = [] - private final Collection> globalsClosures = [] - private final Collection> typesClosures = [] - private final Collection> sourcesClosures = [] - private final Collection> taskFactoriesClosures = [] + private final Collection> siteSpecClosures = [] + private final Collection> globalsClosures = [] + private final Collection> typesClosures = [] + private final Collection> sourcesClosures = [] + private final Collection> taskFactoriesClosures = [] abstract T getResult() @@ -73,21 +73,21 @@ abstract class AbstractBuildDelegate { void siteSpec( @DelegatesTo(value = SiteSpecDelegate, strategy = Closure.DELEGATE_FIRST) - Closure siteSpecClosure + Closure siteSpecClosure ) { this.siteSpecClosures << siteSpecClosure } void globals( @DelegatesTo(value = GlobalsDelegate, strategy = Closure.DELEGATE_FIRST) - Closure globalsClosure + Closure globalsClosure ) { this.globalsClosures << globalsClosure } void types( @DelegatesTo(value = TypesDelegate, strategy = Closure.DELEGATE_FIRST) - Closure typesClosure + Closure typesClosure ) { this.typesClosures << typesClosure } @@ -95,7 +95,7 @@ abstract class AbstractBuildDelegate { void providers( @DelegatesTo(value = SourceProvidersDelegate, strategy = Closure.DELEGATE_FIRST) @ClosureParams(value = SimpleType, options = 'com.jessebrault.ssg.buildscript.TypesContainer') - Closure providersClosure + Closure providersClosure ) { this.sourcesClosures << providersClosure } @@ -103,7 +103,7 @@ abstract class AbstractBuildDelegate { void taskFactories( @DelegatesTo(value = TaskFactoriesDelegate, strategy = Closure.DELEGATE_FIRST) @ClosureParams(value = SimpleType, options = 'com.jessebrault.ssg.buildscript.SourceProviders') - Closure taskFactoriesClosure + Closure taskFactoriesClosure ) { this.taskFactoriesClosures << taskFactoriesClosure } diff --git a/api/src/main/groovy/com/jessebrault/ssg/buildscript/dsl/TaskFactoriesDelegate.groovy b/api/src/main/groovy/com/jessebrault/ssg/buildscript/dsl/TaskFactoriesDelegate.groovy index 8840769..015272c 100644 --- a/api/src/main/groovy/com/jessebrault/ssg/buildscript/dsl/TaskFactoriesDelegate.groovy +++ b/api/src/main/groovy/com/jessebrault/ssg/buildscript/dsl/TaskFactoriesDelegate.groovy @@ -2,9 +2,8 @@ package com.jessebrault.ssg.buildscript.dsl import com.jessebrault.ssg.task.TaskFactory import com.jessebrault.ssg.task.TaskFactorySpec -import groovy.transform.stc.ClosureParams -import groovy.transform.stc.SecondParam +import java.util.function.Consumer import java.util.function.Supplier final class TaskFactoriesDelegate { @@ -25,18 +24,17 @@ final class TaskFactoriesDelegate { def void register( String name, Supplier factorySupplier, - @ClosureParams(value = SecondParam.FirstGenericType) - Closure factoryConfigureClosure + Consumer factoryConfigurator ) { this.checkNotRegistered(name) - this.specs[name] = new TaskFactorySpec(factorySupplier, [factoryConfigureClosure]) + this.specs[name] = new TaskFactorySpec(factorySupplier, [factoryConfigurator as Closure]) } - void configure(String name, Closure factoryConfigureClosure) { + void configure(String name, Consumer factoryConfigureClosure) { if (!this.specs.containsKey(name)) { throw new IllegalArgumentException("there is no TaskFactory registered by name ${ name }") } - this.specs[name].configureClosures << factoryConfigureClosure + this.specs[name].configureClosures << (factoryConfigureClosure as Closure) } Map getResult() {