fastlane 1.47.0 → 1.48.0
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/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
|