diff --git a/build.gradle b/build.gradle index a5099b23fec17d89768aace3a39639c3cf733282..739984f0c5a9b43747ed83293d069c9fd2dabd9f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'org.jastadd.preprocessor' -version '0.2.6' +version '0.2.7' gradlePlugin { plugins { diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java index 54f43a86c5a574a5290100361c3aa515244e191b..1fbd3ea164a3f7d347d04901b3a896545706b3fa 100644 --- a/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java +++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java @@ -1,12 +1,10 @@ package org.jastadd.preprocessor.testing.plugin; -import org.gradle.api.tasks.Input; -import org.gradle.api.tasks.InputFiles; -import org.gradle.api.tasks.Optional; -import org.gradle.api.tasks.OutputDirectory; +import org.gradle.api.tasks.*; import java.io.File; import java.nio.file.Paths; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -51,4 +49,9 @@ public interface JastAddConfiguration { default File getOutputDirOrDefault() { return getOutputDir() != null ? getOutputDir() : Paths.get("src", "test", "java-gen").toFile(); } + @OutputDirectory + default File getPackageOutputDir() { + return getOutputDirOrDefault().toPath().resolve(getPackageName().replace('.', File.separatorChar)).toFile(); + } + } diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java index e61b7d6cab544633bfbabbd6c8ea45f724903cae..2bb4c2a81fc78b8936cdb25f5101d7fda729d751 100644 --- a/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java +++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java @@ -18,7 +18,6 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; import static groovy.lang.Closure.DELEGATE_FIRST; @@ -47,12 +46,14 @@ public abstract class RelastTest extends DefaultTask { return Paths.get(getProject().getProjectDir().getAbsolutePath(), filename); } + @SuppressWarnings("unused") public void relast(Closure<?> c) { c.setResolveStrategy(DELEGATE_FIRST); c.setDelegate(getRelast()); c.call(); } + @SuppressWarnings("unused") public void jastadd(Closure<?> c) { c.setResolveStrategy(DELEGATE_FIRST); c.setDelegate(getJastadd()); @@ -85,7 +86,7 @@ public abstract class RelastTest extends DefaultTask { deleteSpec.delete(getJastadd().getOutputDirOrDefault().toPath().resolve(getJastadd().getPackageName())); }); // create output directories, if not existing - createDirectory(pathToAbsoluteProject(getJastadd().getOutputDirOrDefault().getName())); + createDirectory(pathToAbsoluteProject(getJastadd().getOutputDirOrDefault().getPath())); createDirectory(pathToAbsoluteProject(getRelast().getGrammarName()).getParent()); if (getRelast().isVerbose()) { System.out.println("Pre processing, running relast"); @@ -150,7 +151,7 @@ public abstract class RelastTest extends DefaultTask { javaExecSpec.setClasspath(runtimeClasspath); javaExecSpec.setMain("org.jastadd.JastAdd"); List<Object> args = new ArrayList<>(); - args.add("--o=" + pathToAbsoluteProject(getJastadd().getOutputDirOrDefault().getName())); + args.add("--o=" + pathToAbsoluteProject(getJastadd().getOutputDirOrDefault().getPath())); args.add("--package=" + getJastadd().getPackageName()); if (getJastadd().getJastAddList() != null) { args.add("--List=" + getJastadd().getJastAddList());