mirror of
https://github.com/denoland/deno
synced 2024-11-05 18:45:24 +00:00
0875411267
To allow better tab completion for ./tools/build.py mv build_third_party.py sync_third_party.py
35 lines
1.4 KiB
Python
Executable file
35 lines
1.4 KiB
Python
Executable file
#!/usr/bin/env python
|
|
# Only run this script if you are changing Deno's dependencies.
|
|
|
|
import os
|
|
from os.path import join
|
|
from util import run, remove_and_symlink
|
|
|
|
root_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
|
|
third_party_path = join(root_path, "third_party")
|
|
|
|
try:
|
|
os.makedirs(third_party_path)
|
|
except:
|
|
pass
|
|
os.chdir(third_party_path)
|
|
|
|
# Run yarn to install JavaScript dependencies.
|
|
remove_and_symlink("../package.json", "package.json")
|
|
remove_and_symlink("../yarn.lock", "yarn.lock")
|
|
run(["yarn"])
|
|
# Run cargo to install Rust dependencies.
|
|
run(["cargo", "fetch", "--manifest-path=" + root_path + "/Cargo.toml"],
|
|
envs={'CARGO_HOME': third_party_path + '/rust_crates'})
|
|
# Run gclient to install other dependencies.
|
|
run(["gclient", "sync", "--reset", "--shallow", "--no-history", "--nohooks"],
|
|
envs={'GCLIENT_FILE': root_path + "/gclient_config.py"})
|
|
# TODO(ry) Is it possible to remove these symlinks?
|
|
remove_and_symlink("v8/third_party/googletest", "googletest", True)
|
|
remove_and_symlink("v8/third_party/jinja2", "jinja2", True)
|
|
remove_and_symlink("v8/third_party/llvm-build", "llvm-build", True)
|
|
remove_and_symlink("v8/third_party/markupsafe", "markupsafe", True)
|
|
|
|
# To update the deno_third_party git repo after running this, try the following:
|
|
# cd third_party
|
|
# find . -type f | grep -v "\.git" | xargs -I% git add -f --no-warn-embedded-repo "%"
|