shenzhen 0.3.0 → 0.3.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 40a600e0bd82337030039987135497e70d020729
4
+ data.tar.gz: 4622921e0dbd0f0eb7aed77633029afab7d7b9ba
5
+ SHA512:
6
+ metadata.gz: 563f8060327384c06916c78f09c8d525598762d028a0696f79641ff2b05f045ac52334bd73a4d025e8a1b11bc4687b4553c280243a000adf8d8b61c0ea34edc0
7
+ data.tar.gz: 8954faa5264bbbc988ac6122d68d0da68290f09cc2c357adcefad44c78c4c77eb331a12a7c7049262b0ce5bf719ececeff94687cb7ccfcc05291683a3e93ae1a
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
@@ -1,31 +1,31 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shenzhen (0.3.0)
5
- commander (~> 4.1.2)
6
- faraday (~> 0.8.0)
7
- faraday_middleware (~> 0.8.7)
8
- json (~> 1.7.3)
4
+ shenzhen (0.3.1)
5
+ commander (~> 4.1)
6
+ faraday (~> 0.8)
7
+ faraday_middleware (~> 0.9)
8
+ json (~> 1.8)
9
9
 
10
10
  GEM
11
- remote: http://rubygems.org/
11
+ remote: https://rubygems.org/
12
12
  specs:
13
- commander (4.1.2)
13
+ commander (4.1.3)
14
14
  highline (~> 1.6.11)
15
- faraday (0.8.4)
15
+ faraday (0.8.7)
16
16
  multipart-post (~> 1.1)
17
- faraday_middleware (0.8.8)
17
+ faraday_middleware (0.9.0)
18
18
  faraday (>= 0.7.4, < 0.9)
19
- highline (1.6.15)
20
- json (1.7.5)
21
- multipart-post (1.1.5)
22
- rake (0.9.2.2)
19
+ highline (1.6.19)
20
+ json (1.8.0)
21
+ multipart-post (1.2.0)
22
+ rake (0.9.6)
23
23
  rspec (0.6.4)
24
24
 
25
25
  PLATFORMS
26
26
  ruby
27
27
 
28
28
  DEPENDENCIES
29
- rake (~> 0.9.2)
30
- rspec (~> 0.6.1)
29
+ rake
30
+ rspec
31
31
  shenzhen!
data/README.md CHANGED
@@ -1,50 +1,44 @@
1
- # Shenzhen
2
- **CLI for Building & Distributing iOS Apps (.ipa Files)**
1
+ ![Shenzhen](https://raw.github.com/mattt/nomad-cli.com/assets/shenzhen-banner.png)
3
2
 
4
3
  Create `.ipa` files and then distribute them with [TestFlight](https://testflightapp.com/) or [HockeyApp](http://www.hockeyapp.net), all from the command line!
5
4
 
6
5
  Less cumbersome than clicking around in Xcode, and less hassle than rolling your own build script--Shenzhen radically improves the process of getting new builds out to testers and enterprises.
7
6
 
8
- > `shenzhen` is named for [深圳](http://en.wikipedia.org/wiki/Shenzhen), the Chinese city famous for its role as the center of manufacturing for a majority of consumer electronics, including iPhones and iPads. Its [sister project](https://github.com/mattt/cupertino)'s namesake, [Cupertino, CA](http://en.wikipedia.org/wiki/Cupertino,_California), is home to Apple, Inc.'s world headquarters.
9
-
7
+ > `shenzhen` is named for [深圳](http://en.wikipedia.org/wiki/Shenzhen), the Chinese city famous for its role as the center of manufacturing for a majority of consumer electronics, including iPhones and iPads.
8
+ > It's part of a series of world-class command-line utilities for iOS development, which includes [Cupertino](https://github.com/mattt/cupertino) (Apple Dev Center management), [Houston](https://github.com/mattt/houston) (Push Notifications), [Venice](https://github.com/mattt/venice) (In-App Purchase Receipt Verification), and [Dubai](https://github.com/mattt/dubai) (Passbook pass generation).
9
+
10
10
  ## Installation
11
11
 
12
- ```
13
- $ gem install shenzhen
14
- ```
12
+ $ gem install shenzhen
15
13
 
16
14
  ## Usage
17
15
 
18
16
  Shenzhen adds the `ipa` command to your PATH:
19
17
 
20
- ```
21
- $ ipa
18
+ $ ipa
22
19
 
23
- Build and distribute iOS apps (.ipa files)
20
+ Build and distribute iOS apps (.ipa files)
24
21
 
25
- Commands:
26
- build Create a new .ipa file for your app
27
- distribute:testflight Distribute an .ipa file over TestFlight
28
- distribute:hockeyapp Distribute an .ipa file over HockeyApp
29
- distribute:ftp Distribute an .ipa file over FTP
30
- help Display global or [command] help documentation.
22
+ Commands:
23
+ build Create a new .ipa file for your app
24
+ distribute:testflight Distribute an .ipa file over TestFlight
25
+ distribute:hockeyapp Distribute an .ipa file over HockeyApp
26
+ distribute:ftp Distribute an .ipa file over FTP
27
+ help Display global or [command] help documentation.
31
28
 
32
- Aliases:
33
- distribute distribute:testflight
29
+ Aliases:
30
+ distribute distribute:testflight
34
31
 
35
- Global Options:
36
- -h, --help Display help documentation
37
- -v, --version Display version information
38
- -t, --trace Display backtrace when an error occurs
39
- ```
32
+ Global Options:
33
+ -h, --help Display help documentation
34
+ -v, --version Display version information
35
+ -t, --trace Display backtrace when an error occurs
40
36
 
41
37
  ### Building & Distribution
42
38
 
43
- ```
44
- $ cd /path/to/iOS Project/
45
- $ ipa build
46
- $ ipa distribute
47
- ```
39
+ $ cd /path/to/iOS Project/
40
+ $ ipa build
41
+ $ ipa distribute
48
42
 
49
43
  ## Contact
50
44
 
@@ -1,5 +1,5 @@
1
1
  module Shenzhen
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
4
4
 
5
5
  require 'shenzhen/agvtool'
@@ -25,7 +25,7 @@ command :build do |c|
25
25
 
26
26
  determine_configuration! unless @configuration
27
27
  say_error "Configuration #{@configuration} not found" and abort unless @xcodebuild_info.build_configurations.include?(@configuration)
28
-
28
+
29
29
  determine_scheme! unless @scheme
30
30
  say_error "Scheme #{@scheme} not found" and abort unless @xcodebuild_info.schemes.include?(@scheme)
31
31
 
@@ -51,11 +51,12 @@ command :build do |c|
51
51
  @target, @xcodebuild_settings = Shenzhen::XcodeBuild.settings(*flags).detect{|target, settings| settings['WRAPPER_EXTENSION'] == "app"}
52
52
  say_error "App settings could not be found." and abort unless @xcodebuild_settings
53
53
 
54
- @app_path = File.join(@xcodebuild_settings['BUILT_PRODUCTS_DIR'], @xcodebuild_settings['PRODUCT_NAME']) + ".app"
54
+ @app_path = File.join(@xcodebuild_settings['BUILT_PRODUCTS_DIR'], @xcodebuild_settings['WRAPPER_NAME'])
55
55
  @dsym_path = @app_path + ".dSYM"
56
- @dsym_filename = "#{@xcodebuild_settings['PRODUCT_NAME']}.app.dSYM"
57
- @ipa_path = File.join(Dir.pwd, @xcodebuild_settings['PRODUCT_NAME']) + ".ipa"
58
-
56
+ @dsym_filename = "#{@xcodebuild_settings['WRAPPER_NAME']}.dSYM"
57
+ @ipa_name = @xcodebuild_settings['WRAPPER_NAME'].gsub(@xcodebuild_settings['WRAPPER_SUFFIX'], "") + ".ipa"
58
+ @ipa_path = File.join(Dir.pwd, @ipa_name)
59
+
59
60
  log "xcrun", "PackageApplication"
60
61
  abort unless system %{xcrun -sdk iphoneos PackageApplication -v "#{@app_path}" -o "#{@ipa_path}" --embed "#{@dsym_path}" 1> /dev/null}
61
62
 
@@ -54,6 +54,7 @@ command :'distribute:hockeyapp' do |c|
54
54
  c.option '--tags TAGS', "Comma separated list of tags which will receive access to the build"
55
55
  c.option '--notify', "Notify permitted teammates to install the build"
56
56
  c.option '--downloadOff', "Upload but don't allow download of this version just yet"
57
+ c.option '--mandatory', "Make this update mandatory"
57
58
 
58
59
  c.action do |args, options|
59
60
  determine_file! unless @file = options.file
@@ -76,7 +77,7 @@ command :'distribute:hockeyapp' do |c|
76
77
  parameters[:status] = options.downloadOff ? "1" : "2"
77
78
  parameters[:tags] = options.tags if options.tags
78
79
  parameters[:dsym_filename] = @dsym if @dsym
79
-
80
+ parameters[:mandatory] = "1" if options.mandatory
80
81
 
81
82
  client = Shenzhen::Plugins::HockeyApp::Client.new(@api_token)
82
83
  response = client.upload_build(@file, parameters)
@@ -65,12 +65,11 @@ module Shenzhen::XcodeBuild
65
65
  raise NilOutputError unless /\S/ === output
66
66
 
67
67
  lines = output.split(/\n/)
68
- lines.shift
69
68
 
70
69
  settings, target = {}, nil
71
70
  lines.each do |line|
72
71
  case line
73
- when /Build settings for action build and target (\w+)/
72
+ when /Build settings for action build and target \"?([^":]+)/
74
73
  target = $1
75
74
  settings[target] = {}
76
75
  else
@@ -12,13 +12,13 @@ Gem::Specification.new do |s|
12
12
  s.summary = "Shenzhen"
13
13
  s.description = "CLI for Building & Distributing iOS Apps (.ipa Files)"
14
14
 
15
- s.add_development_dependency "rspec", "~> 0.6.1"
16
- s.add_development_dependency "rake", "~> 0.9.2"
15
+ s.add_dependency "commander", "~> 4.1"
16
+ s.add_dependency "json", "~> 1.8"
17
+ s.add_dependency "faraday", "~> 0.8"
18
+ s.add_dependency "faraday_middleware", "~> 0.9"
17
19
 
18
- s.add_dependency "commander", "~> 4.1.2"
19
- s.add_dependency "json", "~> 1.7.3"
20
- s.add_dependency "faraday", "~> 0.8.0"
21
- s.add_dependency "faraday_middleware", "~> 0.8.7"
20
+ s.add_development_dependency "rspec"
21
+ s.add_development_dependency "rake"
22
22
 
23
23
  s.files = Dir["./**/*"].reject { |file| file =~ /\.\/(bin|log|pkg|script|spec|test|vendor)/ }
24
24
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,112 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shenzhen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
5
- prerelease:
4
+ version: 0.3.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Mattt Thompson
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-12-14 00:00:00.000000000 Z
11
+ date: 2013-05-23 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rspec
14
+ name: commander
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: 0.6.1
22
- type: :development
19
+ version: '4.1'
20
+ type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: 0.6.1
26
+ version: '4.1'
30
27
  - !ruby/object:Gem::Dependency
31
- name: rake
28
+ name: json
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: 0.9.2
38
- type: :development
33
+ version: '1.8'
34
+ type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: 0.9.2
40
+ version: '1.8'
46
41
  - !ruby/object:Gem::Dependency
47
- name: commander
42
+ name: faraday
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
53
- version: 4.1.2
47
+ version: '0.8'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
61
- version: 4.1.2
54
+ version: '0.8'
62
55
  - !ruby/object:Gem::Dependency
63
- name: json
56
+ name: faraday_middleware
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
69
- version: 1.7.3
61
+ version: '0.9'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
77
- version: 1.7.3
68
+ version: '0.9'
78
69
  - !ruby/object:Gem::Dependency
79
- name: faraday
70
+ name: rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ~>
73
+ - - ! '>='
84
74
  - !ruby/object:Gem::Version
85
- version: 0.8.0
86
- type: :runtime
75
+ version: '0'
76
+ type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ~>
80
+ - - ! '>='
92
81
  - !ruby/object:Gem::Version
93
- version: 0.8.0
82
+ version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
- name: faraday_middleware
84
+ name: rake
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ~>
87
+ - - ! '>='
100
88
  - !ruby/object:Gem::Version
101
- version: 0.8.7
102
- type: :runtime
89
+ version: '0'
90
+ type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ~>
94
+ - - ! '>='
108
95
  - !ruby/object:Gem::Version
109
- version: 0.8.7
96
+ version: '0'
110
97
  description: CLI for Building & Distributing iOS Apps (.ipa Files)
111
98
  email: m@mattt.me
112
99
  executables:
@@ -129,37 +116,29 @@ files:
129
116
  - ./LICENSE
130
117
  - ./Rakefile
131
118
  - ./README.md
132
- - ./shenzhen-0.2.5.gem
133
119
  - ./shenzhen.gemspec
134
120
  - bin/ipa
135
121
  homepage: http://github.com/mattt/shenzhen
136
122
  licenses: []
123
+ metadata: {}
137
124
  post_install_message:
138
125
  rdoc_options: []
139
126
  require_paths:
140
127
  - lib
141
128
  required_ruby_version: !ruby/object:Gem::Requirement
142
- none: false
143
129
  requirements:
144
130
  - - ! '>='
145
131
  - !ruby/object:Gem::Version
146
132
  version: '0'
147
- segments:
148
- - 0
149
- hash: 4330203540217877831
150
133
  required_rubygems_version: !ruby/object:Gem::Requirement
151
- none: false
152
134
  requirements:
153
135
  - - ! '>='
154
136
  - !ruby/object:Gem::Version
155
137
  version: '0'
156
- segments:
157
- - 0
158
- hash: 4330203540217877831
159
138
  requirements: []
160
139
  rubyforge_project:
161
- rubygems_version: 1.8.24
140
+ rubygems_version: 2.0.3
162
141
  signing_key:
163
- specification_version: 3
142
+ specification_version: 4
164
143
  summary: Shenzhen
165
144
  test_files: []
Binary file