platinum-deployer 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1d93c0ff746f86415591668c7d73e2b9a364eb08
4
- data.tar.gz: 4a5e0a74f37e8709bc47438562206d15321c927a
3
+ metadata.gz: a0c75b8907062cc74597cf4adaefc0e8e07f6908
4
+ data.tar.gz: 853bb29b8a9de3df4e6865345181ca90e3a765f8
5
5
  SHA512:
6
- metadata.gz: 19c142c1128870beda5c0cccf98296ec774daa2137a6b79111d45d684a677b80acde872041da6b4e276241c084a41e2a3c7d4169c6bbe44399180def40509924
7
- data.tar.gz: a7b6f6bb412f5b96c4618cf527e6c87e7eecec524e64e1bfd16d19d0e56bd1b2bf70cac091d29651a8f6b0e9cf9b99abfad1ab1d44a381300be975d2831cd14c
6
+ metadata.gz: 66b87846a3ba89382e7a114d6fce637c26c2bf07faf55c36445819df4312809193318b07ce5048a51d40c946dbe3b4537732039e157feb3be6cd0d1943ce736a
7
+ data.tar.gz: f9cecd3b2f668ea50be90d2205aef3aea4acf2053755cff8402178854ec0b324a7448e97f9152a34fbc805714878807148e602930db6d50f12d5f5f54fa1a24f
data/bin/setup CHANGED
@@ -5,3 +5,7 @@ IFS=$'\n\t'
5
5
  bundle install
6
6
 
7
7
  # Do any other automated setup that you need to do here
8
+ # sudo npm install -g titanium
9
+ # sudo npm install -g alloy
10
+ # sudo npm install -g ios-deploy
11
+ # sudo npm install -g ioslib
data/exe/platinum CHANGED
@@ -18,13 +18,14 @@ help_banner = <<-HELP
18
18
  Compiles CoffeeScript/HAML in ./app_src to JS/XML in ./app.
19
19
  Developed by MacKinley Smith
20
20
 
21
- Usage: #{@base_command} command
21
+ Usage: platinum [command]
22
22
 
23
- Commands:
23
+ Avaliable Commands:
24
24
 
25
- #{@base_command} compile Compiles app_src files only.
26
- #{@base_command} build Compiles app_src files and builds Titanium project.
27
- #{@base_command} deploy Compiles and builds Titanium project, then deploys.
25
+ platinum compile Compiles app_src files only.
26
+ platinum build Compiles app_src files and builds Titanium project.
27
+ platinum deploy Compiles and builds Titanium project, then deploys.
28
+ platinum list Lists available simulators and devices.
28
29
 
29
30
  HELP
30
31
  if ARGV.empty? or ARGV.include? '-h' or ARGV.include? '--help'
@@ -106,7 +107,9 @@ rescue => e; warn e.message; false end
106
107
  def run_titanium_cmd(cmd)
107
108
  exit_status = nil
108
109
  Open3.popen2e(cmd) do |i, oe, thread|
109
- oe.each {|line| puts line }
110
+ oe.each do |line|
111
+ puts line
112
+ end
110
113
  exit_status = thread.value
111
114
  end
112
115
  exit_status.success?
@@ -126,6 +129,19 @@ def bundle_path
126
129
  File.expand_path path
127
130
  end
128
131
 
132
+ def force_git_commit!
133
+ git = Git.open '.'
134
+ status = git.status
135
+ change_count = status.changed.count + status.added.count +
136
+ status.deleted.count + status.untracked.count
137
+ if change_count > 0
138
+ puts
139
+ unless system 'git add .; git commit'
140
+ fatal('You must commit your work before deploying to TestFairy.') end
141
+ puts
142
+ end
143
+ end
144
+
129
145
  def deep_symbolize(obj)
130
146
  return obj.inject({}){|memo, (k,v)|
131
147
  memo[k.to_sym] = deep_symbolize(v); memo } if obj.is_a? Hash
@@ -321,13 +337,9 @@ def deploy!
321
337
  end
322
338
  def deploy_to_emulator!
323
339
  sim_opts = @options[:ios_simulator]
324
- path_to_sim_script = File.expand_path(
325
- File.join(__dir__, 'platinum-ios-simulate.js'))
326
- base_cmd = "node #{path_to_sim_script}"
340
+ base_cmd = base_cmd_for_simjs
327
341
  if sim_opts[:udid].nil?
328
- json_sim_list = `#{base_cmd} command=list 2>&1`.strip
329
- begin sim_list = JSON.parse json_sim_list
330
- rescue => e; fatal e.message; end
342
+ sim_list = get_simjs_sims
331
343
  # ap sim_list; puts
332
344
  sim_choices = {}
333
345
  sim_list.each {|ios_version, simulators|
@@ -335,8 +347,8 @@ def deploy_to_emulator!
335
347
  sim_choices[s['udid']] = "#{s['name']} running iOS #{ios_version}" } }
336
348
  if sim_choices.keys.any?
337
349
  choose do |menu|
338
- menu.header = "Installed iOS Simulators"
339
- menu.prompt = "Please choose a simulator to deploy to: "
350
+ menu.header = 'Installed iOS Simulators'
351
+ menu.prompt = 'Please choose a simulator to deploy to: '
340
352
 
341
353
  sim_choices.each {|udid, name|
342
354
  menu.choice(name) {|choice| sim_opts[:udid] = udid } }
@@ -349,6 +361,14 @@ def deploy_to_emulator!
349
361
  cmd << " simUDID=#{sim_opts[:udid]}"
350
362
  system cmd
351
363
  end
364
+ @path_to_sim_script = File.expand_path(
365
+ File.join(__dir__, 'platinum-ios-simulate.js'))
366
+ def base_cmd_for_simjs; "node #{@path_to_sim_script}" end
367
+ def get_simjs_sims
368
+ json_sim_list = `#{base_cmd_for_simjs} command=list 2>&1`.strip
369
+ begin return JSON.parse json_sim_list
370
+ rescue => e; fatal e.message; end
371
+ end
352
372
  def deploy_to_device!
353
373
  cmd = "ios-deploy --debug --bundle #{bundle_path}"
354
374
  # system cmd
@@ -405,27 +425,25 @@ def attach_tf_comment_from_git
405
425
  git = Git.open '.'
406
426
  git.log.first.message
407
427
  end
408
- def force_git_commit!
409
- git = Git.open '.'
410
- status = git.status
411
- change_count = status.changed.count + status.added.count +
412
- status.deleted.count + status.untracked.count
413
- if change_count > 0
414
- # Force a commit
415
- puts
416
- unless system 'git add .; git commit'
417
- fatal('You must commit your work before deploying to TestFairy.') end
418
- puts
419
- end
428
+
429
+ def list_things!
430
+ puts; log_info 'Listing things...'; puts
431
+
432
+ log_info 'Simulators'
433
+ log_info '=========='; puts
434
+ sim_list = get_simjs_sims
435
+ ap sim_list; puts
420
436
  end
421
437
 
422
438
  if @command
423
439
  case @command
424
440
  when 'compile' then compile_source!
425
- when 'build' then build! if compile_source!
441
+ when 'build' then build! if compile_source! # Compile and build.
426
442
  when 'deploy'
443
+ # Force a git commit upfront.
427
444
  force_git_commit! if build_cmd_opts[:target] =~ /^dist/
428
- deploy! if compile_source! && build!
445
+ deploy! if compile_source! && build! # Compile, build and deploy.
446
+ when 'list' then list_things!
429
447
  else fatal "Command not recognized: #{@command}"
430
448
  end
431
449
  exit 0
@@ -1,5 +1,5 @@
1
1
  module Platinum
2
2
  module Deployer
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: platinum-deployer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - MacKinley Smith
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-07 00:00:00.000000000 Z
11
+ date: 2015-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler