Index: client/samples/swarm/buildapp.py |
=================================================================== |
--- client/samples/swarm/buildapp.py (revision 3770) |
+++ client/samples/swarm/buildapp.py (working copy) |
@@ -1,80 +0,0 @@ |
-# Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
-# for details. All rights reserved. Use of this source code is governed by a |
-# BSD-style license that can be found in the LICENSE file. |
- |
-#!/usr/bin/env python |
-# |
- |
-# This script builds a Chrome App file (.crx) for Swarm |
-import os |
-import platform |
-import subprocess |
-import sys |
- |
-DART_PATH = os.path.normpath(os.path.dirname(__file__) + '/../../..') |
-CLIENT_PATH = os.path.normpath(DART_PATH + '/client') |
- |
-# Add the tools directory so we can find utils.py. |
-sys.path.append(os.path.abspath(DART_PATH + '/tools')) |
-import utils |
- |
-buildRoot = CLIENT_PATH + '/' + utils.GetBuildRoot( |
- utils.GuessOS(), 'debug', 'dartc') |
- |
-def execute(*command): |
- ''' |
- Executes the given command in a new process. If the command fails (returns |
- non-zero) halts the script and returns that exit code. |
- ''' |
- exitcode = subprocess.call(command) |
- if exitcode != 0: |
- sys.exit(exitcode) |
- |
-def createChromeApp(buildRoot, antTarget, resultFile): |
- buildDir = os.path.join(buildRoot, 'war') |
- |
- # Use ant to create the 'war' directory |
- # TODO(jmesserly): we should factor out as much as possible from the ant file |
- # It's not really doing anything useful for us besides compiling Dart code |
- # with DartC and copying files. But for now, it helps us share code with |
- # our appengine update.py, which is good. |
- execute( |
- DART_PATH + '/third_party/apache_ant/v1_7_1/bin/ant', |
- '-f', 'build-appengine.xml', |
- '-Dbuild.dir=' + buildRoot, |
- antTarget) |
- |
- # Call Dartium (could be any Chrome--but we know Dartium will be there) and |
- # ask it to create the .crx file for us using the checked in developer key. |
- chrome = CLIENT_PATH + '/tests/drt/chrome' |
- |
- # On Mac Chrome is under a .app folder |
- if platform.system() == 'Darwin': |
- chrome = CLIENT_PATH + '/tests/drt/Chromium.app/Contents/MacOS/Chromium' |
- |
- keyFile = CLIENT_PATH + '/samples/swarm/swarm-dev.pem' |
- execute(chrome, '--pack-extension=' + buildDir, |
- '--pack-extension-key=' + keyFile) |
- |
- resultFile = os.path.join(buildRoot, resultFile) |
- os.rename(buildDir + '.crx', resultFile) |
- return os.path.abspath(resultFile) |
- |
- |
-def main(): |
- # Create a DartC and Dartium app |
- dartiumResult = createChromeApp(buildRoot, 'build_dart_app', 'swarm.crx') |
- dartCResult = createChromeApp(buildRoot, 'build_js_app', 'swarm-js.crx') |
- |
- print ''' |
-Successfully created Chrome apps! |
- Dartium: file://%s |
- |
- DartC/JS: file://%s |
- |
-To install, open this URL in Chrome and select Continue at the bottom. |
-''' % (dartiumResult, dartCResult) |
- return 0 |
- |
-if __name__ == '__main__': |
- sys.exit(main()) |