aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
authorAxel Waggershauser <awagger@gmail.com>2015-02-11 00:17:30 +0100
committerAxel Waggershauser <awagger@gmail.com>2015-02-11 00:17:30 +0100
commitbc4b28b06932cb05270345ecb5e686c6c53dd611 (patch)
tree310ea92700de4062498617376f54de34d4406fd8 /interpreter.py
parent129bb902bc94547c3a2a8e4ff29ee91c8d5fc427 (diff)
parent57e74de3aea47a361cfb358bfbb78dbda5866109 (diff)
downloadmeson-bc4b28b06932cb05270345ecb5e686c6c53dd611.zip
meson-bc4b28b06932cb05270345ecb5e686c6c53dd611.tar.gz
meson-bc4b28b06932cb05270345ecb5e686c6c53dd611.tar.bz2
tracked upstream (mostly new vcs_tag)
Diffstat (limited to 'interpreter.py')
-rw-r--r--interpreter.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/interpreter.py b/interpreter.py
index cd36d29..75a4135 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -1,4 +1,4 @@
-# Copyright 2012-2014 The Meson development team
+# Copyright 2012-2015 The Meson development team
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -726,8 +726,7 @@ class Interpreter():
'get_option' : self.func_get_option,
'subproject' : self.func_subproject,
'pkgconfig_gen' : self.func_pkgconfig_gen,
- 'vcs_info' : self.func_vcs_info,
- 'vcs_configure' : self.func_vcs_configure,
+ 'vcs_tag' : self.func_vcs_tag,
}
def get_build_def_files(self):
@@ -931,6 +930,7 @@ class Interpreter():
raise InterpreterException('Subproject directory does not exist and can not be downloaded.')
subdir = os.path.join('subprojects', resolved)
abs_subdir = os.path.join(self.build.environment.get_source_dir(), 'subprojects', subdir)
+ os.makedirs(os.path.join(self.build.environment.get_build_dir(), subdir), exist_ok=True)
self.global_args_frozen = True
mlog.log('\nExecuting subproject ', mlog.bold(dirname), '.\n', sep='')
subi = Interpreter(self.build, dirname, subdir)
@@ -1113,6 +1113,16 @@ class Interpreter():
def func_jar(self, node, args, kwargs):
return self.build_target(node, args, kwargs, JarHolder)
+ def func_vcs_tag(self, node, args, kwargs):
+ fallback = kwargs.get('fallback', None)
+ if not isinstance(fallback, str):
+ raise InterpreterException('Keyword argument must exist and be a string.')
+ del kwargs['fallback']
+ scriptfile = os.path.join(os.path.split(__file__)[0], 'vcstagger.py')
+ kwargs['command'] = [sys.executable, scriptfile, '@INPUT@', '@OUTPUT@', fallback]
+ kwargs['build_always'] = True
+ return self.func_custom_target(node, ['vcstag'], kwargs)
+
def func_custom_target(self, node, args, kwargs):
if len(args) != 1:
raise InterpreterException('Incorrect number of arguments')