diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/markdown/Java-module.md | 47 | ||||
-rw-r--r-- | docs/markdown/snippets/java_generate_native_headers.md | 34 |
2 files changed, 80 insertions, 1 deletions
diff --git a/docs/markdown/Java-module.md b/docs/markdown/Java-module.md index 9857de7..1665b7b 100644 --- a/docs/markdown/Java-module.md +++ b/docs/markdown/Java-module.md @@ -1,11 +1,13 @@ # Java Module -*Added 0.60.0* +*(added in 0.60.0)* ## Functions ### `generate_native_header()` +*(deprecated in 0.62.0, use `generate_native_headers()`)* + This function will generate a header file for use in Java native module development by reading the supplied Java file for `native` method declarations. @@ -13,3 +15,46 @@ Keyword arguments: - `package`: The [package](https://en.wikipedia.org/wiki/Java_package) of the file. If left empty, Meson will assume that there is no package. + +### `generate_native_headers()` + +*(added in 0.62.0)* + +This function will generate native header files for use in Java native module +development by reading the supplied Java files for `native` method declarations. + +Keyword arguments: + +- `classes`: The list of class names relative to the `package`, if it exists, +which contain `native` method declarations. Use `.` separated class names. + +- `package`: The [package](https://en.wikipedia.org/wiki/Java_package) of the +file. If left empty, Meson will assume that there is no package. + +Example: + +```java +// Outer.java + +package com.mesonbuild; + +public class Outer { + private static native void outer(); + + public static class Inner { + private static native void inner(); + } +} +``` + +With the above file, an invocation would look like the following: + +```meson +java = import('java') + +native_headers = java.generate_native_headers( + 'Outer.java', + package: 'com.mesonbuild', + classes: ['Outer', 'Outer.Inner'] +) +``` diff --git a/docs/markdown/snippets/java_generate_native_headers.md b/docs/markdown/snippets/java_generate_native_headers.md new file mode 100644 index 0000000..2a2a89e --- /dev/null +++ b/docs/markdown/snippets/java_generate_native_headers.md @@ -0,0 +1,34 @@ +## Deprecated `java.generate_native_header()` in favor of the new `java.generate_native_headers()` + +`java.generate_native_header()` was only useful for the most basic of +situations. It didn't take into account that in order to generate native +headers, you had to have all the referenced Java files. It also didn't take +into account inner classes. Do not use this function from `0.62.0` onward. + +`java.generate_native_headers()` has been added as a replacement which should account for the previous function's shortcomings. + +```java +// Outer.java + +package com.mesonbuild; + +public class Outer { + private static native void outer(); + + public static class Inner { + private static native void inner(); + } +} +``` + +With the above file, an invocation would look like the following: + +```meson +java = import('java') + +native_headers = java.generate_native_headers( + 'Outer.java', + package: 'com.mesonbuild', + classes: ['Outer', 'Outer.Inner'] +) +``` |