aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/Java.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/markdown/Java.md')
-rw-r--r--docs/markdown/Java.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/docs/markdown/Java.md b/docs/markdown/Java.md
new file mode 100644
index 0000000..8501bdf
--- /dev/null
+++ b/docs/markdown/Java.md
@@ -0,0 +1,22 @@
+---
+title: Java
+...
+
+# 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)