fastlane 2.75.0.beta.20180109010003 → 2.75.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/credentials_manager/lib/credentials_manager/account_manager.rb +11 -9
  3. data/deliver/lib/assets/DeliverfileDefault +2 -9
  4. data/deliver/lib/assets/DeliverfileDefault.swift +2 -12
  5. data/deliver/lib/deliver/setup.rb +1 -4
  6. data/fastlane/lib/.DS_Store +0 -0
  7. data/fastlane/lib/assets/.DS_Store +0 -0
  8. data/fastlane/lib/assets/AppfileTemplate +5 -6
  9. data/fastlane/lib/assets/AppfileTemplate.swift +3 -4
  10. data/fastlane/lib/assets/DefaultFastfileTemplate +10 -67
  11. data/fastlane/lib/assets/DefaultFastfileTemplate.swift +8 -66
  12. data/fastlane/lib/fastlane/.DS_Store +0 -0
  13. data/fastlane/lib/fastlane/actions/.DS_Store +0 -0
  14. data/fastlane/lib/fastlane/actions/docs/.DS_Store +0 -0
  15. data/fastlane/lib/fastlane/actions/get_build_number.rb +7 -1
  16. data/fastlane/lib/fastlane/commands_generator.rb +11 -19
  17. data/fastlane/lib/fastlane/setup/.DS_Store +0 -0
  18. data/fastlane/lib/fastlane/setup/setup.rb +247 -34
  19. data/fastlane/lib/fastlane/setup/setup_android.rb +65 -39
  20. data/fastlane/lib/fastlane/setup/setup_ios.rb +419 -280
  21. data/fastlane/lib/fastlane/version.rb +1 -1
  22. data/fastlane/swift/Deliverfile.swift +1 -1
  23. data/fastlane/swift/Gymfile.swift +1 -1
  24. data/fastlane/swift/Matchfile.swift +1 -1
  25. data/fastlane/swift/Precheckfile.swift +1 -1
  26. data/fastlane/swift/Scanfile.swift +1 -1
  27. data/fastlane/swift/Screengrabfile.swift +1 -1
  28. data/fastlane/swift/Snapshotfile.swift +1 -1
  29. data/fastlane_core/lib/.DS_Store +0 -0
  30. data/fastlane_core/lib/fastlane_core/.DS_Store +0 -0
  31. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +3 -1
  32. data/sigh/lib/assets/resign.sh +0 -1
  33. data/snapshot/lib/assets/SnapfileTemplate +9 -12
  34. data/snapshot/lib/snapshot/commands_generator.rb +2 -0
  35. data/snapshot/lib/snapshot/setup.rb +20 -9
  36. data/spaceship/lib/spaceship.rb +4 -0
  37. data/spaceship/lib/spaceship/portal/ui/select_team.rb +3 -3
  38. data/spaceship/lib/spaceship/tunes/tunes_client.rb +15 -11
  39. metadata +24 -17
  40. data/fastlane/lib/assets/FastfileTemplateAndroid +0 -65
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.75.0.beta.20180109010003'.freeze
2
+ VERSION = '2.75.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '0.49.1'.freeze
@@ -11,4 +11,4 @@ class Deliverfile: DeliverfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.74.0
14
+ // Generated with fastlane 2.74.1
@@ -11,4 +11,4 @@ class Gymfile: GymfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.74.0
14
+ // Generated with fastlane 2.74.1
@@ -11,4 +11,4 @@ class Matchfile: MatchfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.74.0
14
+ // Generated with fastlane 2.74.1
@@ -11,4 +11,4 @@ class Precheckfile: PrecheckfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.74.0
14
+ // Generated with fastlane 2.74.1
@@ -11,4 +11,4 @@ class Scanfile: ScanfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.74.0
14
+ // Generated with fastlane 2.74.1
@@ -11,4 +11,4 @@ class Screengrabfile: ScreengrabfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.74.0
14
+ // Generated with fastlane 2.74.1
@@ -11,4 +11,4 @@ class Snapshotfile: SnapshotfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.74.0
14
+ // Generated with fastlane 2.74.1
@@ -209,6 +209,7 @@ module FastlaneCore
209
209
 
210
210
  # Returns the value for a certain key. fastlane_core tries to fetch the value from different sources
211
211
  # if 'ask' is true and the value is not present, the user will be prompted to provide a value
212
+ # rubocop:disable Metrics/PerceivedComplexity
212
213
  def fetch(key, ask: true)
213
214
  UI.user_error!("Key '#{key}' must be a symbol. Example :app_id.") unless key.kind_of?(Symbol)
214
215
 
@@ -239,7 +240,7 @@ module FastlaneCore
239
240
  end
240
241
 
241
242
  while value.nil?
242
- UI.important("To not be asked about this value, you can specify it using '#{option.key}'")
243
+ UI.important("To not be asked about this value, you can specify it using '#{option.key}'") if ENV["FASTLANE_ONBOARDING_IN_PROCESS"].to_s.length == 0
243
244
  value = option.sensitive ? UI.password("#{option.description}: ") : UI.input("#{option.description}: ")
244
245
  # Also store this value to use it from now on
245
246
  begin
@@ -257,6 +258,7 @@ module FastlaneCore
257
258
  # Found out via https://github.com/fastlane/fastlane/issues/11243
258
259
  return self[key]
259
260
  end
261
+ # rubocop:enable Metrics/PerceivedComplexity
260
262
 
261
263
  # Overwrites or sets a new value for a given key
262
264
  # @param key [Symbol] Must be a symbol
@@ -301,7 +301,6 @@ fi
301
301
  # Set the app name
302
302
  # In Payload directory may be another file except .app file, such as StoreKit folder.
303
303
  # Search the first .app file within the Payload directory
304
- # TODO: Replace with glob or call to 'find'; and remove shellcheck directive
305
304
  # shellcheck disable=SC2010
306
305
  APP_NAME=$(ls "$TEMP_DIR/Payload/" | grep ".app$" | head -1)
307
306
 
@@ -10,12 +10,12 @@
10
10
  # "Apple TV 1080p"
11
11
  # ])
12
12
 
13
- languages([
14
- "en-US",
15
- "de-DE",
16
- "it-IT",
17
- ["pt", "pt_BR"] # Portuguese with Brazilian locale
18
- ])
13
+ # languages([
14
+ # "en-US",
15
+ # "de-DE",
16
+ # "it-IT",
17
+ # ["pt", "pt_BR"] # Portuguese with Brazilian locale
18
+ # ])
19
19
 
20
20
  # The name of the scheme which contains the UI Tests
21
21
  # scheme "SchemeName"
@@ -23,14 +23,11 @@ languages([
23
23
  # Where should the resulting screenshots be stored?
24
24
  # output_directory "./screenshots"
25
25
 
26
- # clear_previous_screenshots true # remove the '#' to clear all previously generated screenshots before creating new ones
27
-
28
- # Choose which project/workspace to use
29
- # project "./Project.xcodeproj"
30
- # workspace "./Project.xcworkspace"
26
+ # remove the '#' to clear all previously generated screenshots before creating new ones
27
+ # clear_previous_screenshots true
31
28
 
32
29
  # Arguments to pass to the app on launch. See https://docs.fastlane.tools/actions/snapshot/#launch-arguments
33
30
  # launch_arguments(["-favColor red"])
34
31
 
35
32
  # For more information about all available options run
36
- # fastlane snapshot --help
33
+ # fastlane action snapshot
@@ -50,6 +50,8 @@ module Snapshot
50
50
  path = Snapshot::Helper.fastlane_enabled? ? FastlaneCore::FastlaneFolder.path : '.'
51
51
  is_swift_fastfile = args.include?("swift")
52
52
  Snapshot::Setup.create(path, is_swift_fastfile: is_swift_fastfile)
53
+ # We do this outside of `Setup`, as it shouldn't be part of `fastlane init`
54
+ puts("More information: https://docs.fastlane.tools/getting-started/ios/screenshots/".green)
53
55
  end
54
56
  end
55
57
 
@@ -3,7 +3,8 @@ require_relative 'module'
3
3
  module Snapshot
4
4
  class Setup
5
5
  # This method will take care of creating a Snapfile and other necessary files
6
- def self.create(path, is_swift_fastfile: false)
6
+ def self.create(path, is_swift_fastfile: false, print_instructions_on_failure: false)
7
+ # First generate all the names & paths
7
8
  if is_swift_fastfile
8
9
  template_path = "#{Snapshot::ROOT}/lib/assets/SnapfileTemplate.swift"
9
10
  snapfile_path = File.join(path, 'Snapfile.swift')
@@ -11,24 +12,32 @@ module Snapshot
11
12
  template_path = "#{Snapshot::ROOT}/lib/assets/SnapfileTemplate"
12
13
  snapfile_path = File.join(path, 'Snapfile')
13
14
  end
15
+ snapshot_helper_filename = "SnapshotHelperXcode8.swift"
16
+ if Helper.xcode_at_least?("9.0")
17
+ snapshot_helper_filename = "SnapshotHelper.swift"
18
+ end
14
19
 
15
20
  if File.exist?(snapfile_path)
16
- UI.user_error!("Snapfile already exists at path '#{snapfile_path}'. Run 'fastlane snapshot' to generate screenshots.")
21
+ if print_instructions_on_failure
22
+ print_instructions(snapshot_helper_filename: snapshot_helper_filename, snapfile_path: snapfile_path)
23
+ return
24
+ else
25
+ UI.user_error!("Snapfile already exists at path '#{snapfile_path}'. Run 'fastlane snapshot' to generate screenshots.")
26
+ end
17
27
  end
18
28
 
19
29
  File.write(snapfile_path, File.read(template_path))
20
- snapshot_helper_filename = "SnapshotHelperXcode8.swift"
21
- if Helper.xcode_at_least?("9.0")
22
- snapshot_helper_filename = "SnapshotHelper.swift"
23
- end
24
30
 
25
31
  # ensure that upgrade is cause when going from 8 to 9
26
32
  File.write(File.join(path, snapshot_helper_filename), File.read("#{Snapshot::ROOT}/lib/assets/#{snapshot_helper_filename}"))
27
33
 
28
34
  puts("✅ Successfully created #{snapshot_helper_filename} '#{File.join(path, snapshot_helper_filename)}'".green)
29
35
  puts("✅ Successfully created new Snapfile at '#{snapfile_path}'".green)
30
-
31
36
  puts("-------------------------------------------------------".yellow)
37
+ print_instructions(snapshot_helper_filename: snapshot_helper_filename, snapfile_path: snapfile_path)
38
+ end
39
+
40
+ def self.print_instructions(snapshot_helper_filename: nil, snapfile_path: nil)
32
41
  puts("Open your Xcode project and make sure to do the following:".yellow)
33
42
  puts("1) Add a new UI Test target to your project".yellow)
34
43
  puts("2) Add the ./fastlane/#{snapshot_helper_filename} to your UI Test target".yellow)
@@ -39,9 +48,11 @@ module Snapshot
39
48
  puts(" setupSnapshot(app)")
40
49
  puts(" app.launch()")
41
50
  puts("")
42
- puts("4) Add `snapshot(\"0Launch\")` to wherever you want to create the screenshots".yellow)
51
+ puts("4) Add `snapshot(\"0Launch\")` to wherever you want to trigger screenshots".yellow)
52
+ puts("5) Add a new Xcode scheme for the newly created UITest target".yellow)
53
+ puts("6) Add a Check to enable the `Shared` box of the newly created scheme".yellow)
43
54
  puts("")
44
- puts("More information: https://docs.fastlane.tools/actions/snapshot/".green)
55
+ puts("More information: https://docs.fastlane.tools/getting-started/ios/screenshots/".green)
45
56
  end
46
57
  end
47
58
  end
@@ -18,3 +18,7 @@ require_relative 'spaceship/module'
18
18
  # Support for legacy wrappers
19
19
  require_relative 'spaceship/portal/legacy_wrapper'
20
20
  require_relative 'spaceship/tunes/legacy_wrapper'
21
+
22
+ # For basic user inputs
23
+ require 'highline/import'
24
+ require 'colored'
@@ -31,7 +31,7 @@ module Spaceship
31
31
  # {...}
32
32
  # ]
33
33
 
34
- # rubocop:disable Require/MissingRequireStatement
34
+ # rubocop:disable Lint/MissingRequireStatement
35
35
  def self.ci?
36
36
  if Object.const_defined?("FastlaneCore") && FastlaneCore.const_defined?("Helper")
37
37
  return FastlaneCore::Helper.ci?
@@ -45,7 +45,7 @@ module Spaceship
45
45
  end
46
46
  return true
47
47
  end
48
- # rubocop:enable Require/MissingRequireStatement
48
+ # rubocop:enable Lint/MissingRequireStatement
49
49
 
50
50
  def select_team
51
51
  teams = client.teams
@@ -93,7 +93,7 @@ module Spaceship
93
93
  # User Selection
94
94
  loop do
95
95
  # Multiple teams, user has to select
96
- puts("Multiple teams found on the Developer Portal, please enter the number of the team you want to use: ")
96
+ puts("Multiple teams found on the " + "Developer Portal".yellow + ", please enter the number of the team you want to use: ")
97
97
  teams.each_with_index do |team, i|
98
98
  puts("#{i + 1}) #{team['teamId']} \"#{team['name']}\" (#{team['type']})")
99
99
  end
@@ -82,17 +82,21 @@ module Spaceship
82
82
 
83
83
  # user didn't specify a team... #thisiswhywecanthavenicethings
84
84
  loop do
85
- puts("Multiple iTunes Connect teams found, please enter the number of the team you want to use: ")
86
- puts("Note: to automatically choose the team, provide either the iTunes Connect Team ID, or the Team Name in your fastlane/Appfile:")
87
- puts("Alternatively you can pass the team name or team ID using the `FASTLANE_ITC_TEAM_ID` or `FASTLANE_ITC_TEAM_NAME` environment variable")
88
- first_team = teams.first["contentProvider"]
89
- puts("")
90
- puts(" itc_team_id \"#{first_team['contentProviderId']}\"")
91
- puts("")
92
- puts("or")
93
- puts("")
94
- puts(" itc_team_name \"#{first_team['name']}\"")
95
- puts("")
85
+ puts("Multiple #{'iTunes Connect teams'.yellow} found, please enter the number of the team you want to use: ")
86
+ if ENV["FASTLANE_HIDE_TEAM_INFORMATION"].to_s.length == 0
87
+ puts("Note: to automatically choose the team, provide either the iTunes Connect Team ID, or the Team Name in your fastlane/Appfile:")
88
+ puts("Alternatively you can pass the team name or team ID using the `FASTLANE_ITC_TEAM_ID` or `FASTLANE_ITC_TEAM_NAME` environment variable")
89
+ first_team = teams.first["contentProvider"]
90
+ puts("")
91
+ puts(" itc_team_id \"#{first_team['contentProviderId']}\"")
92
+ puts("")
93
+ puts("or")
94
+ puts("")
95
+ puts(" itc_team_name \"#{first_team['name']}\"")
96
+ puts("")
97
+ end
98
+
99
+ # We're not using highline here, as spaceship doesn't have a dependency to fastlane_core or highline
96
100
  teams.each_with_index do |team, i|
97
101
  puts("#{i + 1}) \"#{team['contentProvider']['name']}\" (#{team['contentProvider']['contentProviderId']})")
98
102
  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: 2.75.0.beta.20180109010003
4
+ version: 2.75.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -871,6 +871,8 @@ files:
871
871
  - deliver/lib/deliver/upload_price_tier.rb
872
872
  - deliver/lib/deliver/upload_screenshots.rb
873
873
  - fastlane/README.md
874
+ - fastlane/lib/.DS_Store
875
+ - fastlane/lib/assets/.DS_Store
874
876
  - fastlane/lib/assets/ActionDetails.md.erb
875
877
  - fastlane/lib/assets/Actions.md.erb
876
878
  - fastlane/lib/assets/AppfileTemplate
@@ -878,7 +880,6 @@ files:
878
880
  - fastlane/lib/assets/AppfileTemplateAndroid
879
881
  - fastlane/lib/assets/DefaultFastfileTemplate
880
882
  - fastlane/lib/assets/DefaultFastfileTemplate.swift
881
- - fastlane/lib/assets/FastfileTemplateAndroid
882
883
  - fastlane/lib/assets/completions/completion.bash
883
884
  - fastlane/lib/assets/completions/completion.fish
884
885
  - fastlane/lib/assets/completions/completion.sh
@@ -890,8 +891,10 @@ files:
890
891
  - fastlane/lib/assets/s3_plist_template.erb
891
892
  - fastlane/lib/assets/s3_version_template.erb
892
893
  - fastlane/lib/fastlane.rb
894
+ - fastlane/lib/fastlane/.DS_Store
893
895
  - fastlane/lib/fastlane/action.rb
894
896
  - fastlane/lib/fastlane/action_collector.rb
897
+ - fastlane/lib/fastlane/actions/.DS_Store
895
898
  - fastlane/lib/fastlane/actions/README.md
896
899
  - fastlane/lib/fastlane/actions/actions_helper.rb
897
900
  - fastlane/lib/fastlane/actions/adb.rb
@@ -944,6 +947,7 @@ files:
944
947
  - fastlane/lib/fastlane/actions/deliver.rb
945
948
  - fastlane/lib/fastlane/actions/deploygate.rb
946
949
  - fastlane/lib/fastlane/actions/device_grid/README.md
950
+ - fastlane/lib/fastlane/actions/docs/.DS_Store
947
951
  - fastlane/lib/fastlane/actions/docs/cert.md
948
952
  - fastlane/lib/fastlane/actions/docs/deliver.md
949
953
  - fastlane/lib/fastlane/actions/docs/frameit.md
@@ -1183,6 +1187,7 @@ files:
1183
1187
  - fastlane/lib/fastlane/server/json_return_value_processor.rb
1184
1188
  - fastlane/lib/fastlane/server/socket_server.rb
1185
1189
  - fastlane/lib/fastlane/server/socket_server_action_command_executor.rb
1190
+ - fastlane/lib/fastlane/setup/.DS_Store
1186
1191
  - fastlane/lib/fastlane/setup/crashlytics_beta.rb
1187
1192
  - fastlane/lib/fastlane/setup/crashlytics_beta_command_line_handler.rb
1188
1193
  - fastlane/lib/fastlane/setup/crashlytics_beta_info.rb
@@ -1232,8 +1237,10 @@ files:
1232
1237
  - fastlane/swift/SocketResponse.swift
1233
1238
  - fastlane/swift/main.swift
1234
1239
  - fastlane_core/README.md
1240
+ - fastlane_core/lib/.DS_Store
1235
1241
  - fastlane_core/lib/assets/XMLTemplate.xml.erb
1236
1242
  - fastlane_core/lib/fastlane_core.rb
1243
+ - fastlane_core/lib/fastlane_core/.DS_Store
1237
1244
  - fastlane_core/lib/fastlane_core/analytics/action_completion_context.rb
1238
1245
  - fastlane_core/lib/fastlane_core/analytics/action_launch_context.rb
1239
1246
  - fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb
@@ -1599,24 +1606,24 @@ metadata:
1599
1606
  post_install_message:
1600
1607
  rdoc_options: []
1601
1608
  require_paths:
1602
- - supply/lib
1603
- - screengrab/lib
1609
+ - cert/lib
1610
+ - credentials_manager/lib
1611
+ - deliver/lib
1612
+ - fastlane/lib
1613
+ - fastlane_core/lib
1614
+ - frameit/lib
1615
+ - gym/lib
1604
1616
  - match/lib
1617
+ - pem/lib
1618
+ - pilot/lib
1605
1619
  - precheck/lib
1606
- - sigh/lib
1607
1620
  - produce/lib
1608
1621
  - scan/lib
1609
- - gym/lib
1622
+ - screengrab/lib
1623
+ - sigh/lib
1610
1624
  - snapshot/lib
1611
- - frameit/lib
1612
- - fastlane/lib
1613
- - cert/lib
1614
- - pilot/lib
1615
1625
  - spaceship/lib
1616
- - credentials_manager/lib
1617
- - deliver/lib
1618
- - fastlane_core/lib
1619
- - pem/lib
1626
+ - supply/lib
1620
1627
  required_ruby_version: !ruby/object:Gem::Requirement
1621
1628
  requirements:
1622
1629
  - - ">="
@@ -1624,12 +1631,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
1624
1631
  version: 2.0.0
1625
1632
  required_rubygems_version: !ruby/object:Gem::Requirement
1626
1633
  requirements:
1627
- - - ">"
1634
+ - - ">="
1628
1635
  - !ruby/object:Gem::Version
1629
- version: 1.3.1
1636
+ version: '0'
1630
1637
  requirements: []
1631
1638
  rubyforge_project:
1632
- rubygems_version: 2.4.5.1
1639
+ rubygems_version: 2.6.12
1633
1640
  signing_key:
1634
1641
  specification_version: 4
1635
1642
  summary: The easiest way to automate beta deployments and releases for your iOS and
@@ -1,65 +0,0 @@
1
- # Customize this file, documentation can be found here:
2
- # https://docs.fastlane.tools/actions/
3
- # All available actions: https://docs.fastlane.tools/actions
4
- # can also be listed using the `fastlane actions` command
5
-
6
- # Change the syntax highlighting to Ruby
7
- # All lines starting with a # are ignored when running `fastlane`
8
-
9
- # If you want to automatically update fastlane if a new version is available:
10
- # update_fastlane
11
-
12
- # This is the minimum version number required.
13
- # Update this, if you use features of a newer version
14
- min_fastlane_version("[[FASTLANE_VERSION]]")
15
-
16
- default_platform(:android)
17
-
18
- platform :android do
19
- before_all do
20
- # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
21
- end
22
-
23
- desc "Runs all the tests"
24
- lane :test do
25
- gradle(task: "test")
26
- end
27
-
28
- desc "Submit a new Beta Build to Crashlytics Beta"
29
- lane :beta do
30
- gradle(task: "assembleRelease")
31
- crashlytics
32
-
33
- # sh "your_script.sh"
34
- # You can also use other beta testing services here
35
- end
36
-
37
- desc "Deploy a new version to the Google Play"
38
- lane :deploy do
39
- gradle(task: "assembleRelease")
40
- upload_to_play_store
41
- end
42
-
43
- # You can define as many lanes as you want
44
-
45
- after_all do |lane|
46
- # This block is called, only if the executed lane was successful
47
-
48
- # slack(
49
- # message: "Successfully deployed new App Update."
50
- # )
51
- end
52
-
53
- error do |lane, exception|
54
- # slack(
55
- # message: exception.message,
56
- # success: false
57
- # )
58
- end
59
- end
60
-
61
- # More information about multiple platforms in fastlane: https://docs.fastlane.tools/advanced/#control-configuration-by-lane-and-by-platform
62
- # All available actions: https://docs.fastlane.tools/actions
63
-
64
- # fastlane reports which actions are used. No personal data is recorded.
65
- # Learn more at https://docs.fastlane.tools/#metrics