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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 271f13ff41cc0f6d6cd535fd93fc16d6a83721a2
4
- data.tar.gz: a7052257b6aeb80085e30da44ccf66daef244251
3
+ metadata.gz: 6a5d03f7acef71473dbcf2d8f361ac8c9aa756c4
4
+ data.tar.gz: beee3f8e936b16eebb46213cea86e4590fc30eea
5
5
  SHA512:
6
- metadata.gz: fa6225de074f1873c73e732377bc3a1101a138decf0e572da596f4c161355fd91dfac5a8a6a717c43e5b3bf47cdd8910de6af7b0f6539d3cf4cef4c75ceb82a8
7
- data.tar.gz: 5114b3865bcaa3a6a675c58d7ad91edb3240c3a3dbc3b0671050a9e003582a9c8b8c95e762b3b89dc786d9d431c2830df263e755c704cd30c2eb9d239159876d
6
+ metadata.gz: d9f2eecd4ec5e999f3278015d53d3a45ac7f13a1f1cf6336d1241508d4b1fee574f1ddf2f1d8d6030b3b0afa2f0a051f73f9d27f648b685d8767cc83d6ceb7fc
7
+ data.tar.gz: e311ba2e8c85ebe0263384a24d9f214614ee494e5797480e48a28eb9eac8fb99266e351783bbac40067f876b0145cd1ae436f018cd8821c9d7e2051e73f555ee
data/bin/fastlane CHANGED
@@ -23,6 +23,8 @@ class FastlaneApplication
23
23
  program :help, 'GitHub', 'https://github.com/krausefx/fastlane'
24
24
  program :help_formatter, :compact
25
25
 
26
+ global_option('--verbose') { $verbose = true }
27
+
26
28
  always_trace!
27
29
 
28
30
  command :trigger do |c|
@@ -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 avialable on GitHub"
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'] or `git symbolic-ref HEAD --short 2>/dev/null`.strip
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
@@ -1,3 +1,3 @@
1
1
  module Fastlane
2
- VERSION = '1.47.0'
2
+ VERSION = '1.48.0'
3
3
  end
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.47.0
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-10 00:00:00.000000000 Z
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.0
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.0
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.16.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.16.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.1
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.1
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.0
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.0
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.0
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.0
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.0
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.0
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