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 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