diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2023-07-19 13:26:27 -0700 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2023-07-20 14:20:46 -0400 |
commit | 01b5581a100bbb5c608cd054dfccbec721285be9 (patch) | |
tree | 4fe2d44270a33e8fdd877cd06ca588661d598f01 | |
parent | 68da3669a41d3423bc5db593b66def8a59d2f625 (diff) | |
download | meson-01b5581a100bbb5c608cd054dfccbec721285be9.zip meson-01b5581a100bbb5c608cd054dfccbec721285be9.tar.gz meson-01b5581a100bbb5c608cd054dfccbec721285be9.tar.bz2 |
build|interpreter: move main_class to typed_kwargs
Also move it into the Jar class. This is an exclusive Jar keyword
argument, and is only used inside java paths, so there's no reason to
have this in all build targets.
-rw-r--r-- | mesonbuild/build.py | 5 | ||||
-rw-r--r-- | mesonbuild/interpreter/kwargs.py | 3 | ||||
-rw-r--r-- | mesonbuild/interpreter/type_checking.py | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 6438b83..c303ffe 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -1150,10 +1150,6 @@ class BuildTarget(Target): (str, bool)) self.install_mode = kwargs.get('install_mode', None) self.install_tag = stringlistify(kwargs.get('install_tag', [None])) - main_class = kwargs.get('main_class', '') - if not isinstance(main_class, str): - raise InvalidArguments('Main class must be a string') - self.main_class = main_class if isinstance(self, Executable): # This kwarg is deprecated. The value of "none" means that the kwarg # was not specified and win_subsystem should be used instead. @@ -2913,6 +2909,7 @@ class Jar(BuildTarget): self.filename = self.name + '.jar' self.outputs = [self.filename] self.java_args = kwargs.get('java_args', []) + self.main_class = kwargs.get('main_class', '') self.java_resources: T.Optional[StructuredSources] = kwargs.get('java_resources', None) def get_main_class(self): diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index d46d4e3..95bf9bc 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -352,4 +352,5 @@ class BuildTarget(Library): class Jar(_BaseBuildTarget): - pass + + main_class: str diff --git a/mesonbuild/interpreter/type_checking.py b/mesonbuild/interpreter/type_checking.py index f2a7408..cc1f944 100644 --- a/mesonbuild/interpreter/type_checking.py +++ b/mesonbuild/interpreter/type_checking.py @@ -532,7 +532,9 @@ SHARED_MOD_KWS = [ # Arguments exclusive to JAR. These are separated to make integrating # them into build_target easier -_EXCLUSIVE_JAR_KWS: T.List[KwargInfo] = [] +_EXCLUSIVE_JAR_KWS: T.List[KwargInfo] = [ + KwargInfo('main_class', str, default=''), +] # The total list of arguments used by JAR JAR_KWS = [ |