Add 0.45.0 features

This commit is contained in:
Salamandar 2018-04-27 17:26:07 +02:00
parent c90885de6d
commit 364b8a37b9
3 changed files with 8 additions and 0 deletions

View File

@ -451,6 +451,7 @@ class GeneratorHolder(InterpreterObject, ObjectHolder):
ObjectHolder.__init__(self, build.Generator(args, kwargs)) ObjectHolder.__init__(self, build.Generator(args, kwargs))
self.methods.update({'process': self.process_method}) self.methods.update({'process': self.process_method})
@FeatureNewKwargs('generator.process', '0.45.0', ['preserve_path_from'])
@permittedKwargs({'extra_args', 'preserve_path_from'}) @permittedKwargs({'extra_args', 'preserve_path_from'})
def process_method(self, args, kwargs): def process_method(self, args, kwargs):
extras = mesonlib.stringlistify(kwargs.get('extra_args', [])) extras = mesonlib.stringlistify(kwargs.get('extra_args', []))
@ -1652,6 +1653,7 @@ class MesonMain(InterpreterObject):
def project_version_method(self, args, kwargs): def project_version_method(self, args, kwargs):
return self.build.dep_manifest[self.interpreter.active_projectname]['version'] return self.build.dep_manifest[self.interpreter.active_projectname]['version']
@FeatureNew('meson.project_license()', '0.45.0')
@noPosargs @noPosargs
@permittedKwargs({}) @permittedKwargs({})
def project_license_method(self, args, kwargs): def project_license_method(self, args, kwargs):

View File

@ -14,11 +14,13 @@
from .. import mesonlib from .. import mesonlib
from ..interpreterbase import flatten from ..interpreterbase import flatten
from ..interpreterbase import FeatureNew
from . import ExtensionModule from . import ExtensionModule
class IceStormModule(ExtensionModule): class IceStormModule(ExtensionModule):
@FeatureNew('FPGA/Icestorm Module', '0.45.0')
def __init__(self, interpreter): def __init__(self, interpreter):
super().__init__(interpreter) super().__init__(interpreter)
self.snippets.add('project') self.snippets.add('project')

View File

@ -231,6 +231,10 @@ class OptionInterpreter:
if func_name != 'option': if func_name != 'option':
raise OptionException('Only calls to option() are allowed in option files.') raise OptionException('Only calls to option() are allowed in option files.')
(posargs, kwargs) = self.reduce_arguments(node.args) (posargs, kwargs) = self.reduce_arguments(node.args)
if 'yield' in kwargs:
FeatureNew('option yield', '0.45.0').use()
if 'type' not in kwargs: if 'type' not in kwargs:
raise OptionException('Option call missing mandatory "type" keyword argument') raise OptionException('Option call missing mandatory "type" keyword argument')
opt_type = kwargs.pop('type') opt_type = kwargs.pop('type')