fastlane 1.47.0 → 1.48.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/fastlane +2 -0
- data/lib/fastlane/actions/get_github_release.rb +1 -1
- data/lib/fastlane/actions/git_branch.rb +3 -1
- data/lib/fastlane/actions/match.rb +13 -0
- data/lib/fastlane/actions/sonar.rb +86 -0
- data/lib/fastlane/actions/tryouts.rb +130 -0
- data/lib/fastlane/version.rb +1 -1
- data/lib/fastlane.rb +1 -0
- metadata +16 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a5d03f7acef71473dbcf2d8f361ac8c9aa756c4
|
4
|
+
data.tar.gz: beee3f8e936b16eebb46213cea86e4590fc30eea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9f2eecd4ec5e999f3278015d53d3a45ac7f13a1f1cf6336d1241508d4b1fee574f1ddf2f1d8d6030b3b0afa2f0a051f73f9d27f648b685d8767cc83d6ceb7fc
|
7
|
+
data.tar.gz: e311ba2e8c85ebe0263384a24d9f214614ee494e5797480e48a28eb9eac8fb99266e351783bbac40067f876b0145cd1ae436f018cd8821c9d7e2051e73f555ee
|
data/bin/fastlane
CHANGED
@@ -46,7 +46,7 @@ module Fastlane
|
|
46
46
|
#####################################################
|
47
47
|
|
48
48
|
def self.description
|
49
|
-
"This will verify if a given release version is
|
49
|
+
"This will verify if a given release version is available on GitHub"
|
50
50
|
end
|
51
51
|
|
52
52
|
def self.details
|
@@ -5,7 +5,9 @@ module Fastlane
|
|
5
5
|
|
6
6
|
class GitBranchAction < Action
|
7
7
|
def self.run(params)
|
8
|
-
ENV['GIT_BRANCH']
|
8
|
+
return ENV['GIT_BRANCH'] if ENV['GIT_BRANCH']
|
9
|
+
return ENV["TRAVIS_BRANCH"] if ENV["TRAVIS_BRANCH"]
|
10
|
+
`git symbolic-ref HEAD --short 2>/dev/null`.strip
|
9
11
|
end
|
10
12
|
|
11
13
|
#####################################################
|
@@ -9,11 +9,24 @@ module Fastlane
|
|
9
9
|
|
10
10
|
params.load_configuration_file("Matchfile")
|
11
11
|
Match::Runner.new.run(params)
|
12
|
+
|
13
|
+
define_profile_type(params)
|
12
14
|
ensure
|
13
15
|
FastlaneCore::UpdateChecker.show_update_status('match', Match::VERSION)
|
14
16
|
end
|
15
17
|
end
|
16
18
|
|
19
|
+
def self.define_profile_type(values)
|
20
|
+
profile_type = "app-store"
|
21
|
+
profile_type = "ad-hoc" if values[:type] == 'adhoc'
|
22
|
+
profile_type = "development" if values[:type] == 'development'
|
23
|
+
profile_type = "enterprise" if values[:type] == 'enterprise'
|
24
|
+
|
25
|
+
Helper.log.info "Setting Provisioning Profile type to '#{profile_type}'"
|
26
|
+
|
27
|
+
Actions.lane_context[SharedValues::SIGH_PROFILE_TYPE] = profile_type
|
28
|
+
end
|
29
|
+
|
17
30
|
#####################################################
|
18
31
|
# @!group Documentation
|
19
32
|
#####################################################
|
@@ -0,0 +1,86 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class SonarAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
verify_sonar_runner_binary
|
6
|
+
|
7
|
+
command_prefix = [
|
8
|
+
'cd',
|
9
|
+
File.expand_path('.').shellescape,
|
10
|
+
'&&'
|
11
|
+
].join(' ')
|
12
|
+
|
13
|
+
sonar_runner_args = []
|
14
|
+
sonar_runner_args << "-Dproject.settings=\"#{params[:project_configuration_path]}\"" if params[:project_configuration_path]
|
15
|
+
sonar_runner_args << "-Dsonar.projectKey=\"#{params[:project_key]}\"" if params[:project_key]
|
16
|
+
sonar_runner_args << "-Dsonar.projectName=\"#{params[:project_name]}\"" if params[:project_name]
|
17
|
+
sonar_runner_args << "-Dsonar.projectVersion=\"#{params[:project_version]}\"" if params[:project_version]
|
18
|
+
sonar_runner_args << "-Dsonar.sources=\"#{params[:sources_path]}\"" if params[:sources_path]
|
19
|
+
|
20
|
+
command = [
|
21
|
+
command_prefix,
|
22
|
+
'sonar-runner',
|
23
|
+
sonar_runner_args
|
24
|
+
].join(' ')
|
25
|
+
|
26
|
+
Action.sh command
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.verify_sonar_runner_binary
|
30
|
+
raise "You have to install sonar-runner using `brew install sonar-runner`".red unless `which sonar-runner`.to_s.length > 0
|
31
|
+
end
|
32
|
+
|
33
|
+
#####################################################
|
34
|
+
# @!group Documentation
|
35
|
+
#####################################################
|
36
|
+
|
37
|
+
def self.description
|
38
|
+
"Invokes sonar-runner to programmatically run SonarQube analysis"
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.details
|
42
|
+
"See http://docs.sonarqube.org/display/SONAR/Analyzing+with+SonarQube+Scanner for details."
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.available_options
|
46
|
+
[
|
47
|
+
FastlaneCore::ConfigItem.new(key: :project_configuration_path,
|
48
|
+
env_name: "FL_SONAR_RUNNER_PROPERTIES_PATH",
|
49
|
+
description: "The path to your sonar project configuration file; defaults to `sonar-project.properties`", # default is enforced by sonar-runner binary
|
50
|
+
optional: true,
|
51
|
+
verify_block: proc do |value|
|
52
|
+
raise "Couldn't find file at path '#{value}'".red unless value.nil? or File.exist?(value)
|
53
|
+
end),
|
54
|
+
FastlaneCore::ConfigItem.new(key: :project_key,
|
55
|
+
env_name: "FL_SONAR_RUNNER_PROJECT_KEY",
|
56
|
+
description: "The key sonar uses to identify the project, e.g. `name.gretzki.awesomeApp`. Must either be specified here or inside the sonar project configuration file",
|
57
|
+
optional: true),
|
58
|
+
FastlaneCore::ConfigItem.new(key: :project_name,
|
59
|
+
env_name: "FL_SONAR_RUNNER_PROJECT_NAME",
|
60
|
+
description: "The name of the project that gets displayed on the sonar report page. Must either be specified here or inside the sonar project configuration file",
|
61
|
+
optional: true),
|
62
|
+
FastlaneCore::ConfigItem.new(key: :project_version,
|
63
|
+
env_name: "FL_SONAR_RUNNER_PROJECT_VERSION",
|
64
|
+
description: "The project's version that gets displayed on the sonar report page. Must either be specified here or inside the sonar project configuration file",
|
65
|
+
optional: true),
|
66
|
+
FastlaneCore::ConfigItem.new(key: :sources_path,
|
67
|
+
env_name: "FL_SONAR_RUNNER_SOURCES_PATH",
|
68
|
+
description: "Comma-separated paths to directories containing source files. Must either be specified here or inside the sonar project configuration file",
|
69
|
+
optional: true)
|
70
|
+
]
|
71
|
+
end
|
72
|
+
|
73
|
+
def self.return_value
|
74
|
+
"The exit code of the sonar-runner binary"
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.authors
|
78
|
+
["c_gretzki"]
|
79
|
+
end
|
80
|
+
|
81
|
+
def self.is_supported?(platform)
|
82
|
+
true
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,130 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
module SharedValues
|
4
|
+
# Contains all the data returned from the Tryouts API. See http://tryouts.readthedocs.org/en/latest/releases.html#create-release
|
5
|
+
TRYOUTS_BUILD_INFORMATION = :TRYOUTS_BUILD_INFORMATION
|
6
|
+
end
|
7
|
+
class TryoutsAction < Action
|
8
|
+
|
9
|
+
TRYOUTS_API_BUILD_RELEASE_TEMPLATE = "https://api.tryouts.io/v1/applications/%s/releases/"
|
10
|
+
|
11
|
+
def self.run(params)
|
12
|
+
Helper.log.info 'Upload to Tryouts has been started. This may take some time.'.green
|
13
|
+
|
14
|
+
response = self.upload_build(params)
|
15
|
+
|
16
|
+
case response.status
|
17
|
+
when 200...300
|
18
|
+
Actions.lane_context[SharedValues::TRYOUTS_BUILD_INFORMATION] = response.body
|
19
|
+
Helper.log.info 'Build successfully uploaded to Tryouts!'.green
|
20
|
+
Helper.log.info "Release download url: #{response.body['download_url']}" if response.body["download_url"]
|
21
|
+
else
|
22
|
+
raise "Error when trying to upload build file to Tryouts: #{response.body}".red
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.upload_build(params)
|
27
|
+
require 'faraday'
|
28
|
+
require 'faraday_middleware'
|
29
|
+
|
30
|
+
url = TRYOUTS_API_BUILD_RELEASE_TEMPLATE % params[:app_id]
|
31
|
+
connection = Faraday.new(url) do |builder|
|
32
|
+
builder.request :multipart
|
33
|
+
builder.request :url_encoded
|
34
|
+
builder.response :json, content_type: /\bjson$/
|
35
|
+
builder.use FaradayMiddleware::FollowRedirects
|
36
|
+
builder.adapter :net_http
|
37
|
+
end
|
38
|
+
|
39
|
+
options = {}
|
40
|
+
options[:build] = Faraday::UploadIO.new(params[:build_file], 'application/octet-stream')
|
41
|
+
|
42
|
+
if params[:notes_path]
|
43
|
+
options[:notes] = File.read(params[:notes_path])
|
44
|
+
else
|
45
|
+
options[:notes] = params[:notes] if params[:notes]
|
46
|
+
end
|
47
|
+
|
48
|
+
options[:notify] = params[:notify].to_s
|
49
|
+
options[:status] = params[:status].to_s
|
50
|
+
|
51
|
+
post_request = connection.post do |req|
|
52
|
+
req.headers['Authorization'] = params[:api_token]
|
53
|
+
req.body = options
|
54
|
+
end
|
55
|
+
|
56
|
+
post_request.on_complete do |env|
|
57
|
+
yield env[:status], env[:body] if block_given?
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.description
|
62
|
+
"Upload a new build to Tryouts"
|
63
|
+
end
|
64
|
+
|
65
|
+
def self.available_options
|
66
|
+
[
|
67
|
+
FastlaneCore::ConfigItem.new(key: :app_id,
|
68
|
+
env_name: "TRYOUTS_APP_ID",
|
69
|
+
description: "Tryouts application hash",
|
70
|
+
verify_block: proc do |value|
|
71
|
+
raise "No application identifier for Tryouts given, pass using `app_id: 'application id'`".red unless value and !value.empty?
|
72
|
+
end),
|
73
|
+
FastlaneCore::ConfigItem.new(key: :api_token,
|
74
|
+
env_name: "TRYOUTS_API_TOKEN",
|
75
|
+
description: "API Token for Tryouts Access",
|
76
|
+
verify_block: proc do |value|
|
77
|
+
raise "No API token for Tryouts given, pass using `api_token: 'token'`".red unless value and !value.empty?
|
78
|
+
end),
|
79
|
+
FastlaneCore::ConfigItem.new(key: :build_file,
|
80
|
+
env_name: "TRYOUTS_BUILD_FILE",
|
81
|
+
description: "Path to your IPA or APK file. Optional if you use the `gym` or `xcodebuild` action",
|
82
|
+
default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH],
|
83
|
+
verify_block: proc do |value|
|
84
|
+
raise "Couldn't find build file at path '#{value}'".red unless File.exist?(value)
|
85
|
+
end),
|
86
|
+
FastlaneCore::ConfigItem.new(key: :notes,
|
87
|
+
env_name: "TRYOUTS_NOTES",
|
88
|
+
description: "Release notes",
|
89
|
+
is_string: true,
|
90
|
+
optional: true),
|
91
|
+
FastlaneCore::ConfigItem.new(key: :notes_path,
|
92
|
+
env_name: "TRYOUTS_NOTES_PATH",
|
93
|
+
description: "Release notes text file path. Overrides the :notes paramether",
|
94
|
+
verify_block: proc do |value|
|
95
|
+
raise "Couldn't find notes file at path '#{value}'".red unless File.exist?(value)
|
96
|
+
end,
|
97
|
+
optional: true),
|
98
|
+
FastlaneCore::ConfigItem.new(key: :notify,
|
99
|
+
env_name: "TRYOUTS_NOTIFY",
|
100
|
+
description: "Notify testers? 0 for no",
|
101
|
+
is_string: false,
|
102
|
+
default_value: 1),
|
103
|
+
FastlaneCore::ConfigItem.new(key: :status,
|
104
|
+
env_name: "TRYOUTS_STATUS",
|
105
|
+
description: "2 to make your release public. Release will be distributed to available testers. 1 to make your release private. Release won't be distributed to testers. This also prevents release from showing up for SDK update",
|
106
|
+
verify_block: proc do |value|
|
107
|
+
available_options = ["1", "2"]
|
108
|
+
raise "'#{value}' is not a valid 'status' value. Available options are #{available_options.join(', ')}".red unless available_options.include?(value.to_s)
|
109
|
+
end,
|
110
|
+
is_string: false,
|
111
|
+
default_value: 2)
|
112
|
+
]
|
113
|
+
end
|
114
|
+
|
115
|
+
def self.output
|
116
|
+
[
|
117
|
+
['TRYOUTS_BUILD_INFORMATION', 'Contains release info like :application_name, :download_url. See http://tryouts.readthedocs.org/en/latest/releases.html#create-release']
|
118
|
+
]
|
119
|
+
end
|
120
|
+
|
121
|
+
def self.authors
|
122
|
+
["alicertel"]
|
123
|
+
end
|
124
|
+
|
125
|
+
def self.is_supported?(platform)
|
126
|
+
[:ios, :android].include?(platform)
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
data/lib/fastlane/version.rb
CHANGED
data/lib/fastlane.rb
CHANGED
@@ -19,6 +19,7 @@ require 'fastlane_core'
|
|
19
19
|
|
20
20
|
module Fastlane
|
21
21
|
Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
|
22
|
+
UI = FastlaneCore::UI
|
22
23
|
|
23
24
|
Fastlane::Actions.load_default_actions
|
24
25
|
Fastlane::Actions.load_helpers
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.48.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: krausefx-shenzhen
|
@@ -148,7 +148,7 @@ dependencies:
|
|
148
148
|
requirements:
|
149
149
|
- - ">="
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: 0.29.
|
151
|
+
version: 0.29.1
|
152
152
|
- - "<"
|
153
153
|
- !ruby/object:Gem::Version
|
154
154
|
version: 1.0.0
|
@@ -158,7 +158,7 @@ dependencies:
|
|
158
158
|
requirements:
|
159
159
|
- - ">="
|
160
160
|
- !ruby/object:Gem::Version
|
161
|
-
version: 0.29.
|
161
|
+
version: 0.29.1
|
162
162
|
- - "<"
|
163
163
|
- !ruby/object:Gem::Version
|
164
164
|
version: 1.0.0
|
@@ -188,7 +188,7 @@ dependencies:
|
|
188
188
|
requirements:
|
189
189
|
- - ">="
|
190
190
|
- !ruby/object:Gem::Version
|
191
|
-
version: 0.
|
191
|
+
version: 0.18.0
|
192
192
|
- - "<"
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: 1.0.0
|
@@ -198,7 +198,7 @@ dependencies:
|
|
198
198
|
requirements:
|
199
199
|
- - ">="
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version: 0.
|
201
|
+
version: 0.18.0
|
202
202
|
- - "<"
|
203
203
|
- !ruby/object:Gem::Version
|
204
204
|
version: 1.0.0
|
@@ -228,7 +228,7 @@ dependencies:
|
|
228
228
|
requirements:
|
229
229
|
- - ">="
|
230
230
|
- !ruby/object:Gem::Version
|
231
|
-
version: 1.4.
|
231
|
+
version: 1.4.2
|
232
232
|
- - "<"
|
233
233
|
- !ruby/object:Gem::Version
|
234
234
|
version: 2.0.0
|
@@ -238,7 +238,7 @@ dependencies:
|
|
238
238
|
requirements:
|
239
239
|
- - ">="
|
240
240
|
- !ruby/object:Gem::Version
|
241
|
-
version: 1.4.
|
241
|
+
version: 1.4.2
|
242
242
|
- - "<"
|
243
243
|
- !ruby/object:Gem::Version
|
244
244
|
version: 2.0.0
|
@@ -248,7 +248,7 @@ dependencies:
|
|
248
248
|
requirements:
|
249
249
|
- - ">="
|
250
250
|
- !ruby/object:Gem::Version
|
251
|
-
version: 2.4.
|
251
|
+
version: 2.4.1
|
252
252
|
- - "<"
|
253
253
|
- !ruby/object:Gem::Version
|
254
254
|
version: 3.0.0
|
@@ -258,7 +258,7 @@ dependencies:
|
|
258
258
|
requirements:
|
259
259
|
- - ">="
|
260
260
|
- !ruby/object:Gem::Version
|
261
|
-
version: 2.4.
|
261
|
+
version: 2.4.1
|
262
262
|
- - "<"
|
263
263
|
- !ruby/object:Gem::Version
|
264
264
|
version: 3.0.0
|
@@ -308,7 +308,7 @@ dependencies:
|
|
308
308
|
requirements:
|
309
309
|
- - ">="
|
310
310
|
- !ruby/object:Gem::Version
|
311
|
-
version: 1.2.
|
311
|
+
version: 1.2.1
|
312
312
|
- - "<"
|
313
313
|
- !ruby/object:Gem::Version
|
314
314
|
version: 2.0.0
|
@@ -318,7 +318,7 @@ dependencies:
|
|
318
318
|
requirements:
|
319
319
|
- - ">="
|
320
320
|
- !ruby/object:Gem::Version
|
321
|
-
version: 1.2.
|
321
|
+
version: 1.2.1
|
322
322
|
- - "<"
|
323
323
|
- !ruby/object:Gem::Version
|
324
324
|
version: 2.0.0
|
@@ -428,7 +428,7 @@ dependencies:
|
|
428
428
|
requirements:
|
429
429
|
- - ">="
|
430
430
|
- !ruby/object:Gem::Version
|
431
|
-
version: 0.1.
|
431
|
+
version: 0.1.2
|
432
432
|
- - "<"
|
433
433
|
- !ruby/object:Gem::Version
|
434
434
|
version: 1.0.0
|
@@ -438,7 +438,7 @@ dependencies:
|
|
438
438
|
requirements:
|
439
439
|
- - ">="
|
440
440
|
- !ruby/object:Gem::Version
|
441
|
-
version: 0.1.
|
441
|
+
version: 0.1.2
|
442
442
|
- - "<"
|
443
443
|
- !ruby/object:Gem::Version
|
444
444
|
version: 1.0.0
|
@@ -679,6 +679,7 @@ files:
|
|
679
679
|
- lib/fastlane/actions/slack.rb
|
680
680
|
- lib/fastlane/actions/slather.rb
|
681
681
|
- lib/fastlane/actions/snapshot.rb
|
682
|
+
- lib/fastlane/actions/sonar.rb
|
682
683
|
- lib/fastlane/actions/splunkmint.rb
|
683
684
|
- lib/fastlane/actions/supply.rb
|
684
685
|
- lib/fastlane/actions/swiftlint.rb
|
@@ -686,6 +687,7 @@ files:
|
|
686
687
|
- lib/fastlane/actions/team_name.rb
|
687
688
|
- lib/fastlane/actions/testflight.rb
|
688
689
|
- lib/fastlane/actions/testmunk.rb
|
690
|
+
- lib/fastlane/actions/tryouts.rb
|
689
691
|
- lib/fastlane/actions/typetalk.rb
|
690
692
|
- lib/fastlane/actions/unlock_keychain.rb
|
691
693
|
- lib/fastlane/actions/update_app_group_identifiers.rb
|