# 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'] ) ```