OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 3 # Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
4 # for details. All rights reserved. Use of this source code is governed by a | 4 # for details. All rights reserved. Use of this source code is governed by a |
5 # BSD-style license that can be found in the LICENSE file. | 5 # BSD-style license that can be found in the LICENSE file. |
6 # | 6 # |
7 # Script to push a package to pub. | 7 # Script to push a package to pub. |
8 # | 8 # |
9 # Usage: publish_pkg.py pkg_dir | 9 # Usage: publish_pkg.py pkg_dir |
10 # | 10 # |
11 # "pub" must be in PATH. | 11 # "pub" must be in PATH. |
12 | 12 |
13 | 13 |
14 import os | 14 import os |
15 import os.path | 15 import os.path |
16 import re | |
17 import shutil | 16 import shutil |
18 import sys | 17 import sys |
19 import subprocess | 18 import subprocess |
20 import tempfile | 19 import tempfile |
21 | 20 |
22 def Main(argv): | 21 def Main(argv): |
23 HOME = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) | 22 HOME = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) |
24 | 23 |
25 pkgName = os.path.basename(os.path.normpath(argv[1])) | 24 pkgName = os.path.basename(os.path.normpath(argv[1])) |
26 | 25 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 87 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
89 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | 88 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
90 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 89 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
91 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 90 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
92 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 91 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
93 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 92 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
94 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 93 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
95 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 94 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
96 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 95 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
97 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 96 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
98 '''); | 97 ''') |
99 | 98 |
100 print 'publishing version ' + version + ' of ' + argv[1] + ' to pub.\n' | 99 print 'publishing version ' + version + ' of ' + argv[1] + ' to pub.\n' |
101 | 100 |
102 # TODO(jmesserly): this code puts things in the pub cache. Useful for testing | 101 # TODO(jmesserly): this code puts things in the pub cache. Useful for testing |
103 # without actually uploading. | 102 # without actually uploading. |
104 #cacheDir = os.path.join( | 103 #cacheDir = os.path.join( |
105 # os.path.expanduser('~/.pub-cache/hosted/pub.dartlang.org'), | 104 # os.path.expanduser('~/.pub-cache/hosted/pub.dartlang.org'), |
106 # pkgName + '-' + version) | 105 # pkgName + '-' + version) |
107 #print 'Moving to ' + cacheDir | 106 #print 'Moving to ' + cacheDir |
108 #shutil.move(os.path.join(tmpDir, pkgName), cacheDir) | 107 #shutil.move(os.path.join(tmpDir, pkgName), cacheDir) |
109 | 108 |
110 subprocess.call(['pub', 'publish'], cwd=os.path.join(tmpDir, pkgName)) | 109 subprocess.call(['pub', 'publish'], cwd=os.path.join(tmpDir, pkgName)) |
111 shutil.rmtree(tmpDir) | 110 shutil.rmtree(tmpDir) |
112 | 111 |
113 if __name__ == '__main__': | 112 if __name__ == '__main__': |
114 sys.exit(Main(sys.argv)) | 113 sys.exit(Main(sys.argv)) |
OLD | NEW |