Test ReleaseOptionCurrent.java writes ReleaseOption.class in the source directory
David Holmes
david.holmes at oracle.com
Thu May 17 13:08:25 UTC 2018
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 <current>
> + * @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<String> options = Arrays.asList("--release",
> Source.DEFAULT.name);
> + List<String> options = Arrays.asList("-d",
> classes.toString(), "--release", Source.DEFAULT.name);
>
> boolean result = compiler.getTask(null, fm, null,
> options, null, input).call();
> if (!result) {
>
More information about the compiler-dev
mailing list