Rename java.generate_native_headers to java.native_headers
This follows the Meson naming scheme which typically leaves off a verb like generate.
This commit is contained in:
parent
b746e92f62
commit
2e600ef710
|
@ -20,6 +20,50 @@ 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.
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
## Deprecate `java.generate_native_headers`, rename to `java.native_headers`
|
||||
|
||||
The functions operate in the exact same way. The new name matches more with
|
||||
Meson function name styling.
|
|
@ -36,6 +36,7 @@ class JavaModule(NewExtensionModule):
|
|||
super().__init__()
|
||||
self.methods.update({
|
||||
'generate_native_headers': self.generate_native_headers,
|
||||
'native_headers': self.native_headers,
|
||||
})
|
||||
|
||||
def __get_java_compiler(self, state: ModuleState) -> Compiler:
|
||||
|
@ -44,6 +45,7 @@ class JavaModule(NewExtensionModule):
|
|||
return state.environment.coredata.compilers[MachineChoice.BUILD]['java']
|
||||
|
||||
@FeatureNew('java.generate_native_headers', '0.62.0')
|
||||
@FeatureDeprecated('java.generate_native_headers', '1.0.0')
|
||||
@typed_pos_args(
|
||||
'java.generate_native_headers',
|
||||
varargs=(str, mesonlib.File, Target, CustomTargetIndex, GeneratedList))
|
||||
|
@ -53,6 +55,22 @@ class JavaModule(NewExtensionModule):
|
|||
KwargInfo('package', str, default=None))
|
||||
def generate_native_headers(self, state: ModuleState, args: T.Tuple[T.List[mesonlib.FileOrString]],
|
||||
kwargs: T.Dict[str, T.Optional[str]]) -> ModuleReturnValue:
|
||||
return self.__native_headers(state, args, kwargs)
|
||||
|
||||
@FeatureNew('java.native_headers', '1.0.0')
|
||||
@typed_pos_args(
|
||||
'java.native_headers',
|
||||
varargs=(str, mesonlib.File, Target, CustomTargetIndex, GeneratedList))
|
||||
@typed_kwargs(
|
||||
'java.native_headers',
|
||||
KwargInfo('classes', ContainerTypeInfo(list, str), default=[], listify=True, required=True),
|
||||
KwargInfo('package', str, default=None))
|
||||
def native_headers(self, state: ModuleState, args: T.Tuple[T.List[mesonlib.FileOrString]],
|
||||
kwargs: T.Dict[str, T.Optional[str]]) -> ModuleReturnValue:
|
||||
return self.__native_headers(state, args, kwargs)
|
||||
|
||||
def __native_headers(self, state: ModuleState, args: T.Tuple[T.List[mesonlib.FileOrString]],
|
||||
kwargs: T.Dict[str, T.Optional[str]]) -> ModuleReturnValue:
|
||||
classes = T.cast('T.List[str]', kwargs.get('classes'))
|
||||
package = kwargs.get('package')
|
||||
|
||||
|
|
|
@ -6,6 +6,6 @@ configured = configure_file(
|
|||
|
||||
sources += configured
|
||||
|
||||
native_headers = javamod.generate_native_headers(
|
||||
native_headers = javamod.native_headers(
|
||||
sources, package: 'com.mesonbuild', classes: ['JniTest'])
|
||||
native_header_includes = include_directories('.')
|
||||
|
|
Loading…
Reference in New Issue