|
12 | 12 | # See the License for the specific language governing permissions and |
13 | 13 | # limitations under the License. |
14 | 14 |
|
| 15 | +from mesonbuild.interpreterbase.decorators import noPosargs, typed_pos_args |
15 | 16 | from os import path |
16 | 17 | import shutil |
17 | 18 | import typing as T |
|
28 | 29 | if T.TYPE_CHECKING: |
29 | 30 | from . import ModuleState |
30 | 31 | from ..interpreter import Interpreter |
| 32 | + from ..interpreterbase import TYPE_var |
31 | 33 |
|
32 | 34 | PRESET_ARGS = { |
33 | 35 | 'glib': [ |
@@ -85,7 +87,8 @@ def _get_data_dirs(state: 'ModuleState', dirs: T.Iterable[str]) -> T.List[str]: |
85 | 87 | @FeatureNew('i18n.merge_file', '0.37.0') |
86 | 88 | @FeatureNewKwargs('i18n.merge_file', '0.51.0', ['args']) |
87 | 89 | @permittedKwargs(build.CustomTarget.known_kwargs | {'data_dirs', 'po_dir', 'type', 'args'}) |
88 | | - def merge_file(self, state: 'ModuleState', args, kwargs) -> ModuleReturnValue: |
| 90 | + @noPosargs |
| 91 | + def merge_file(self, state: 'ModuleState', args: T.List['TYPE_var'], kwargs) -> ModuleReturnValue: |
89 | 92 | if not shutil.which('xgettext'): |
90 | 93 | self.nogettext_warning() |
91 | 94 | return |
@@ -139,9 +142,8 @@ def merge_file(self, state: 'ModuleState', args, kwargs) -> ModuleReturnValue: |
139 | 142 | @FeatureNewKwargs('i18n.gettext', '0.37.0', ['preset']) |
140 | 143 | @FeatureNewKwargs('i18n.gettext', '0.50.0', ['install_dir']) |
141 | 144 | @permittedKwargs({'po_dir', 'data_dirs', 'type', 'languages', 'args', 'preset', 'install', 'install_dir'}) |
142 | | - def gettext(self, state: 'ModuleState', args, kwargs) -> ModuleReturnValue: |
143 | | - if len(args) != 1: |
144 | | - raise coredata.MesonException('Gettext requires one positional argument (package name).') |
| 145 | + @typed_pos_args('i81n.gettex', str) |
| 146 | + def gettext(self, state: 'ModuleState', args: T.Tuple[str], kwargs) -> ModuleReturnValue: |
145 | 147 | if not shutil.which('xgettext'): |
146 | 148 | self.nogettext_warning() |
147 | 149 | return |
|
0 commit comments