mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 19:35:51 +00:00
Bug 1328184 - Part 1: Deal better with an existing source checkout; r=mystor
Since individual config files have different source repos declared, it's better to deal with each individual source directory separately. Also make sure to revert any of the existing changes in each directory so that attempts to apply patches to the source directory or import our static analysis checks into clang-tidy are guaranteed to always succeed.
This commit is contained in:
parent
e3312c9db7
commit
b27938cfd1
@ -158,6 +158,7 @@ def svn_co(source_dir, url, directory, revision):
|
||||
|
||||
def svn_update(directory, revision):
|
||||
run_in(directory, ["svn", "update", "-q", "-r", revision])
|
||||
run_in(directory, ["svn", "revert", "-q", "-R", revision])
|
||||
|
||||
|
||||
def get_platform():
|
||||
@ -350,25 +351,34 @@ if __name__ == "__main__":
|
||||
|
||||
if not os.path.exists(source_dir):
|
||||
os.makedirs(source_dir)
|
||||
svn_co(source_dir, llvm_repo, llvm_source_dir, llvm_revision)
|
||||
svn_co(source_dir, clang_repo, clang_source_dir, llvm_revision)
|
||||
svn_co(source_dir, compiler_repo, compiler_rt_source_dir, llvm_revision)
|
||||
svn_co(source_dir, libcxx_repo, libcxx_source_dir, llvm_revision)
|
||||
if libcxxabi_repo:
|
||||
svn_co(source_dir, libcxxabi_repo, libcxxabi_source_dir, llvm_revision)
|
||||
if extra_repo:
|
||||
svn_co(source_dir, extra_repo, extra_source_dir, llvm_revision)
|
||||
for p in config.get("patches", {}).get(get_platform(), []):
|
||||
patch(p, source_dir)
|
||||
else:
|
||||
if os.path.exists(llvm_source_dir):
|
||||
svn_update(llvm_source_dir, llvm_revision)
|
||||
else:
|
||||
svn_co(source_dir, llvm_repo, llvm_source_dir, llvm_revision)
|
||||
if os.path.exists(clang_source_dir):
|
||||
svn_update(clang_source_dir, llvm_revision)
|
||||
else:
|
||||
svn_co(source_dir, clang_repo, clang_source_dir, llvm_revision)
|
||||
if os.path.exists(compiler_rt_source_dir):
|
||||
svn_update(compiler_rt_source_dir, llvm_revision)
|
||||
else:
|
||||
svn_co(source_dir, compiler_repo, compiler_rt_source_dir, llvm_revision)
|
||||
if os.path.exists(libcxx_source_dir):
|
||||
svn_update(libcxx_source_dir, llvm_revision)
|
||||
if libcxxabi_repo:
|
||||
else:
|
||||
svn_co(source_dir, libcxx_repo, libcxx_source_dir, llvm_revision)
|
||||
if libcxxabi_repo:
|
||||
if os.path.exists(libcxxabi_source_dir):
|
||||
svn_update(libcxxabi_source_dir, llvm_revision)
|
||||
if extra_repo:
|
||||
else:
|
||||
svn_co(source_dir, libcxxabi_repo, libcxxabi_source_dir, llvm_revision)
|
||||
if extra_repo:
|
||||
if os.path.exists(extra_source_dir):
|
||||
svn_update(extra_source_dir, llvm_revision)
|
||||
else:
|
||||
svn_co(source_dir, extra_repo, extra_source_dir, llvm_revision)
|
||||
for p in config.get("patches", {}).get(get_platform(), []):
|
||||
patch(p, source_dir)
|
||||
|
||||
symlinks = [(source_dir + "/clang",
|
||||
llvm_source_dir + "/tools/clang"),
|
||||
|
Loading…
Reference in New Issue
Block a user