shenzhen 0.5.0 → 0.5.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 +4 -4
- data/Gemfile.lock +2 -2
- data/lib/shenzhen.rb +1 -4
- data/lib/shenzhen/commands/build.rb +7 -6
- data/lib/shenzhen/plugins/hockeyapp.rb +9 -0
- data/lib/shenzhen/plugins/s3.rb +5 -3
- data/lib/shenzhen/plugins/testflight.rb +4 -1
- data/lib/shenzhen/version.rb +3 -0
- data/shenzhen.gemspec +1 -1
- metadata +3 -3
- data/nada.ipa +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 662c8d1d475e2f3439b2d0a2c14f7bf5ff1b5418
|
4
|
+
data.tar.gz: aa47a3775e5be5b25467221bf76c841fee055ffd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e56f40210167d925c100c5dde26272f19231c586fadeb0a34d9b71d54e4396d189ab13a7e53c00318f2c5c6bfe4506cfb5375115a43cd3251dffa1c89f075722
|
7
|
+
data.tar.gz: d6e3936ecbb5be845f25600a77e4e1c7932b0b568cfddeb548157b257dce0fcda61cdf1c96ce1a85916e09353b8fa95cc814f4e549d183f804801859186a3379
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
shenzhen (0.5.
|
4
|
+
shenzhen (0.5.1)
|
5
5
|
aws-sdk (~> 1.0)
|
6
6
|
commander (~> 4.1)
|
7
7
|
dotenv (~> 0.7)
|
@@ -25,7 +25,7 @@ GEM
|
|
25
25
|
faraday_middleware (0.9.0)
|
26
26
|
faraday (>= 0.7.4, < 0.9)
|
27
27
|
highline (1.6.19)
|
28
|
-
json (1.8.
|
28
|
+
json (1.8.1)
|
29
29
|
multipart-post (1.2.0)
|
30
30
|
net-sftp (2.1.2)
|
31
31
|
net-ssh (>= 2.6.5)
|
data/lib/shenzhen.rb
CHANGED
@@ -13,6 +13,7 @@ command :build do |c|
|
|
13
13
|
c.option '--[no-]archive', 'Archive project after building'
|
14
14
|
c.option '-d', '--destination DESTINATION', 'Destination. Defaults to current directory'
|
15
15
|
c.option '-m', '--embed PROVISION', 'Sign .ipa file with .mobileprovision'
|
16
|
+
c.option '-sdk', '--sdk SDK', 'use SDK as the name or path of the base SDK when building the project'
|
16
17
|
|
17
18
|
c.action do |args, options|
|
18
19
|
validate_xcode_version!
|
@@ -23,6 +24,7 @@ command :build do |c|
|
|
23
24
|
@xcodebuild_info = Shenzhen::XcodeBuild.info(:workspace => @workspace, :project => @project)
|
24
25
|
|
25
26
|
@scheme = options.scheme
|
27
|
+
@sdk = options.sdk || 'iphoneos'
|
26
28
|
@configuration = options.configuration
|
27
29
|
@destination = options.destination || Dir.pwd
|
28
30
|
FileUtils.mkdir_p(@destination) unless File.directory?(@destination)
|
@@ -35,14 +37,10 @@ command :build do |c|
|
|
35
37
|
determine_scheme! unless @scheme
|
36
38
|
say_error "Scheme #{@scheme} not found" and abort unless (@xcodebuild_info.schemes.include?(@scheme) rescue false)
|
37
39
|
|
38
|
-
say_warning "Building \"#{@workspace || @project}\" with Scheme \"#{@scheme}\" and Configuration \"#{@configuration}\"\n" unless options.quiet
|
39
|
-
|
40
|
-
log "xcodebuild", (@workspace || @project)
|
41
|
-
|
42
40
|
@configuration = options.configuration
|
43
41
|
|
44
42
|
flags = []
|
45
|
-
flags << "-sdk
|
43
|
+
flags << "-sdk #{@sdk}"
|
46
44
|
flags << "-workspace '#{@workspace}'" if @workspace
|
47
45
|
flags << "-project '#{@project}'" if @project
|
48
46
|
flags << "-scheme '#{@scheme}'" if @scheme
|
@@ -57,6 +55,7 @@ command :build do |c|
|
|
57
55
|
end
|
58
56
|
|
59
57
|
say_warning "Building \"#{@workspace || @project}\" with Scheme \"#{@scheme}\" and Configuration \"#{@configuration}\"\n" unless options.quiet
|
58
|
+
log "xcodebuild", (@workspace || @project)
|
60
59
|
|
61
60
|
actions = []
|
62
61
|
actions << :clean unless options.clean == false
|
@@ -76,7 +75,7 @@ command :build do |c|
|
|
76
75
|
@ipa_path = File.expand_path(@ipa_name, @destination)
|
77
76
|
|
78
77
|
log "xcrun", "PackageApplication"
|
79
|
-
abort unless system %{xcrun -sdk
|
78
|
+
abort unless system %{xcrun -sdk #{@sdk} PackageApplication -v "#{@app_path}" -o "#{@ipa_path}" --embed "#{options.embed || @dsym_path}" 1> /dev/null}
|
80
79
|
|
81
80
|
log "zip", @dsym_filename
|
82
81
|
abort unless system %{cp -r "#{@dsym_path}" "#{@destination}" && zip -r "#{@dsym_filename}.zip" "#{@dsym_filename}" >/dev/null && rm -rf "#{@dsym_filename}"}
|
@@ -114,6 +113,8 @@ command :build do |c|
|
|
114
113
|
end
|
115
114
|
|
116
115
|
def determine_scheme!
|
116
|
+
say_error "No schemes found in Xcode project or workspace" and abort unless @xcodebuild_info.schemes
|
117
|
+
|
117
118
|
if @xcodebuild_info.schemes.length == 1
|
118
119
|
@scheme = @xcodebuild_info.schemes.first
|
119
120
|
else
|
@@ -51,6 +51,7 @@ command :'distribute:hockeyapp' do |c|
|
|
51
51
|
c.option '-t', '--token TOKEN', "API Token. Available at https://rink.hockeyapp.net/manage/auth_tokens"
|
52
52
|
c.option '-i', '--identifier PUBLIC_IDENTIFIER', "Public identifier of the app you are targeting, if not specified HockeyApp will use the bundle identifier to choose the right"
|
53
53
|
c.option '-m', '--notes NOTES', "Release notes for the build (Default: Textile)"
|
54
|
+
c.option '-r', '--release RELEASE', [:alpha, :beta, :live], "Release type: 0 - Beta, 1 - Live, 2 - Alpha (Default: alpha)"
|
54
55
|
c.option '--markdown', 'Notes are written with Markdown'
|
55
56
|
c.option '--tags TAGS', "Comma separated list of tags which will receive access to the build"
|
56
57
|
c.option '--notify', "Notify permitted teammates to install the build"
|
@@ -79,6 +80,14 @@ command :'distribute:hockeyapp' do |c|
|
|
79
80
|
parameters[:tags] = options.tags if options.tags
|
80
81
|
parameters[:dsym_filename] = @dsym if @dsym
|
81
82
|
parameters[:mandatory] = "1" if options.mandatory
|
83
|
+
parameters[:release_type] = case options.release
|
84
|
+
when "beta", "0"
|
85
|
+
"0"
|
86
|
+
when "live", "1"
|
87
|
+
"1"
|
88
|
+
else
|
89
|
+
"2"
|
90
|
+
end
|
82
91
|
|
83
92
|
client = Shenzhen::Plugins::HockeyApp::Client.new(@api_token)
|
84
93
|
response = client.upload_build(@file, parameters)
|
data/lib/shenzhen/plugins/s3.rb
CHANGED
@@ -21,7 +21,9 @@ module Shenzhen::Plugins
|
|
21
21
|
files << options[:dsym]
|
22
22
|
files.each do |file|
|
23
23
|
key = File.join(path, File.basename(file))
|
24
|
-
|
24
|
+
File.open(file) do |descriptor|
|
25
|
+
bucket.objects.create(key, descriptor, :acl => options[:acl])
|
26
|
+
end
|
25
27
|
end
|
26
28
|
end
|
27
29
|
|
@@ -36,7 +38,7 @@ module Shenzhen::Plugins
|
|
36
38
|
Dir.mktmpdir do |dir|
|
37
39
|
system "unzip -q #{ipa} -d #{dir} 2> /dev/null"
|
38
40
|
|
39
|
-
plist = Dir["#{dir}
|
41
|
+
plist = Dir["#{dir}/**/*.app/Info.plist"].last
|
40
42
|
|
41
43
|
substitutions.uniq.each do |substitution|
|
42
44
|
key = substitution[1...-1]
|
@@ -115,7 +117,7 @@ command :'distribute:s3' do |c|
|
|
115
117
|
|
116
118
|
def determine_secret_access_key!
|
117
119
|
@secret_access_key ||= ENV['AWS_SECRET_ACCESS_KEY']
|
118
|
-
@secret_access_key ||=
|
120
|
+
@secret_access_key ||= ask "Secret Access Key:"
|
119
121
|
end
|
120
122
|
|
121
123
|
def determine_bucket!
|
@@ -10,7 +10,7 @@ module Shenzhen::Plugins
|
|
10
10
|
|
11
11
|
def initialize(api_token, team_token)
|
12
12
|
@api_token, @team_token = api_token, team_token
|
13
|
-
@connection = Faraday.new(:url => "http://#{HOSTNAME}") do |builder|
|
13
|
+
@connection = Faraday.new(:url => "http://#{HOSTNAME}", :request => { :timeout => 120 }) do |builder|
|
14
14
|
builder.request :multipart
|
15
15
|
builder.request :json
|
16
16
|
builder.response :json, :content_type => /\bjson$/
|
@@ -33,6 +33,9 @@ module Shenzhen::Plugins
|
|
33
33
|
@connection.post("/api/builds.json", options).on_complete do |env|
|
34
34
|
yield env[:status], env[:body] if block_given?
|
35
35
|
end
|
36
|
+
|
37
|
+
rescue Faraday::Error::TimeoutError
|
38
|
+
say_error "Timed out while uploading build. Check https://testflightapp.com/dashboard/applications/ to see if the upload was completed." and abort
|
36
39
|
end
|
37
40
|
end
|
38
41
|
end
|
data/shenzhen.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shenzhen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mattt Thompson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|
@@ -154,10 +154,10 @@ files:
|
|
154
154
|
- ./lib/shenzhen/plugins/hockeyapp.rb
|
155
155
|
- ./lib/shenzhen/plugins/s3.rb
|
156
156
|
- ./lib/shenzhen/plugins/testflight.rb
|
157
|
+
- ./lib/shenzhen/version.rb
|
157
158
|
- ./lib/shenzhen/xcodebuild.rb
|
158
159
|
- ./lib/shenzhen.rb
|
159
160
|
- ./LICENSE
|
160
|
-
- ./nada.ipa
|
161
161
|
- ./Rakefile
|
162
162
|
- ./README.md
|
163
163
|
- ./shenzhen.gemspec
|
data/nada.ipa
DELETED
File without changes
|