summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml3
-rw-r--r--README.md9
l---------js/node_modules1
l---------third_party/package.json1
-rw-r--r--third_party/yarn.lock (renamed from js/yarn.lock)0
-rwxr-xr-xtools/build_third_party.py35
6 files changed, 41 insertions, 8 deletions
diff --git a/.travis.yml b/.travis.yml
index 2a4556782..6314c42ff 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,8 +28,7 @@ install:
- curl -sSf https://sh.rustup.rs | sh -s -- -y
- export PATH=$HOME/.cargo/bin:$PATH
- rustc --version
- - (cd js; yarn)
- - (cd third_party; gclient sync -j2 --no-history)
+ - ./tools/build_third_party.py
# ccache needs the custom LLVM to be in PATH and other variables.
- export PATH=`pwd`/third_party/llvm-build/Release+Asserts/bin:$PATH
- export CCACHE_CPP2=yes
diff --git a/README.md b/README.md
index 7372a0d94..a15e376ac 100644
--- a/README.md
+++ b/README.md
@@ -73,14 +73,11 @@ You need [rust](https://www.rust-lang.org/en-US/install.html) installed.
You need [ccache](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/ccache) installed.
-Fetch packages and v8:
-```bash
-(cd third_party; gclient sync --no-history)
-```
+Fetch the third party dependencies.
-Install the javascript deps.
+ ./tools/build_third_party.py
- (cd js; yarn install)
+Generate ninja files.
gn gen out/Debug --args='cc_wrapper="ccache" is_debug=true '
diff --git a/js/node_modules b/js/node_modules
new file mode 120000
index 000000000..c46f1f34b
--- /dev/null
+++ b/js/node_modules
@@ -0,0 +1 @@
+../third_party/node_modules \ No newline at end of file
diff --git a/third_party/package.json b/third_party/package.json
new file mode 120000
index 000000000..581e2de97
--- /dev/null
+++ b/third_party/package.json
@@ -0,0 +1 @@
+../js/package.json \ No newline at end of file
diff --git a/js/yarn.lock b/third_party/yarn.lock
index 8daa08843..8daa08843 100644
--- a/js/yarn.lock
+++ b/third_party/yarn.lock
diff --git a/tools/build_third_party.py b/tools/build_third_party.py
new file mode 100755
index 000000000..caaf3bfaf
--- /dev/null
+++ b/tools/build_third_party.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+# This script updates the third party dependencies of deno.
+# - Get Depot Tools and make sure it's in your path.
+# http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
+# - You need yarn installed as well.
+# https://yarnpkg.com/lang/en/docs/install/
+# Use //gclient_config.py to modify the git deps.
+# Use //js/package.json to modify the npm deps.
+
+import os
+import subprocess
+import argparse
+
+root_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
+third_party_path = os.path.join(root_path, "third_party")
+script_name = "build_third_party.py"
+
+parser = argparse.ArgumentParser(description="""
+This script updates the third party dependencies of deno.
+""")
+parser.parse_args()
+
+def main():
+ os.chdir(third_party_path)
+ run(["gclient", "sync", "--no-history"])
+ run(["yarn"])
+ print "Done (" + script_name + ")"
+
+def run(args):
+ print " ".join(args)
+ env = os.environ.copy()
+ subprocess.check_call(args, env=env)
+
+if '__main__' == __name__:
+ main()