Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(174)

Side by Side Diff: client/samples/swarm/buildapp.py

Issue 9314024: Final CL to kill off client/samples . (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « client/samples/swarm/back-21.png ('k') | client/samples/swarm/cacheimages.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 # for details. All rights reserved. Use of this source code is governed by a
3 # BSD-style license that can be found in the LICENSE file.
4
5 #!/usr/bin/env python
6 #
7
8 # This script builds a Chrome App file (.crx) for Swarm
9 import os
10 import platform
11 import subprocess
12 import sys
13
14 DART_PATH = os.path.normpath(os.path.dirname(__file__) + '/../../..')
15 CLIENT_PATH = os.path.normpath(DART_PATH + '/client')
16
17 # Add the tools directory so we can find utils.py.
18 sys.path.append(os.path.abspath(DART_PATH + '/tools'))
19 import utils
20
21 buildRoot = CLIENT_PATH + '/' + utils.GetBuildRoot(
22 utils.GuessOS(), 'debug', 'dartc')
23
24 def execute(*command):
25 '''
26 Executes the given command in a new process. If the command fails (returns
27 non-zero) halts the script and returns that exit code.
28 '''
29 exitcode = subprocess.call(command)
30 if exitcode != 0:
31 sys.exit(exitcode)
32
33 def createChromeApp(buildRoot, antTarget, resultFile):
34 buildDir = os.path.join(buildRoot, 'war')
35
36 # Use ant to create the 'war' directory
37 # TODO(jmesserly): we should factor out as much as possible from the ant file
38 # It's not really doing anything useful for us besides compiling Dart code
39 # with DartC and copying files. But for now, it helps us share code with
40 # our appengine update.py, which is good.
41 execute(
42 DART_PATH + '/third_party/apache_ant/v1_7_1/bin/ant',
43 '-f', 'build-appengine.xml',
44 '-Dbuild.dir=' + buildRoot,
45 antTarget)
46
47 # Call Dartium (could be any Chrome--but we know Dartium will be there) and
48 # ask it to create the .crx file for us using the checked in developer key.
49 chrome = CLIENT_PATH + '/tests/drt/chrome'
50
51 # On Mac Chrome is under a .app folder
52 if platform.system() == 'Darwin':
53 chrome = CLIENT_PATH + '/tests/drt/Chromium.app/Contents/MacOS/Chromium'
54
55 keyFile = CLIENT_PATH + '/samples/swarm/swarm-dev.pem'
56 execute(chrome, '--pack-extension=' + buildDir,
57 '--pack-extension-key=' + keyFile)
58
59 resultFile = os.path.join(buildRoot, resultFile)
60 os.rename(buildDir + '.crx', resultFile)
61 return os.path.abspath(resultFile)
62
63
64 def main():
65 # Create a DartC and Dartium app
66 dartiumResult = createChromeApp(buildRoot, 'build_dart_app', 'swarm.crx')
67 dartCResult = createChromeApp(buildRoot, 'build_js_app', 'swarm-js.crx')
68
69 print '''
70 Successfully created Chrome apps!
71 Dartium: file://%s
72
73 DartC/JS: file://%s
74
75 To install, open this URL in Chrome and select Continue at the bottom.
76 ''' % (dartiumResult, dartCResult)
77 return 0
78
79 if __name__ == '__main__':
80 sys.exit(main())
OLDNEW
« no previous file with comments | « client/samples/swarm/back-21.png ('k') | client/samples/swarm/cacheimages.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698