diff --git a/plugin/src/main/java/org/kravemir/gradle/sass/SassCompileTask.java b/plugin/src/main/java/org/kravemir/gradle/sass/SassCompileTask.java index f397d0d..34ab68c 100644 --- a/plugin/src/main/java/org/kravemir/gradle/sass/SassCompileTask.java +++ b/plugin/src/main/java/org/kravemir/gradle/sass/SassCompileTask.java @@ -47,7 +47,7 @@ public void setSrcDir(File srcDir) { this.srcDir = srcDir; } - @OutputDirectory + @Internal public File getOutDir() { return outDir != null ? outDir : Paths.get(getProject().getBuildDir().getPath(), "sass", sassSetName).toFile(); } diff --git a/plugin/src/test/java/org/kravemir/gradle/sass/tests/IncrementalTasksTest.java b/plugin/src/test/java/org/kravemir/gradle/sass/tests/IncrementalTasksTest.java index 66f7f0f..9c7a0b6 100644 --- a/plugin/src/test/java/org/kravemir/gradle/sass/tests/IncrementalTasksTest.java +++ b/plugin/src/test/java/org/kravemir/gradle/sass/tests/IncrementalTasksTest.java @@ -35,7 +35,7 @@ public class IncrementalTasksTest { @Before public void setup() throws IOException { File buildFile = testProjectDir.newFile("build.gradle"); - writeFile(buildFile, "plugins {\n id 'org.kravemir.gradle.sass'\n }\nsass{\nmain{}}"); + writeFile(buildFile, "plugins {\n id 'org.kravemir.gradle.sass'\n }\nsass{\nmain{}}\n"); Path mainSassPath = Paths.get(testProjectDir.getRoot().getPath(),"src","main","sass"); Files.createDirectories(mainSassPath); @@ -77,11 +77,32 @@ public void testFooDeletion() { assertFalse(mainSassBuildRoot.resolve(Paths.get("foo.css")).toFile().exists()); } + @Test + public void testOutputHandling() throws IOException { + File buildFile = new File(testProjectDir.getRoot(), "build.gradle"); + writeFile(buildFile, + "task myCopy(type:Sync) { \n" + + "from(mainSass) \n " + + "into('build/myCopy')\n" + + "\n }"); + + GradleRunner.create() + .withProjectDir(testProjectDir.getRoot()) + .withArguments("myCopy", "--warning-mode", "fail") + .withGradleVersion("6.0-20191014000926+0000") + .withPluginClasspath() + .build(); + + Path syncedCss = Paths.get(testProjectDir.getRoot().getPath(), "build", "myCopy"); + assertTrue(syncedCss.resolve(Paths.get("main.css")).toFile().exists()); + assertTrue(syncedCss.resolve(Paths.get("foo.css")).toFile().exists()); + } + private void writeFile(File destination, String content) throws IOException { BufferedWriter output = null; try { - output = new BufferedWriter(new FileWriter(destination)); + output = new BufferedWriter(new FileWriter(destination, true)); output.write(content); } finally { if (output != null) {