aboutsummaryrefslogtreecommitdiffstats
path: root/meson/docs/markdown/Java.md
diff options
context:
space:
mode:
Diffstat (limited to 'meson/docs/markdown/Java.md')
-rw-r--r--meson/docs/markdown/Java.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/meson/docs/markdown/Java.md b/meson/docs/markdown/Java.md
new file mode 100644
index 000000000..f0dd40380
--- /dev/null
+++ b/meson/docs/markdown/Java.md
@@ -0,0 +1,24 @@
+---
+title: Java
+short-description: Compiling Java programs
+...
+
+# Compiling Java applications
+
+Meson has experimental support for compiling Java programs. The basic
+syntax consists of only one function and would be used like this:
+
+```meson
+project('javaprog', 'java')
+
+myjar = jar('mything', 'com/example/Prog.java',
+ main_class : 'com.example.Prog')
+
+test('javatest', myjar)
+```
+
+However note that Meson places limitations on how you lay out your code.
+
+* all Java files for a jar must be under the subdirectory the jar definition is in
+* all Java files must be in paths specified by their package, e.g. a class called `com.example.Something` must be in a Java file situated at `com/example/Something.java`.
+* Meson only deals with jar files, you cannot poke individual class files (unless you do so manually)