Test ReleaseOptionCurrent.java writes ReleaseOption.class in the source directory (original) (raw)
David Holmes david.holmes at oracle.com
Thu May 17 13:08:25 UTC 2018
- Previous message: Test ReleaseOptionCurrent.java writes ReleaseOption.class in the source directory
- Next message: Test ReleaseOptionCurrent.java writes ReleaseOption.class in the source directory
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Bernard,
Can't you just use System.getProperty("test.classes") to get the output directory?
Cheers, David
On 17/05/2018 10:39 PM, B. Blaser wrote:
Hi,
Test ReleaseOptionCurrent.java writes ReleaseOption.class in the source directory. Next is a quick fix for this. Any feedback is welcome. Cheers, Bernard
diff -r 8e4fcfb4cfe4 test/langtools/tools/javac/options/release/ReleaseOptionCurrent.java --- a/test/langtools/tools/javac/options/release/ReleaseOptionCurrent.java Thu May 17 10:32:26 2018 +0200 +++ b/test/langtools/tools/javac/options/release/ReleaseOptionCurrent.java Thu May 17 14:17:52 2018 +0200 @@ -25,10 +25,14 @@ * @test * @bug 8202387 * @summary Verify that javac can handle --release + * @library /tools/lib * @modules jdk.compiler/com.sun.tools.javac.code */ import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.Arrays; import java.util.List; import javax.tools.JavaCompiler; @@ -38,18 +42,29 @@ import com.sun.tools.javac.code.Source; +import toolbox.ToolBox; + public class ReleaseOptionCurrent { public static void main(String... args) throws IOException { new ReleaseOptionCurrent().run(); } + private final ToolBox tb = new ToolBox(); + void run() throws IOException { String lineSep = System.getProperty("line.separator"); + Path classes = Paths.get("classes"); + + if (Files.exists(classes)) { + tb.cleanDirectory(classes); + } else { + Files.createDirectories(classes); + } JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); try (StandardJavaFileManager fm = compiler.getStandardFileManager(null, null, null)) { Iterable<? extends JavaFileObject> input = fm.getJavaFileObjects(System.getProperty("test.src") + "/ReleaseOption.java"); - List options = Arrays.asList("--release", Source.DEFAULT.name); + List options = Arrays.asList("-d", classes.toString(), "--release", Source.DEFAULT.name); boolean result = compiler.getTask(null, fm, null, options, null, input).call(); if (!result) {
- Previous message: Test ReleaseOptionCurrent.java writes ReleaseOption.class in the source directory
- Next message: Test ReleaseOptionCurrent.java writes ReleaseOption.class in the source directory
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]