fastlane 1.99.0 → 1.100.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: 28b8a9977502edeea107da475bedffceb4ff575e
4
- data.tar.gz: 45ec673ada611ee9ebe2348fd90eae048c5a26cb
3
+ metadata.gz: b4f94f49145b163b3e66158a97f75eaeebe84253
4
+ data.tar.gz: fafe74ed2bff80cc8272c7cb40f1d9f0141bb1b5
5
5
  SHA512:
6
- metadata.gz: d2250b41a5ab0b0e806550352e723eaf1e84d233fdd1c705a9edd5dcb578c82bab9d3400bae707289e2559445ae05a308ac90523a266b46de32c2f8b485f8426
7
- data.tar.gz: 59c837b323a5fa9d8978a689ac584ce236995e2e2833e64d97d845220bea3c4ece1522fbfcdb9e14dea90f70e9f16d6dc2694a5d512e461a2e39ed55f0cf8caa
6
+ metadata.gz: 27a87b7b330b560d846d7db68476f9ad5b106c2974c385235af7d06e9829aa97641a97ed8b2343a9ff00c377b0b996896faf7a1e10fd37fbade88d672228ac5e
7
+ data.tar.gz: dfc558934a4f4558f68b85b52bac664848e9c6378a1b496b1f1e9132467e18ff593bc77b1aa8287d5a0f704fa8a6fbf6bc447c16f441a7ef73a47b5bedf80e08
Binary file
Binary file
Binary file
@@ -75,6 +75,10 @@ module Fastlane
75
75
  self.name.split('::').last.gsub('Action', '').fastlane_underscore
76
76
  end
77
77
 
78
+ def self.lane_context
79
+ Actions.lane_context
80
+ end
81
+
78
82
  # Allows the user to call an action from an action
79
83
  def self.method_missing(method_sym, *arguments, &_block)
80
84
  UI.error("Unknown method '#{method_sym}'")
@@ -19,6 +19,7 @@ module Fastlane
19
19
  cmd << "--platform #{params[:platform]}" if params[:platform]
20
20
  cmd << "--configuration #{params[:configuration]}" if params[:configuration]
21
21
  cmd << "--derived-data #{params[:derived_data].shellescape}" if params[:derived_data]
22
+ cmd << "--toolchain #{params[:toolchain]}" if params[:toolchain]
22
23
 
23
24
  Actions.sh(cmd.join(' '))
24
25
  end
@@ -118,7 +119,11 @@ module Fastlane
118
119
  if value.chomp(' ').empty?
119
120
  UI.user_error!("Please pass a valid build configuration. You can review the list of configurations for this project using the command: xcodebuild -list")
120
121
  end
121
- end)
122
+ end),
123
+ FastlaneCore::ConfigItem.new(key: :toolchain,
124
+ env_name: "FL_CARTHAGE_TOOLCHAIN",
125
+ description: "Define which xcodebuild toolchain to use when building",
126
+ optional: true)
122
127
  ]
123
128
  end
124
129
 
@@ -16,6 +16,7 @@ module Fastlane
16
16
 
17
17
  version = params[:version]
18
18
  build_number = params[:build_number]
19
+ platform = params[:platform]
19
20
 
20
21
  message = []
21
22
  message << "Looking for dSYM files for #{params[:app_identifier]}"
@@ -33,11 +34,11 @@ module Fastlane
33
34
  UI.user_error!("Could not find app with bundle identifier '#{params[:app_identifier]}' on account #{params[:username]}")
34
35
  end
35
36
 
36
- app.all_build_train_numbers.each do |train_number|
37
+ app.all_build_train_numbers(platform: platform).each do |train_number|
37
38
  if version && version != train_number
38
39
  next
39
40
  end
40
- app.all_builds_for_train(train: train_number).each do |build|
41
+ app.all_builds_for_train(train: train_number, platform: platform).each do |build|
41
42
  if build_number && build.build_version != build_number
42
43
  next
43
44
  end
@@ -125,6 +126,11 @@ module Fastlane
125
126
  verify_block: proc do |value|
126
127
  ENV["FASTLANE_ITC_TEAM_NAME"] = value
127
128
  end),
129
+ FastlaneCore::ConfigItem.new(key: :platform,
130
+ short_option: "-p",
131
+ env_name: "DOWNLOAD_DSYMS_PLATFORM",
132
+ description: "The app platform for dSYMs you wish to download",
133
+ optional: true),
128
134
  FastlaneCore::ConfigItem.new(key: :version,
129
135
  short_option: "-v",
130
136
  env_name: "DOWNLOAD_DSYMS_VERSION",
@@ -51,7 +51,8 @@ module Fastlane
51
51
  json_headers = { 'Content-Type' => 'application/json',
52
52
  'Accept' => 'application/json', 'Authorization' => "Bearer #{api_token}" }
53
53
 
54
- uri = URI.parse("https://#{api_host}/v2/user/#{channel}/message")
54
+ escaped_channel = URI.unescape(channel) == channel ? URI.escape(channel) : channel
55
+ uri = URI.parse("https://#{api_host}/v2/user/#{escaped_channel}/message")
55
56
  http = Net::HTTP.new(uri.host, uri.port)
56
57
  http.use_ssl = true
57
58
 
@@ -26,7 +26,7 @@ module Fastlane
26
26
  description: "The url of the repository to import the Fastfile from",
27
27
  default_value: nil),
28
28
  FastlaneCore::ConfigItem.new(key: :branch,
29
- description: "The branch to check-out on the repository",
29
+ description: "The branch or tag to check-out on the repository",
30
30
  default_value: 'HEAD',
31
31
  optional: true),
32
32
  FastlaneCore::ConfigItem.new(key: :path,
@@ -3,7 +3,7 @@ module Fastlane
3
3
  class JiraAction < Action
4
4
  def self.run(params)
5
5
  Actions.verify_gem!('jira-ruby')
6
- require 'jira'
6
+ require 'jira-ruby'
7
7
 
8
8
  site = params[:url]
9
9
  context_path = ""
@@ -12,6 +12,7 @@ module Fastlane
12
12
 
13
13
  credentials = CredentialsManager::AccountManager.new(user: params[:username])
14
14
  Spaceship::Tunes.login(credentials.user, credentials.password)
15
+ ENV["FASTLANE_TEAM_ID"] = params[:team_id]
15
16
  Spaceship::Tunes.select_team
16
17
  app = Spaceship::Tunes::Application.find(params[:app_identifier])
17
18
 
@@ -75,8 +76,12 @@ module Fastlane
75
76
  env_name: "INTITIAL_BUILD_NUMBER",
76
77
  description: "sets the build number to given value if no build is in current train",
77
78
  optional: true,
78
- is_string: false)
79
-
79
+ is_string: false),
80
+ FastlaneCore::ConfigItem.new(key: :team_id,
81
+ env_name: "FASTLANE_TEAM_ID",
82
+ description: "Your team ID if you're in multiple teams",
83
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
84
+ optional: true)
80
85
  ]
81
86
  end
82
87
 
@@ -1,22 +1,43 @@
1
1
  module Fastlane
2
2
  module Actions
3
+ module SharedValues
4
+ SCAN_DERIVED_DATA_PATH = :SCAN_DERIVED_DATA_PATH
5
+ SCAN_GENERATED_PLIST_FILE = :SCAN_GENERATED_PLIST_FILE
6
+ end
7
+
3
8
  class ScanAction < Action
4
9
  def self.run(values)
5
10
  require 'scan'
6
11
 
7
12
  begin
13
+ Scan.config = values # we set this here to auto-detect missing values, which we need later on
14
+ unless values[:derived_data_path].to_s.empty?
15
+ plist_files_before = Dir["#{values[:derived_data_path]}/**/Logs/Test/*TestSummaries.plist"]
16
+ Scan.config[:destination] = nil # we have to do this, as otherwise a warning is shown to the user to not set this value
17
+ end
18
+
8
19
  FastlaneCore::UpdateChecker.start_looking_for_update('scan') unless Helper.is_test?
9
20
 
10
21
  Scan::Manager.new.work(values)
11
22
 
12
- true
23
+ return true
24
+ rescue => ex
25
+ if values[:fail_build]
26
+ raise ex
27
+ end
13
28
  ensure
29
+ unless values[:derived_data_path].to_s.empty?
30
+ Actions.lane_context[SharedValues::SCAN_DERIVED_DATA_PATH] = values[:derived_data_path]
31
+ plist_files_after = Dir["#{values[:derived_data_path]}/**/Logs/Test/*TestSummaries.plist"]
32
+ Actions.lane_context[SharedValues::SCAN_GENERATED_PLIST_FILE] = (plist_files_after - plist_files_before).last
33
+ end
34
+
14
35
  FastlaneCore::UpdateChecker.show_update_status('scan', Scan::VERSION)
15
36
  end
16
37
  end
17
38
 
18
39
  def self.description
19
- "Easily test your app using `scan`"
40
+ "Easily run tests of your iOS app using `scan`"
20
41
  end
21
42
 
22
43
  def self.details
@@ -29,7 +50,13 @@ module Fastlane
29
50
 
30
51
  def self.available_options
31
52
  require 'scan'
32
- Scan::Options.available_options
53
+
54
+ FastlaneCore::CommanderGenerator.new.generate(Scan::Options.available_options) + [
55
+ FastlaneCore::ConfigItem.new(key: :fail_build,
56
+ env_name: "SCAN_FAIL_BUILD",
57
+ description: "Should this step stop the build if the tests fail? Set this to false if you're using trainer",
58
+ default_value: true)
59
+ ]
33
60
  end
34
61
 
35
62
  def self.is_supported?(platform)
@@ -35,12 +35,12 @@ module Fastlane
35
35
  output << ""
36
36
  end
37
37
 
38
- output << "This README.md is auto-generated and will be re-generated every time to run [fastlane](https://fastlane.tools)."
38
+ output << "This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run."
39
39
  output << "More information about fastlane can be found on [https://fastlane.tools](https://fastlane.tools)."
40
40
  output << "The documentation of fastlane can be found on [GitHub](https://github.com/fastlane/fastlane/tree/master/fastlane)."
41
41
 
42
42
  File.write(output_path, output.join("\n"))
43
- UI.success "Successfully generated documentation to path '#{File.expand_path(output_path)}'" if $verbose
43
+ UI.success "Successfully generated documentation at path '#{File.expand_path(output_path)}'" if $verbose
44
44
  end
45
45
 
46
46
  #####################################################
@@ -9,7 +9,7 @@ module Fastlane
9
9
  path = File.join(containing_folder, 'report.xml')
10
10
 
11
11
  @steps = results
12
- xml_path = File.join(lib_path, "assets/report_template.xml.erb")
12
+ xml_path = File.join(Helper.gem_path("fastlane"), "lib/assets/report_template.xml.erb")
13
13
  xml = ERB.new(File.read(xml_path)).result(binding) # http://www.rrn.dk/rubys-erb-templating-system
14
14
 
15
15
  xml = xml.gsub('system_', 'system-').delete("\e") # Jenkins can not parse 'ESC' symbol
@@ -18,13 +18,5 @@ module Fastlane
18
18
 
19
19
  return path
20
20
  end
21
-
22
- def self.lib_path
23
- if !Helper.is_test? and Gem::Specification.find_all_by_name('fastlane').any?
24
- return [Gem::Specification.find_by_name('fastlane').gem_dir, 'lib'].join('/')
25
- else
26
- return './lib'
27
- end
28
- end
29
21
  end
30
22
  end
@@ -94,6 +94,7 @@ module Fastlane
94
94
  rows = []
95
95
  actions.each_with_index do |current, i|
96
96
  name = current[:name][0..60]
97
+ name = name.red unless current[:error].to_s.empty?
97
98
  rows << [i + 1, name, current[:time].to_i]
98
99
  end
99
100
 
@@ -8,7 +8,8 @@ module Fastlane
8
8
  def self.fetch_gems(search_query: nil)
9
9
  require 'json'
10
10
  require 'open-uri'
11
- url = "https://rubygems.org/api/v1/search.json?query=#{PluginManager.plugin_prefix}"
11
+ url = "https://rubygems.org/api/v1/search.json?query=#{PluginManager.plugin_prefix}#{search_query}"
12
+ FastlaneCore::UI.verbose("RubyGems API Request: #{url}")
12
13
  results = JSON.parse(open(url).read)
13
14
 
14
15
  plugins = results.collect do |current|
@@ -1,4 +1,4 @@
1
1
  module Fastlane
2
- VERSION = '1.99.0'.freeze
2
+ VERSION = '1.100.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate building and releasing your iOS and Android apps"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.99.0
4
+ version: 1.100.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2016-07-27 00:00:00.000000000 Z
18
+ date: 2016-08-10 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: krausefx-shenzhen
@@ -237,7 +237,7 @@ dependencies:
237
237
  requirements:
238
238
  - - ">="
239
239
  - !ruby/object:Gem::Version
240
- version: 0.28.0
240
+ version: 0.31.1
241
241
  - - "<"
242
242
  - !ruby/object:Gem::Version
243
243
  version: 1.0.0
@@ -247,7 +247,7 @@ dependencies:
247
247
  requirements:
248
248
  - - ">="
249
249
  - !ruby/object:Gem::Version
250
- version: 0.28.0
250
+ version: 0.31.1
251
251
  - - "<"
252
252
  - !ruby/object:Gem::Version
253
253
  version: 1.0.0
@@ -257,7 +257,7 @@ dependencies:
257
257
  requirements:
258
258
  - - ">="
259
259
  - !ruby/object:Gem::Version
260
- version: 1.13.1
260
+ version: 1.13.2
261
261
  - - "<"
262
262
  - !ruby/object:Gem::Version
263
263
  version: 2.0.0
@@ -267,7 +267,7 @@ dependencies:
267
267
  requirements:
268
268
  - - ">="
269
269
  - !ruby/object:Gem::Version
270
- version: 1.13.1
270
+ version: 1.13.2
271
271
  - - "<"
272
272
  - !ruby/object:Gem::Version
273
273
  version: 2.0.0
@@ -277,7 +277,7 @@ dependencies:
277
277
  requirements:
278
278
  - - ">="
279
279
  - !ruby/object:Gem::Version
280
- version: 1.12.3
280
+ version: 1.13.0
281
281
  - - "<"
282
282
  - !ruby/object:Gem::Version
283
283
  version: 2.0.0
@@ -287,7 +287,7 @@ dependencies:
287
287
  requirements:
288
288
  - - ">="
289
289
  - !ruby/object:Gem::Version
290
- version: 1.12.3
290
+ version: 1.13.0
291
291
  - - "<"
292
292
  - !ruby/object:Gem::Version
293
293
  version: 2.0.0
@@ -317,7 +317,7 @@ dependencies:
317
317
  requirements:
318
318
  - - ">="
319
319
  - !ruby/object:Gem::Version
320
- version: 1.3.1
320
+ version: 1.3.2
321
321
  - - "<"
322
322
  - !ruby/object:Gem::Version
323
323
  version: 2.0.0
@@ -327,7 +327,7 @@ dependencies:
327
327
  requirements:
328
328
  - - ">="
329
329
  - !ruby/object:Gem::Version
330
- version: 1.3.1
330
+ version: 1.3.2
331
331
  - - "<"
332
332
  - !ruby/object:Gem::Version
333
333
  version: 2.0.0
@@ -357,7 +357,7 @@ dependencies:
357
357
  requirements:
358
358
  - - ">="
359
359
  - !ruby/object:Gem::Version
360
- version: 1.8.0
360
+ version: 1.9.0
361
361
  - - "<"
362
362
  - !ruby/object:Gem::Version
363
363
  version: 2.0.0
@@ -367,7 +367,7 @@ dependencies:
367
367
  requirements:
368
368
  - - ">="
369
369
  - !ruby/object:Gem::Version
370
- version: 1.8.0
370
+ version: 1.9.0
371
371
  - - "<"
372
372
  - !ruby/object:Gem::Version
373
373
  version: 2.0.0
@@ -377,7 +377,7 @@ dependencies:
377
377
  requirements:
378
378
  - - ">="
379
379
  - !ruby/object:Gem::Version
380
- version: 1.1.2
380
+ version: 1.2.0
381
381
  - - "<"
382
382
  - !ruby/object:Gem::Version
383
383
  version: 2.0.0
@@ -387,7 +387,7 @@ dependencies:
387
387
  requirements:
388
388
  - - ">="
389
389
  - !ruby/object:Gem::Version
390
- version: 1.1.2
390
+ version: 1.2.0
391
391
  - - "<"
392
392
  - !ruby/object:Gem::Version
393
393
  version: 2.0.0
@@ -417,7 +417,7 @@ dependencies:
417
417
  requirements:
418
418
  - - ">="
419
419
  - !ruby/object:Gem::Version
420
- version: 1.9.1
420
+ version: 1.10.0
421
421
  - - "<"
422
422
  - !ruby/object:Gem::Version
423
423
  version: 2.0.0
@@ -427,37 +427,37 @@ dependencies:
427
427
  requirements:
428
428
  - - ">="
429
429
  - !ruby/object:Gem::Version
430
- version: 1.9.1
430
+ version: 1.10.0
431
431
  - - "<"
432
432
  - !ruby/object:Gem::Version
433
433
  version: 2.0.0
434
434
  - !ruby/object:Gem::Dependency
435
- name: supply
435
+ name: scan
436
436
  requirement: !ruby/object:Gem::Requirement
437
437
  requirements:
438
438
  - - ">="
439
439
  - !ruby/object:Gem::Version
440
- version: 0.7.0
440
+ version: 0.11.0
441
441
  - - "<"
442
442
  - !ruby/object:Gem::Version
443
- version: 1.0.0
443
+ version: 2.0.0
444
444
  type: :runtime
445
445
  prerelease: false
446
446
  version_requirements: !ruby/object:Gem::Requirement
447
447
  requirements:
448
448
  - - ">="
449
449
  - !ruby/object:Gem::Version
450
- version: 0.7.0
450
+ version: 0.11.0
451
451
  - - "<"
452
452
  - !ruby/object:Gem::Version
453
- version: 1.0.0
453
+ version: 2.0.0
454
454
  - !ruby/object:Gem::Dependency
455
- name: scan
455
+ name: supply
456
456
  requirement: !ruby/object:Gem::Requirement
457
457
  requirements:
458
458
  - - ">="
459
459
  - !ruby/object:Gem::Version
460
- version: 0.8.0
460
+ version: 0.7.0
461
461
  - - "<"
462
462
  - !ruby/object:Gem::Version
463
463
  version: 1.0.0
@@ -467,7 +467,7 @@ dependencies:
467
467
  requirements:
468
468
  - - ">="
469
469
  - !ruby/object:Gem::Version
470
- version: 0.8.0
470
+ version: 0.7.0
471
471
  - - "<"
472
472
  - !ruby/object:Gem::Version
473
473
  version: 1.0.0
@@ -694,11 +694,13 @@ files:
694
694
  - bin/fastlane
695
695
  - "bin/\U0001F680"
696
696
  - lib/.DS_Store
697
+ - lib/assets/.DS_Store
697
698
  - lib/assets/AppfileTemplate
698
699
  - lib/assets/AppfileTemplateAndroid
699
700
  - lib/assets/AvailablePlugins.md.erb
700
701
  - lib/assets/DefaultFastfileTemplate
701
702
  - lib/assets/FastfileTemplateAndroid
703
+ - lib/assets/completions/.DS_Store
702
704
  - lib/assets/completions/completion.bash
703
705
  - lib/assets/completions/completion.sh
704
706
  - lib/assets/completions/completion.zsh
@@ -712,6 +714,7 @@ files:
712
714
  - lib/fastlane/.DS_Store
713
715
  - lib/fastlane/action.rb
714
716
  - lib/fastlane/action_collector.rb
717
+ - lib/fastlane/actions/.DS_Store
715
718
  - lib/fastlane/actions/README.md
716
719
  - lib/fastlane/actions/actions_helper.rb
717
720
  - lib/fastlane/actions/adb.rb
@@ -751,6 +754,7 @@ files:
751
754
  - lib/fastlane/actions/delete_keychain.rb
752
755
  - lib/fastlane/actions/deliver.rb
753
756
  - lib/fastlane/actions/deploygate.rb
757
+ - lib/fastlane/actions/device_grid/.DS_Store
754
758
  - lib/fastlane/actions/device_grid/README.md
755
759
  - lib/fastlane/actions/dotgpg_environment.rb
756
760
  - lib/fastlane/actions/download.rb
@@ -941,7 +945,6 @@ files:
941
945
  - lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/version.rb.erb
942
946
  - lib/fastlane/plugins/template/spec/%plugin_name%_action_spec.rb.erb
943
947
  - lib/fastlane/plugins/template/spec/spec_helper.rb.erb
944
- - lib/fastlane/plugins/templates/.DS_Store
945
948
  - lib/fastlane/runner.rb
946
949
  - lib/fastlane/setup/crashlytics_beta.rb
947
950
  - lib/fastlane/setup/crashlytics_beta_command_line_handler.rb
@@ -976,7 +979,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
976
979
  version: '0'
977
980
  requirements: []
978
981
  rubyforge_project:
979
- rubygems_version: 2.4.5.1
982
+ rubygems_version: 2.6.6
980
983
  signing_key:
981
984
  specification_version: 4
982
985
  summary: The easiest way to automate building and releasing your iOS and Android apps