aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/java/6 codegen
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/test cases/java/6 codegen
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/test cases/java/6 codegen')
-rw-r--r--meson/test cases/java/6 codegen/com/mesonbuild/Config.java.in5
-rw-r--r--meson/test cases/java/6 codegen/com/mesonbuild/Simple.java12
-rw-r--r--meson/test cases/java/6 codegen/com/mesonbuild/TextPrinter.java14
-rw-r--r--meson/test cases/java/6 codegen/com/mesonbuild/meson.build6
-rw-r--r--meson/test cases/java/6 codegen/meson.build15
5 files changed, 52 insertions, 0 deletions
diff --git a/meson/test cases/java/6 codegen/com/mesonbuild/Config.java.in b/meson/test cases/java/6 codegen/com/mesonbuild/Config.java.in
new file mode 100644
index 000000000..fcc88117e
--- /dev/null
+++ b/meson/test cases/java/6 codegen/com/mesonbuild/Config.java.in
@@ -0,0 +1,5 @@
+package com.mesonbuild;
+
+public class Config {
+ public static final boolean FOOBAR = @foobar@;
+}
diff --git a/meson/test cases/java/6 codegen/com/mesonbuild/Simple.java b/meson/test cases/java/6 codegen/com/mesonbuild/Simple.java
new file mode 100644
index 000000000..df3c53df3
--- /dev/null
+++ b/meson/test cases/java/6 codegen/com/mesonbuild/Simple.java
@@ -0,0 +1,12 @@
+package com.mesonbuild;
+
+import com.mesonbuild.Config;
+
+class Simple {
+ public static void main(String [] args) {
+ if (Config.FOOBAR) {
+ TextPrinter t = new TextPrinter("Printing from Java.");
+ t.print();
+ }
+ }
+}
diff --git a/meson/test cases/java/6 codegen/com/mesonbuild/TextPrinter.java b/meson/test cases/java/6 codegen/com/mesonbuild/TextPrinter.java
new file mode 100644
index 000000000..7e330a60b
--- /dev/null
+++ b/meson/test cases/java/6 codegen/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/meson/test cases/java/6 codegen/com/mesonbuild/meson.build b/meson/test cases/java/6 codegen/com/mesonbuild/meson.build
new file mode 100644
index 000000000..188bedf10
--- /dev/null
+++ b/meson/test cases/java/6 codegen/com/mesonbuild/meson.build
@@ -0,0 +1,6 @@
+
+conf_data = configuration_data()
+conf_data.set('foobar', 'true')
+config_file = configure_file(input : 'Config.java.in',
+ output : 'Config.java',
+ configuration : conf_data)
diff --git a/meson/test cases/java/6 codegen/meson.build b/meson/test cases/java/6 codegen/meson.build
new file mode 100644
index 000000000..f85d45ae0
--- /dev/null
+++ b/meson/test cases/java/6 codegen/meson.build
@@ -0,0 +1,15 @@
+# If we generate code under the build directory then the backend needs to add
+# the build directory to the -sourcepath passed to javac otherwise the compiler
+# won't be able to handle the -implicit:class behaviour of automatically
+# compiling dependency classes.
+
+project('codegenjava', 'java')
+
+subdir('com/mesonbuild')
+
+javaprog = jar('myprog',
+ config_file,
+ 'com/mesonbuild/Simple.java',
+ 'com/mesonbuild/TextPrinter.java',
+ main_class : 'com.mesonbuild.Simple')
+test('subdirtest', javaprog)