diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-02-02 20:25:35 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-02-02 20:25:35 +0200 |
commit | f23e6c72f4b4e1805af02245d816cbccdbf7d619 (patch) | |
tree | 76614f48a1dd1f71cb6abb8bec651cb29b7ed591 /interpreter.py | |
parent | be9bf62cd7eb06d3c5f52970165e3c388b658b87 (diff) | |
download | meson-f23e6c72f4b4e1805af02245d816cbccdbf7d619.zip meson-f23e6c72f4b4e1805af02245d816cbccdbf7d619.tar.gz meson-f23e6c72f4b4e1805af02245d816cbccdbf7d619.tar.bz2 |
First cut at the Wrap dependency downloader.
Diffstat (limited to 'interpreter.py')
-rw-r--r-- | interpreter.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/interpreter.py b/interpreter.py index 6c4f07e..33dbbef 100644 --- a/interpreter.py +++ b/interpreter.py @@ -19,6 +19,7 @@ import dependencies import mlog import build import optinterpreter +import wrap import os, sys, platform, subprocess, shutil, uuid class InterpreterException(coredata.MesonException): @@ -915,7 +916,12 @@ class Interpreter(): subdir = os.path.join('subprojects', dirname) abs_subdir = os.path.join(self.build.environment.get_source_dir(), subdir) if not os.path.isdir(abs_subdir): - raise InterpreterException('Subproject directory does not exist.') + r = wrap.Resolver(os.path.join(self.build.environment.get_source_dir(), 'subprojects')) + resolved = r.resolve(dirname) + if resolved is None: + 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) self.global_args_frozen = True mlog.log('\nExecuting subproject ', mlog.bold(dirname), '.\n', sep='') subi = Interpreter(self.build, dirname, subdir) |