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 b56cc0f..cee4405 100644 --- a/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptBase.groovy +++ b/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptBase.groovy @@ -24,6 +24,7 @@ abstract class BuildScriptBase extends Script { private String extending private Closure buildClosure = { } private File projectRoot + private String buildName /* --- Instance DSL helpers --- */ @@ -55,6 +56,11 @@ abstract class BuildScriptBase extends Script { this.projectRoot = requireNonNull(projectRoot) } + @ApiStatus.Internal + void setBuildName(String buildName) { + this.buildName = buildName + } + @ApiStatus.Internal @Nullable String getExtending() { diff --git a/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptGetter.groovy b/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptGetter.groovy index f6f4b26..b7d4f38 100644 --- a/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptGetter.groovy +++ b/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptGetter.groovy @@ -22,6 +22,7 @@ final class BuildScriptGetter { def buildScript = scriptClass.getConstructor().newInstance() buildScript.binding = new Binding(this.scriptCliArgs) buildScript.projectRoot = projectDir + buildScript.buildName = fqn buildScript.run() buildScript } diff --git a/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptToBuildSpecConverter.groovy b/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptToBuildSpecConverter.groovy index 53acaad..7d503a3 100644 --- a/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptToBuildSpecConverter.groovy +++ b/api/src/main/groovy/com/jessebrault/ssg/buildscript/BuildScriptToBuildSpecConverter.groovy @@ -39,6 +39,7 @@ class BuildScriptToBuildSpecConverter { } def delegate = this.buildDelegateSupplier.get() + delegate.outputDir.setConvention(new File(name.replaceAll(/\./, File.separator))) while (!buildHierarchy.isEmpty()) { def currentScript = buildHierarchy.pop() currentScript.buildClosure.delegate = delegate diff --git a/api/src/main/groovy/com/jessebrault/ssg/buildscript/delegates/BuildDelegate.groovy b/api/src/main/groovy/com/jessebrault/ssg/buildscript/delegates/BuildDelegate.groovy index 43a6df2..acb876d 100644 --- a/api/src/main/groovy/com/jessebrault/ssg/buildscript/delegates/BuildDelegate.groovy +++ b/api/src/main/groovy/com/jessebrault/ssg/buildscript/delegates/BuildDelegate.groovy @@ -20,7 +20,6 @@ final class BuildDelegate { return { new BuildDelegate(projectDir).tap { basePackages.convention = [] as Set - outputDir.convention = new File(projectDir, 'dist') globals.convention = [:] models.convention = [] as Set textsDirs.convention = [new File(projectDir, 'texts')] as Set