fastlane 2.105.2 → 2.106.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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +73 -72
  3. data/bin/fastlane +24 -1
  4. data/deliver/lib/deliver/app_screenshot.rb +7 -0
  5. data/deliver/lib/deliver/submit_for_review.rb +14 -1
  6. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +1 -1
  7. data/fastlane/lib/fastlane/actions/download_from_play_store.rb +61 -0
  8. data/fastlane/lib/fastlane/actions/modify_services.rb +7 -5
  9. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +2 -2
  10. data/fastlane/lib/fastlane/actions/register_device.rb +6 -4
  11. data/fastlane/lib/fastlane/actions/register_devices.rb +9 -8
  12. data/fastlane/lib/fastlane/actions/upload_to_play_store.rb +12 -0
  13. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +1 -1
  14. data/fastlane/lib/fastlane/version.rb +1 -1
  15. data/fastlane/swift/Deliverfile.swift +1 -1
  16. data/fastlane/swift/Fastlane.swift +24 -6
  17. data/fastlane/swift/Gymfile.swift +1 -1
  18. data/fastlane/swift/Matchfile.swift +1 -1
  19. data/fastlane/swift/MatchfileProtocol.swift +3 -4
  20. data/fastlane/swift/Precheckfile.swift +1 -1
  21. data/fastlane/swift/Scanfile.swift +1 -1
  22. data/fastlane/swift/Screengrabfile.swift +1 -1
  23. data/fastlane/swift/Snapshotfile.swift +1 -1
  24. data/fastlane_core/lib/fastlane_core.rb +0 -1
  25. data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
  26. data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
  27. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +13 -10
  28. data/frameit/lib/frameit/editor.rb +3 -2
  29. data/frameit/lib/frameit/frame_downloader.rb +1 -1
  30. data/match/lib/match.rb +2 -2
  31. data/match/lib/match/change_password.rb +31 -18
  32. data/match/lib/match/commands_generator.rb +20 -7
  33. data/match/lib/match/encryption.rb +18 -0
  34. data/match/lib/match/encryption/interface.rb +17 -0
  35. data/match/lib/match/encryption/openssl.rb +155 -0
  36. data/match/lib/match/generator.rb +5 -5
  37. data/match/lib/match/module.rb +5 -1
  38. data/match/lib/match/nuke.rb +33 -15
  39. data/match/lib/match/options.rb +11 -12
  40. data/match/lib/match/runner.rb +59 -38
  41. data/match/lib/match/storage.rb +16 -0
  42. data/match/lib/match/storage/git_storage.rb +228 -0
  43. data/match/lib/match/storage/interface.rb +50 -0
  44. data/snapshot/lib/snapshot/screenshot_rotate.rb +3 -8
  45. data/spaceship/README.md +10 -1
  46. data/spaceship/lib/spaceship/api/.DS_Store +0 -0
  47. data/spaceship/lib/spaceship/api/.base.rb.swp +0 -0
  48. data/spaceship/lib/spaceship/du/du_client.rb +2 -0
  49. data/spaceship/lib/spaceship/portal/device.rb +0 -1
  50. data/spaceship/lib/spaceship/portal/portal_client.rb +7 -1
  51. data/spaceship/lib/spaceship/spaceauth_runner.rb +1 -1
  52. data/spaceship/lib/spaceship/tunes/app_details.rb +1 -1
  53. data/spaceship/lib/spaceship/tunes/device_type.rb +1 -1
  54. metadata +46 -20
  55. data/fastlane_core/lib/fastlane_core/itunes_search_api.rb +0 -50
  56. data/match/lib/match/encrypt.rb +0 -133
  57. data/match/lib/match/git_helper.rb +0 -209
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d6588d34ba91007b2136bd34d9c40f7a4e42d3c2
4
- data.tar.gz: bf22dfcf54eea04a018dbaea492f98c681442020
3
+ metadata.gz: 5c7e61559acf160fa5f016ea363d32ad348ad583
4
+ data.tar.gz: 5ecf43f3ce74058e1b487db70d1d7a704ce601ef
5
5
  SHA512:
6
- metadata.gz: 90689ba66409444cb7445eedd7f0a42a7465a9288b6c05e1476c6944c6d23ddeac38b396895c6c190f78202ad1d5ddbb773499d84b74a6a6c0fd9376f0a1ed1e
7
- data.tar.gz: 3863dd7312a93b758d832f87b70fd16c88bbf5288458b003531bbfcc28ca4cdc916323673f8cd1b64ee4bddbc14c90f70cbdce3adbedba67ed46c1fd7ea123a5
6
+ metadata.gz: 6fa437b45269ee6e6f7a725779b745ea7b8dde2fc847331ab9e46d95c3f7e9072dcb299fd6148b026ec63c91002f06cec9d46026ffd790f44a54cead9aaf36d7
7
+ data.tar.gz: 88b20d20d5034c3dbfaae9a0445693a9b756574cc4ef770236fff8f75fca6514c2c2d178d753eda21d235b020b3d38a10bdc1186558a6be58b3a8f705c8aa536
data/README.md CHANGED
@@ -30,25 +30,32 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
30
30
 
31
31
  ## _fastlane_ team
32
32
 
33
+ <!-- This table is regenerated and resorted on each release -->
33
34
  <table id='team'>
34
35
  <tr>
35
- <td id='luka-mirosevic'>
36
- <a href='https://github.com/lmirosevic'>
37
- <img src='https://github.com/lmirosevic.png?size=140'>
36
+ <td id='jérôme-lacoste'>
37
+ <a href='https://github.com/lacostej'>
38
+ <img src='https://github.com/lacostej.png?size=140'>
38
39
  </a>
39
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
40
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
40
41
  </td>
41
- <td id='jimmy-dee'>
42
- <a href='https://github.com/jdee'>
43
- <img src='https://github.com/jdee.png?size=140'>
42
+ <td id='aaron-brager'>
43
+ <a href='https://github.com/getaaron'>
44
+ <img src='https://github.com/getaaron.png?size=140'>
44
45
  </a>
45
- <h4 align='center'>Jimmy Dee</h4>
46
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
46
47
  </td>
47
- <td id='matthew-ellis'>
48
- <a href='https://github.com/matthewellis'>
49
- <img src='https://github.com/matthewellis.png?size=140'>
48
+ <td id='fumiya-nakamura'>
49
+ <a href='https://github.com/nafu'>
50
+ <img src='https://github.com/nafu.png?size=140'>
50
51
  </a>
51
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
52
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
53
+ </td>
54
+ <td id='stefan-natchev'>
55
+ <a href='https://github.com/snatchev'>
56
+ <img src='https://github.com/snatchev.png?size=140'>
57
+ </a>
58
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
52
59
  </td>
53
60
  <td id='jorge-revuelta-h'>
54
61
  <a href='https://github.com/minuscorp'>
@@ -56,51 +63,51 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
56
63
  </a>
57
64
  <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
58
65
  </td>
59
- <td id='helmut-januschka'>
60
- <a href='https://github.com/hjanuschka'>
61
- <img src='https://github.com/hjanuschka.png?size=140'>
62
- </a>
63
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
64
- </td>
65
66
  </tr>
66
67
  <tr>
67
- <td id='stefan-natchev'>
68
- <a href='https://github.com/snatchev'>
69
- <img src='https://github.com/snatchev.png?size=140'>
68
+ <td id='maksym-grebenets'>
69
+ <a href='https://github.com/mgrebenets'>
70
+ <img src='https://github.com/mgrebenets.png?size=140'>
70
71
  </a>
71
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
72
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
72
73
  </td>
73
- <td id='felix-krause'>
74
- <a href='https://github.com/KrauseFx'>
75
- <img src='https://github.com/KrauseFx.png?size=140'>
74
+ <td id='andrew-mcburney'>
75
+ <a href='https://github.com/AndrewMcBurney'>
76
+ <img src='https://github.com/AndrewMcBurney.png?size=140'>
76
77
  </a>
77
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
78
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
78
79
  </td>
79
- <td id='jérôme-lacoste'>
80
- <a href='https://github.com/lacostej'>
81
- <img src='https://github.com/lacostej.png?size=140'>
80
+ <td id='matthew-ellis'>
81
+ <a href='https://github.com/matthewellis'>
82
+ <img src='https://github.com/matthewellis.png?size=140'>
82
83
  </a>
83
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
84
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
84
85
  </td>
85
- <td id='kohki-miki'>
86
- <a href='https://github.com/giginet'>
87
- <img src='https://github.com/giginet.png?size=140'>
86
+ <td id='luka-mirosevic'>
87
+ <a href='https://github.com/lmirosevic'>
88
+ <img src='https://github.com/lmirosevic.png?size=140'>
88
89
  </a>
89
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
90
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
91
+ </td>
92
+ <td id='iulian-onofrei'>
93
+ <a href='https://github.com/revolter'>
94
+ <img src='https://github.com/revolter.png?size=140'>
95
+ </a>
96
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
90
97
  </td>
98
+ </tr>
99
+ <tr>
91
100
  <td id='olivier-halligon'>
92
101
  <a href='https://github.com/AliSoftware'>
93
102
  <img src='https://github.com/AliSoftware.png?size=140'>
94
103
  </a>
95
104
  <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
96
105
  </td>
97
- </tr>
98
- <tr>
99
- <td id='iulian-onofrei'>
100
- <a href='https://github.com/revolter'>
101
- <img src='https://github.com/revolter.png?size=140'>
106
+ <td id='josh-holtz'>
107
+ <a href='https://github.com/joshdholtz'>
108
+ <img src='https://github.com/joshdholtz.png?size=140'>
102
109
  </a>
103
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
110
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
104
111
  </td>
105
112
  <td id='jan-piotrowski'>
106
113
  <a href='https://github.com/janpio'>
@@ -108,55 +115,49 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
108
115
  </a>
109
116
  <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
110
117
  </td>
111
- <td id='aaron-brager'>
112
- <a href='https://github.com/getaaron'>
113
- <img src='https://github.com/getaaron.png?size=140'>
114
- </a>
115
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
116
- </td>
117
- <td id='manu-wallner'>
118
- <a href='https://github.com/milch'>
119
- <img src='https://github.com/milch.png?size=140'>
118
+ <td id='joshua-liebowitz'>
119
+ <a href='https://github.com/taquitos'>
120
+ <img src='https://github.com/taquitos.png?size=140'>
120
121
  </a>
121
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
122
+ <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
122
123
  </td>
123
- <td id='maksym-grebenets'>
124
- <a href='https://github.com/mgrebenets'>
125
- <img src='https://github.com/mgrebenets.png?size=140'>
124
+ <td id='felix-krause'>
125
+ <a href='https://github.com/KrauseFx'>
126
+ <img src='https://github.com/KrauseFx.png?size=140'>
126
127
  </a>
127
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
128
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
128
129
  </td>
129
130
  </tr>
130
131
  <tr>
132
+ <td id='helmut-januschka'>
133
+ <a href='https://github.com/hjanuschka'>
134
+ <img src='https://github.com/hjanuschka.png?size=140'>
135
+ </a>
136
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
137
+ </td>
131
138
  <td id='danielle-tomlinson'>
132
139
  <a href='https://github.com/DanToml'>
133
140
  <img src='https://github.com/DanToml.png?size=140'>
134
141
  </a>
135
142
  <h4 align='center'><a href='https://twitter.com/DanToml'>Danielle Tomlinson</a></h4>
136
143
  </td>
137
- <td id='joshua-liebowitz'>
138
- <a href='https://github.com/taquitos'>
139
- <img src='https://github.com/taquitos.png?size=140'>
140
- </a>
141
- <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
142
- </td>
143
- <td id='josh-holtz'>
144
- <a href='https://github.com/joshdholtz'>
145
- <img src='https://github.com/joshdholtz.png?size=140'>
144
+ <td id='jimmy-dee'>
145
+ <a href='https://github.com/jdee'>
146
+ <img src='https://github.com/jdee.png?size=140'>
146
147
  </a>
147
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
148
+ <h4 align='center'>Jimmy Dee</h4>
148
149
  </td>
149
- <td id='andrew-mcburney'>
150
- <a href='https://github.com/AndrewMcBurney'>
151
- <img src='https://github.com/AndrewMcBurney.png?size=140'>
150
+ <td id='kohki-miki'>
151
+ <a href='https://github.com/giginet'>
152
+ <img src='https://github.com/giginet.png?size=140'>
152
153
  </a>
153
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
154
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
154
155
  </td>
155
- <td id='fumiya-nakamura'>
156
- <a href='https://github.com/nafu'>
157
- <img src='https://github.com/nafu.png?size=140'>
156
+ <td id='manu-wallner'>
157
+ <a href='https://github.com/milch'>
158
+ <img src='https://github.com/milch.png?size=140'>
158
159
  </a>
159
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
160
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
160
161
  </td>
161
162
  </tr>
162
163
  </table>
@@ -4,7 +4,30 @@ if RUBY_VERSION < '2.0.0'
4
4
  abort("fastlane requires Ruby 2.0.0 or higher")
5
5
  end
6
6
 
7
- $LOAD_PATH.push(File.expand_path("../../lib", __FILE__))
7
+ def self.windows?
8
+ # taken from: https://stackoverflow.com/a/171011/1945875
9
+ (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
10
+ end
11
+
12
+ if ENV["FASTLANE_OPTIMIZE_BOOT"]
13
+ require 'bootsnap'
14
+ require 'tmpdir'
15
+ require 'fileutils'
16
+ require_relative "../fastlane/lib/fastlane/version.rb"
17
+ cache_dir = "#{Dir.tmpdir}/fastlane/bootsnap-cache/" + Fastlane::VERSION
18
+ unless File.directory?(cache_dir)
19
+ FileUtils.mkdir_p(cache_dir)
20
+ end
21
+ Bootsnap.setup(
22
+ cache_dir: cache_dir, # Path to your cache
23
+ development_mode: false, # Current working environment
24
+ load_path_cache: true, # Optimize the LOAD_PATH with a cache
25
+ autoload_paths_cache: false, # Not relevant for fastlane (Optimize ActiveSupport autoloads with cache)
26
+ disable_trace: true, # (Alpha) Set `RubyVM::InstructionSequence.compile_option = { trace_instruction: false }`
27
+ compile_cache_iseq: !self.windows?, # Compile Ruby code into ISeq cache, breaks coverage reporting.
28
+ compile_cache_yaml: true # Compile YAML into a cache
29
+ )
30
+ end
8
31
 
9
32
  require "fastlane/cli_tools_distributor"
10
33
 
@@ -43,6 +43,8 @@ module Deliver
43
43
  IOS_IPAD_PRO_MESSAGES = "iOS-iPad-Pro-messages"
44
44
  # Apple Watch
45
45
  IOS_APPLE_WATCH = "iOS-Apple-Watch"
46
+ # Apple Watch Series 4
47
+ IOS_APPLE_WATCH_SERIES4 = "iOS-Apple-Watch-Series4"
46
48
  # Mac
47
49
  MAC = "Mac"
48
50
  # Apple TV
@@ -93,6 +95,7 @@ module Deliver
93
95
  ScreenSize::IOS_IPAD_10_5_MESSAGES => "ipad105",
94
96
  ScreenSize::MAC => "desktop",
95
97
  ScreenSize::IOS_APPLE_WATCH => "watch",
98
+ ScreenSize::IOS_APPLE_WATCH_SERIES4 => "watchSeries4",
96
99
  ScreenSize::APPLE_TV => "appleTV"
97
100
  }
98
101
  return matching[self.screen_size]
@@ -120,6 +123,7 @@ module Deliver
120
123
  ScreenSize::IOS_IPAD_10_5_MESSAGES => "iPad 10.5 (iMessage)",
121
124
  ScreenSize::MAC => "Mac",
122
125
  ScreenSize::IOS_APPLE_WATCH => "Watch",
126
+ ScreenSize::IOS_APPLE_WATCH_SERIES4 => "Watch Series4",
123
127
  ScreenSize::APPLE_TV => "Apple TV"
124
128
  }
125
129
  return matching[self.screen_size]
@@ -238,6 +242,9 @@ module Deliver
238
242
  ScreenSize::IOS_APPLE_WATCH => [
239
243
  [312, 390]
240
244
  ],
245
+ ScreenSize::IOS_APPLE_WATCH_SERIES4 => [
246
+ [368, 448]
247
+ ],
241
248
  ScreenSize::APPLE_TV => [
242
249
  [1920, 1080]
243
250
  ]
@@ -58,8 +58,21 @@ module Deliver
58
58
  build = nil
59
59
 
60
60
  loop do
61
- latest_build = find_build(app.latest_version.candidate_builds)
61
+ # Sometimes candidate_builds don't appear immediately after submittion
62
+ # Wait for candidate_builds to appear on App Store Connect
63
+ # Issue https://github.com/fastlane/fastlane/issues/10411
64
+ candidate_builds = app.latest_version.candidate_builds
65
+ if (candidate_builds || []).count == 0
66
+ UI.message("Waiting for candidate builds to appear...")
67
+ if (Time.now - start) > (60 * 5)
68
+ UI.user_error!("Could not find any available candidate builds on App Store Connect to submit")
69
+ else
70
+ sleep(30)
71
+ next
72
+ end
73
+ end
62
74
 
75
+ latest_build = find_build(candidate_builds)
63
76
  # Sometimes latest build will disappear and a different build would get selected
64
77
  # Only set build if no latest build found or if same build versions as previously fetched build
65
78
  # Issue: https://github.com/fastlane/fastlane/issues/10945
@@ -2,7 +2,7 @@
2
2
  <img src="/img/actions/match.png" width="250">
3
3
  </p>
4
4
 
5
- ###### Easily sync your certificates and profiles across your team using git
5
+ ###### Easily sync your certificates and profiles across your team
6
6
 
7
7
  A new approach to iOS code signing: Share one code signing identity across your development team to simplify your codesigning setup and prevent code signing issues.
8
8
 
@@ -0,0 +1,61 @@
1
+ module Fastlane
2
+ module Actions
3
+ class DownloadFromPlayStoreAction < Action
4
+ def self.run(params)
5
+ require 'supply'
6
+ require 'supply/options'
7
+
8
+ Supply.config = params # we already have the finished config
9
+
10
+ require 'supply/setup'
11
+ Supply::Setup.new.perform_download
12
+ end
13
+
14
+ #####################################################
15
+ # @!group Documentation
16
+ #####################################################
17
+
18
+ def self.description
19
+ "Download metadata and binaries from Google Play (via _supply_)"
20
+ end
21
+
22
+ def self.details
23
+ "More information: https://docs.fastlane.tools/actions/download_from_play_store/"
24
+ end
25
+
26
+ def self.available_options
27
+ require 'supply'
28
+ require 'supply/options'
29
+ options = Supply::Options.available_options.clone
30
+
31
+ # remove all the unnecessary (for this action) options
32
+ options_to_keep = [:package_name, :metadata_path, :json_key, :json_key_data, :root_url, :timeout, :key, :issuer]
33
+ options.delete_if { |option| options_to_keep.include?(option.key) == false }
34
+ end
35
+
36
+ def self.output
37
+ end
38
+
39
+ def self.return_value
40
+ end
41
+
42
+ def self.authors
43
+ ["janpio"]
44
+ end
45
+
46
+ def self.is_supported?(platform)
47
+ platform == :android
48
+ end
49
+
50
+ def self.example_code
51
+ [
52
+ 'download_from_play_store'
53
+ ]
54
+ end
55
+
56
+ def self.category
57
+ :production
58
+ end
59
+ end
60
+ end
61
+ end
@@ -52,18 +52,20 @@ module Fastlane
52
52
  game_center: 'game_center',
53
53
  health_kit: 'healthkit',
54
54
  home_kit: 'homekit',
55
- wireless_accessory: 'wireless_conf',
55
+ hotspot: 'hotspot',
56
56
  icloud: 'icloud',
57
57
  in_app_purchase: 'in_app_purchase',
58
58
  inter_app_audio: 'inter_app_audio',
59
+ multipath: 'multipath',
60
+ network_extension: 'network_extension',
61
+ nfc_tag_reading: 'nfc_tag_reading',
62
+ personal_vpn: 'personal_vpn',
59
63
  passbook: 'passbook',
60
64
  push_notification: 'push_notification',
61
65
  siri_kit: 'sirikit',
62
66
  vpn_configuration: 'vpn_conf',
63
- network_extension: 'network_extension',
64
- hotspot: 'hotspot',
65
- multipath: 'multipath',
66
- nfc_tag_reading: 'nfc_tag_reading'
67
+ wallet: 'wallet',
68
+ wireless_accessory: 'wireless_conf'
67
69
  }
68
70
  end
69
71
 
@@ -14,7 +14,7 @@ module Fastlane
14
14
  'git',
15
15
  'push',
16
16
  params[:remote],
17
- "#{local_branch}:#{remote_branch}"
17
+ "#{local_branch.shellescape}:#{remote_branch.shellescape}"
18
18
  ]
19
19
 
20
20
  # optionally add the tags component
@@ -89,7 +89,7 @@ module Fastlane
89
89
  'push_to_git_remote # simple version. pushes "master" branch to "origin" remote',
90
90
  'push_to_git_remote(
91
91
  remote: "origin", # optional, default: "origin"
92
- local_branch: "develop", # optional, aliased by "branch", default: "master"
92
+ local_branch: "develop", # optional, aliased by "branch", default is set to current branch
93
93
  remote_branch: "develop", # optional, default is set to local_branch
94
94
  force: true, # optional, default: false
95
95
  force_with_lease: true, # optional, default: false
@@ -3,8 +3,6 @@ require 'credentials_manager'
3
3
  module Fastlane
4
4
  module Actions
5
5
  class RegisterDeviceAction < Action
6
- UDID_REGEXP = /^(\h{40}|\h{8}-\h{16})$/
7
-
8
6
  def self.is_supported?(platform)
9
7
  platform == :ios
10
8
  end
@@ -19,8 +17,12 @@ module Fastlane
19
17
  Spaceship.login(credentials.user, credentials.password)
20
18
  Spaceship.select_team
21
19
 
22
- UI.user_error!("Passed invalid UDID: #{udid} for device: #{name}") unless UDID_REGEXP =~ udid
23
- Spaceship::Device.create!(name: name, udid: udid)
20
+ begin
21
+ Spaceship::Device.create!(name: name, udid: udid)
22
+ rescue => ex
23
+ UI.error(ex.to_s)
24
+ UI.crash!("Failed to register new device (name: #{name}, UDID: #{udid})")
25
+ end
24
26
 
25
27
  UI.success("Successfully registered new device")
26
28
  return udid