diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2014-03-10 23:33:24 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2014-03-10 23:33:24 +0200 |
commit | 3dadcbc9a73ab9c07ecc8bfd513d6e5ef791dd00 (patch) | |
tree | a87e6d34147c71490515e5f8926e040df6044ae5 /interpreter.py | |
parent | 11f21062280cb5267a3a9c4054a62ff5a2898101 (diff) | |
download | meson-3dadcbc9a73ab9c07ecc8bfd513d6e5ef791dd00.zip meson-3dadcbc9a73ab9c07ecc8bfd513d6e5ef791dd00.tar.gz meson-3dadcbc9a73ab9c07ecc8bfd513d6e5ef791dd00.tar.bz2 |
Can create jar objects.
Diffstat (limited to 'interpreter.py')
-rw-r--r-- | interpreter.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/interpreter.py b/interpreter.py index 6070c80..3205d4b 100644 --- a/interpreter.py +++ b/interpreter.py @@ -360,6 +360,10 @@ class SharedLibraryHolder(BuildTargetHolder): def __init__(self, name, subdir, is_cross, sources, objects, environment, kwargs): super().__init__(build.SharedLibrary, name, subdir, is_cross, sources, objects, environment, kwargs) +class JarHolder(BuildTargetHolder): + def __init__(self, name, subdir, is_cross, sources, objects, environment, kwargs): + super().__init__(build.Jar, name, subdir, is_cross, sources, objects, environment, kwargs) + class Test(InterpreterObject): def __init__(self, name, exe, is_parallel, cmd_args, env): InterpreterObject.__init__(self) @@ -632,6 +636,7 @@ class Interpreter(): 'dependency' : self.func_dependency, 'static_library' : self.func_static_lib, 'shared_library' : self.func_shared_lib, + 'jar' : self.func_jar, 'generator' : self.func_generator, 'test' : self.func_test, 'headers' : self.func_headers, @@ -966,13 +971,21 @@ class Interpreter(): def func_shared_lib(self, node, args, kwargs): return self.build_target(node, args, kwargs, SharedLibraryHolder) + def func_jar(self, node, args, kwargs): + return self.build_target(node, args, kwargs, JarHolder) + def func_generator(self, node, args, kwargs): gen = GeneratorHolder(args, kwargs) self.generators.append(gen) return gen def func_test(self, node, args, kwargs): - self.validate_arguments(args, 2, [str, ExecutableHolder]) + if len(args) != 2: + raise InterpreterException('Incorrect number of arguments') + if not isinstance(args[0], str): + raise InterpreterException('First argument of test must be a string.') + if not isinstance(args[1], ExecutableHolder) and not isinstance(args[1], JarHolder): + raise InterpreterException('Second argument must be executable.') par = kwargs.get('is_parallel', True) if not isinstance(par, bool): raise InterpreterException('Keyword argument is_parallel must be a boolean.') |