|
10 | 10 | import tarfile
|
11 | 11 | import zipfile
|
12 | 12 |
|
| 13 | +steps = ['nw', 'chromedriver', 'symbol'] |
13 | 14 | ################################
|
14 | 15 | # Parse command line args
|
15 | 16 | parser = argparse.ArgumentParser(description='Package nw binaries.')
|
16 | 17 | parser.add_argument('-p','--path', help='Where to find the binaries, like out/Release', required=False)
|
17 |
| -parser.add_argument('-s','--step', help='Execute specified step. (could be "nw", "chromedriver" or "symbol")', required=False) |
| 18 | +group = parser.add_mutually_exclusive_group() |
| 19 | +group.add_argument('-s','--step', choices=steps, help='Execute specified step.', required=False) |
| 20 | +group.add_argument('-n','--skip', choices=steps, help='Skip specified step.', required=False) |
18 | 21 | args = parser.parse_args()
|
19 | 22 |
|
20 | 23 | ################################
|
|
23 | 26 | platform_name = None # win/linux/osx
|
24 | 27 | arch = None # ia32/x64
|
25 | 28 | step = None # nw/chromedriver/symbol
|
| 29 | +skip = None |
26 | 30 | nw_ver = None # x.xx
|
27 | 31 | dist_dir = None # .../out/Release/dist
|
28 | 32 |
|
29 | 33 | step = args.step
|
| 34 | +skip = args.skip |
30 | 35 | binaries_location = args.path
|
31 | 36 | # If the binaries location is not given, calculate it from script related dir.
|
32 | 37 | if binaries_location == None:
|
@@ -253,20 +258,20 @@ def make_packages(targets):
|
253 | 258 | # single file
|
254 | 259 | compress(binaries_location, dist_dir, t['input'][0], t['compress'])
|
255 | 260 |
|
256 |
| - |
| 261 | +# must be aligned with steps |
| 262 | +generators = {} |
| 263 | +generators['nw'] = generate_target_nw |
| 264 | +generators['chromedriver'] = generate_target_chromedriver |
| 265 | +generators['symbol'] = generate_target_symbols |
257 | 266 | ################################
|
258 | 267 | # Process targets
|
259 | 268 | targets = []
|
260 |
| -if step == 'nw': |
261 |
| - targets.append(generate_target_nw(platform_name, arch, nw_ver)) |
262 |
| -elif step == 'chromedriver': |
263 |
| - targets.append(generate_target_chromedriver(platform_name, arch, nw_ver)) |
264 |
| -elif step == 'symbol': |
265 |
| - targets.append(generate_target_symbols(platform_name, arch, nw_ver)) |
266 |
| -else: |
267 |
| - targets.append(generate_target_nw(platform_name, arch, nw_ver)) |
268 |
| - targets.append(generate_target_chromedriver(platform_name, arch, nw_ver)) |
269 |
| - targets.append(generate_target_symbols(platform_name, arch, nw_ver)) |
| 269 | +for s in steps: |
| 270 | + if (step != None) and (s != step): |
| 271 | + continue |
| 272 | + if (skip != None) and (s == skip): |
| 273 | + continue |
| 274 | + targets.append(generators[s](platform_name, arch, nw_ver)) |
270 | 275 |
|
271 | 276 | print 'Creating packages...'
|
272 | 277 | make_packages(targets)
|
|
0 commit comments