diff options
author | Tristan Partin <tristan@partin.io> | 2022-11-17 15:48:05 -0600 |
---|---|---|
committer | Tristan Partin <tristan@partin.io> | 2022-12-11 14:50:23 -0600 |
commit | b746e92f624a96bc7511a6e48a285ef480ddc6bf (patch) | |
tree | 98c405c32bc6a26a39fbcb46b832ef0ab4e3c1d0 | |
parent | 5bea2ca198041fa044222dc5b8b63b155e525d5c (diff) | |
download | meson-b746e92f624a96bc7511a6e48a285ef480ddc6bf.zip meson-b746e92f624a96bc7511a6e48a285ef480ddc6bf.tar.gz meson-b746e92f624a96bc7511a6e48a285ef480ddc6bf.tar.bz2 |
Remove java.generate_native_header
This API existed for 2 minor releases and was worthless for pretty much
every usecase.
-rw-r--r-- | docs/markdown/Java-module.md | 1 | ||||
-rw-r--r-- | mesonbuild/modules/java.py | 45 |
2 files changed, 1 insertions, 45 deletions
diff --git a/docs/markdown/Java-module.md b/docs/markdown/Java-module.md index 1665b7b..54438e2 100644 --- a/docs/markdown/Java-module.md +++ b/docs/markdown/Java-module.md @@ -7,6 +7,7 @@ ### `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. diff --git a/mesonbuild/modules/java.py b/mesonbuild/modules/java.py index 2779afa..7f831c2 100644 --- a/mesonbuild/modules/java.py +++ b/mesonbuild/modules/java.py @@ -13,7 +13,6 @@ # limitations under the License. from __future__ import annotations -import os import pathlib import typing as T @@ -36,7 +35,6 @@ class JavaModule(NewExtensionModule): def __init__(self, interpreter: Interpreter): super().__init__() self.methods.update({ - 'generate_native_header': self.generate_native_header, 'generate_native_headers': self.generate_native_headers, }) @@ -45,49 +43,6 @@ class JavaModule(NewExtensionModule): detect_compiler_for(state.environment, 'java', MachineChoice.BUILD) return state.environment.coredata.compilers[MachineChoice.BUILD]['java'] - @FeatureDeprecated('java.generate_native_header', '0.62.0', 'Use java.generate_native_headers instead') - @typed_pos_args('java.generate_native_header', (str, mesonlib.File)) - @typed_kwargs('java.generate_native_header', KwargInfo('package', str, default=None)) - def generate_native_header(self, state: ModuleState, args: T.Tuple[T.Union[str, mesonlib.File]], - kwargs: T.Dict[str, T.Optional[str]]) -> ModuleReturnValue: - package = kwargs.get('package') - - if isinstance(args[0], mesonlib.File): - file = args[0] - else: - file = mesonlib.File.from_source_file(state.source_root, state.subdir, args[0]) - - if package: - header = f'{package.replace(".", "_")}_{pathlib.Path(file.fname).stem}.h' - else: - header = f'{pathlib.Path(file.fname).stem}.h' - - javac = self.__get_java_compiler(state) - - target = CustomTarget( - os.path.basename(header), - state.subdir, - state.subproject, - state.environment, - mesonlib.listify([ - javac.exelist, - '-d', - '@PRIVATE_DIR@', - '-h', - state.subdir, - '@INPUT@', - ]), - [file], - [header], - backend=state.backend, - ) - # It is only known that 1.8.0 won't pre-create the directory. 11 and 16 - # do not exhibit this behavior. - if version_compare(javac.version, '1.8.0'): - pathlib.Path(state.backend.get_target_private_dir_abs(target)).mkdir(parents=True, exist_ok=True) - - return ModuleReturnValue(target, [target]) - @FeatureNew('java.generate_native_headers', '0.62.0') @typed_pos_args( 'java.generate_native_headers', |