From 65b730bd59790338a6bfad6f976ff74b12d6bc13 Mon Sep 17 00:00:00 2001 From: Robert Bragg Date: Thu, 8 Feb 2018 00:25:33 +0000 Subject: ninja: pass separated paths to javac -sourcepath The -sourcepath option can't be passed multiple times to javac, since it simply overrides prior arguments. Instead -sourcepath takes a colon (or semi-colon on windows) separated list of paths. --- test cases/java/5 includedirs/com/mesonbuild/Simple.java | 8 ++++++++ .../java/5 includedirs/com/mesonbuild/TextPrinter.java | 14 ++++++++++++++ test cases/java/5 includedirs/meson.build | 15 +++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 test cases/java/5 includedirs/com/mesonbuild/Simple.java create mode 100644 test cases/java/5 includedirs/com/mesonbuild/TextPrinter.java create mode 100644 test cases/java/5 includedirs/meson.build (limited to 'test cases/java') diff --git a/test cases/java/5 includedirs/com/mesonbuild/Simple.java b/test cases/java/5 includedirs/com/mesonbuild/Simple.java new file mode 100644 index 000000000..05a73accc --- /dev/null +++ b/test cases/java/5 includedirs/com/mesonbuild/Simple.java @@ -0,0 +1,8 @@ +package com.mesonbuild; + +class Simple { + public static void main(String [] args) { + TextPrinter t = new TextPrinter("Printing from Java."); + t.print(); + } +} diff --git a/test cases/java/5 includedirs/com/mesonbuild/TextPrinter.java b/test cases/java/5 includedirs/com/mesonbuild/TextPrinter.java new file mode 100644 index 000000000..7e330a60b --- /dev/null +++ b/test cases/java/5 includedirs/com/mesonbuild/TextPrinter.java @@ -0,0 +1,14 @@ +package com.mesonbuild; + +class TextPrinter { + + private String msg; + + TextPrinter(String s) { + msg = s; + } + + public void print() { + System.out.println(msg); + } +} diff --git a/test cases/java/5 includedirs/meson.build b/test cases/java/5 includedirs/meson.build new file mode 100644 index 000000000..0b2942df2 --- /dev/null +++ b/test cases/java/5 includedirs/meson.build @@ -0,0 +1,15 @@ +# The Ninja backend used to try and pass -sourcepath repeatedly for +# multiple includes which would discard prior includes. Since this +# won't compile without the '.' include, this ensures that multiple +# paths are passed in a [semi-]colon separated list instead... + +project('includedirsjava', 'java') + +javaprog = jar('myprog', + 'com/mesonbuild/Simple.java', + 'com/mesonbuild/TextPrinter.java', + main_class : 'com.mesonbuild.Simple', + include_directories : [ include_directories('com'), + include_directories('.'), + include_directories('com/mesonbuild') ]) +test('subdirtest', javaprog) -- cgit v1.2.3