| # Java Module | |
| *(added in 0.60.0)* | |
| ## Functions | |
| ### `generate_native_header()` | |
| *(deprecated in 0.62.0, use `generate_native_headers()`)* | |
| *(removed in 1.0.0)* | |
| This function will generate a header file for use in Java native module | |
| development by reading the supplied Java file for `native` method declarations. | |
| 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)* | |
| *(deprecated in 1.0.0, use `native_headers()`)* | |
| 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'] | |
| ) | |
| ``` | |
| ### `native_headers()` | |
| *(added in 1.0.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'] | |
| ) | |
| ``` |