summaryrefslogtreecommitdiff
path: root/cli_snapshots/run.py
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2019-09-02 17:07:11 -0400
committerGitHub <noreply@github.com>2019-09-02 17:07:11 -0400
commitd43b43ca781b025b9a6a54827ea3ef193972ef24 (patch)
tree84173b6a653802a41c23145dd3b2048d9075e2a4 /cli_snapshots/run.py
parent56508f113d9fe61ffcce4cbbb85e3d6961888e1d (diff)
Refactor snapshot build (#2825)
Instead of using core/snapshot_creator.rs, instead two crates are introduced which allow building the snapshot during build.rs. Rollup is removed and replaced with our own bundler. This removes the Node build dependency. Modules in //js now use Deno-style imports with file extensions, rather than Node style extensionless imports. This improves incremental build time when changes are made to //js files by about 40 seconds.
Diffstat (limited to 'cli_snapshots/run.py')
-rw-r--r--cli_snapshots/run.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/cli_snapshots/run.py b/cli_snapshots/run.py
new file mode 100644
index 000000000..4dba78768
--- /dev/null
+++ b/cli_snapshots/run.py
@@ -0,0 +1,15 @@
+#!/usr/bin/env python
+# Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
+# This script is to execute build.rs during the GN build. See BUILD.gn.
+import subprocess
+import sys
+import os
+
+d = os.path.dirname(os.path.realpath(__file__))
+exe = sys.argv[1]
+env = os.environ.copy()
+env["CARGO_MANIFEST_DIR"] = d
+env["OUT_DIR"] = os.path.dirname(exe)
+# To match the behavior of cargo, we need to cd into this directory.
+os.chdir(d)
+sys.exit(subprocess.call([exe], env=env))