shenzhen 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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