fastlane 2.116.1 → 2.117.0.beta.20190207200055

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +74 -74
  3. data/fastlane/lib/assets/ActionDetails.md.erb +1 -1
  4. data/fastlane/lib/fastlane/actions/modify_services.rb +8 -9
  5. data/fastlane/lib/fastlane/actions/prompt.rb +1 -2
  6. data/fastlane/lib/fastlane/actions/slack.rb +2 -2
  7. data/fastlane/lib/fastlane/cli_tools_distributor.rb +0 -6
  8. data/fastlane/lib/fastlane/version.rb +1 -1
  9. data/fastlane/swift/Deliverfile.swift +1 -1
  10. data/fastlane/swift/Gymfile.swift +1 -1
  11. data/fastlane/swift/Matchfile.swift +1 -1
  12. data/fastlane/swift/Precheckfile.swift +1 -1
  13. data/fastlane/swift/Scanfile.swift +1 -1
  14. data/fastlane/swift/Screengrabfile.swift +1 -1
  15. data/fastlane/swift/Snapshotfile.swift +1 -1
  16. data/fastlane_core/lib/fastlane_core/languages.rb +1 -6
  17. data/match/lib/match/generator.rb +0 -2
  18. data/match/lib/match/runner.rb +0 -8
  19. data/match/lib/match/utils.rb +0 -6
  20. data/pilot/lib/pilot/options.rb +2 -2
  21. data/produce/lib/produce/available_default_languages.rb +0 -13
  22. data/scan/lib/scan/runner.rb +1 -1
  23. data/spaceship/lib/assets/languageMapping.json +0 -54
  24. data/spaceship/lib/spaceship/portal/ui/select_team.rb +2 -9
  25. data/supply/lib/supply/client.rb +36 -29
  26. metadata +32 -36
  27. data/fastlane/lib/fastlane/actions/.slack.rb.swp +0 -0
  28. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  29. data/spaceship/lib/spaceship/connect_api/.DS_Store +0 -0
  30. data/spaceship/lib/spaceship/portal/ui/.select_team.rb.swp +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 357885244c4c5a55322d9a30cebfc76890ddac94
4
- data.tar.gz: 63b0437cc8422220f613c424245feed9a72ce203
3
+ metadata.gz: 2704e624a13484db6d97667e5e4e96c39de047a4
4
+ data.tar.gz: b7240e1efeb8329cf3e68f9e89fd5b54ff1ae9b5
5
5
  SHA512:
6
- metadata.gz: 3e8d22bf1baac9a797a20267c533c7f9fc6d5a7ca6db3c6594799fa8f594f602a788b3d61fe78143ad3e6bbce3476df9f885e362aae6bc44d7d6ec5bd2e55722
7
- data.tar.gz: f9c9c84163439e511110c5f6a6037c1a09c51da1e8bc1e86f1c52be46ddb4b5f74306fddc3074c70271c5579460786719ea78a364b8fc5ce313eafde9ab2d6fe
6
+ metadata.gz: 07c5bedba7c4353debef68b29bcb2a4047fb9971f779860d71869578bd842719c17c96e76b9276f17d648779a7d8abdab3e93d7b21006f9d0c92531f82a62a27
7
+ data.tar.gz: a3c923d747b89524f99bbe71f1b930f6787f1174689ce9dabf4e47e74076302f8c1bab955718b986999ea823b3e309ef17f1e04e4ed8ec0c5eb325f015d50b55
data/README.md CHANGED
@@ -33,17 +33,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
33
33
  <!-- This table is regenerated and resorted on each release -->
34
34
  <table id='team'>
35
35
  <tr>
36
- <td id='jan-piotrowski'>
37
- <a href='https://github.com/janpio'>
38
- <img src='https://github.com/janpio.png?size=140'>
36
+ <td id='luka-mirosevic'>
37
+ <a href='https://github.com/lmirosevic'>
38
+ <img src='https://github.com/lmirosevic.png?size=140'>
39
39
  </a>
40
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
40
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
41
41
  </td>
42
- <td id='aaron-brager'>
43
- <a href='https://github.com/getaaron'>
44
- <img src='https://github.com/getaaron.png?size=140'>
42
+ <td id='iulian-onofrei'>
43
+ <a href='https://github.com/revolter'>
44
+ <img src='https://github.com/revolter.png?size=140'>
45
45
  </a>
46
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
46
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
47
+ </td>
48
+ <td id='kohki-miki'>
49
+ <a href='https://github.com/giginet'>
50
+ <img src='https://github.com/giginet.png?size=140'>
51
+ </a>
52
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
53
+ </td>
54
+ <td id='jérôme-lacoste'>
55
+ <a href='https://github.com/lacostej'>
56
+ <img src='https://github.com/lacostej.png?size=140'>
57
+ </a>
58
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
59
+ </td>
60
+ <td id='manu-wallner'>
61
+ <a href='https://github.com/milch'>
62
+ <img src='https://github.com/milch.png?size=140'>
63
+ </a>
64
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
65
+ </td>
66
+ </tr>
67
+ <tr>
68
+ <td id='jimmy-dee'>
69
+ <a href='https://github.com/jdee'>
70
+ <img src='https://github.com/jdee.png?size=140'>
71
+ </a>
72
+ <h4 align='center'>Jimmy Dee</h4>
47
73
  </td>
48
74
  <td id='felix-krause'>
49
75
  <a href='https://github.com/KrauseFx'>
@@ -51,37 +77,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
51
77
  </a>
52
78
  <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
53
79
  </td>
80
+ <td id='fumiya-nakamura'>
81
+ <a href='https://github.com/nafu'>
82
+ <img src='https://github.com/nafu.png?size=140'>
83
+ </a>
84
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
85
+ </td>
54
86
  <td id='josh-holtz'>
55
87
  <a href='https://github.com/joshdholtz'>
56
88
  <img src='https://github.com/joshdholtz.png?size=140'>
57
89
  </a>
58
90
  <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
59
91
  </td>
60
- <td id='fumiya-nakamura'>
61
- <a href='https://github.com/nafu'>
62
- <img src='https://github.com/nafu.png?size=140'>
92
+ <td id='danielle-tomlinson'>
93
+ <a href='https://github.com/DanToml'>
94
+ <img src='https://github.com/DanToml.png?size=140'>
63
95
  </a>
64
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
96
+ <h4 align='center'><a href='https://twitter.com/DanToml'>Danielle Tomlinson</a></h4>
65
97
  </td>
66
98
  </tr>
67
99
  <tr>
68
- <td id='jérôme-lacoste'>
69
- <a href='https://github.com/lacostej'>
70
- <img src='https://github.com/lacostej.png?size=140'>
100
+ <td id='stefan-natchev'>
101
+ <a href='https://github.com/snatchev'>
102
+ <img src='https://github.com/snatchev.png?size=140'>
71
103
  </a>
72
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
104
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
73
105
  </td>
74
- <td id='manu-wallner'>
75
- <a href='https://github.com/milch'>
76
- <img src='https://github.com/milch.png?size=140'>
106
+ <td id='olivier-halligon'>
107
+ <a href='https://github.com/AliSoftware'>
108
+ <img src='https://github.com/AliSoftware.png?size=140'>
77
109
  </a>
78
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
110
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
79
111
  </td>
80
- <td id='danielle-tomlinson'>
81
- <a href='https://github.com/DanToml'>
82
- <img src='https://github.com/DanToml.png?size=140'>
112
+ <td id='matthew-ellis'>
113
+ <a href='https://github.com/matthewellis'>
114
+ <img src='https://github.com/matthewellis.png?size=140'>
83
115
  </a>
84
- <h4 align='center'><a href='https://twitter.com/DanToml'>Danielle Tomlinson</a></h4>
116
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
85
117
  </td>
86
118
  <td id='maksym-grebenets'>
87
119
  <a href='https://github.com/mgrebenets'>
@@ -89,57 +121,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
89
121
  </a>
90
122
  <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
91
123
  </td>
92
- <td id='luka-mirosevic'>
93
- <a href='https://github.com/lmirosevic'>
94
- <img src='https://github.com/lmirosevic.png?size=140'>
95
- </a>
96
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
97
- </td>
98
- </tr>
99
- <tr>
100
- <td id='iulian-onofrei'>
101
- <a href='https://github.com/revolter'>
102
- <img src='https://github.com/revolter.png?size=140'>
103
- </a>
104
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
105
- </td>
106
124
  <td id='jorge-revuelta-h'>
107
125
  <a href='https://github.com/minuscorp'>
108
126
  <img src='https://github.com/minuscorp.png?size=140'>
109
127
  </a>
110
128
  <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
111
129
  </td>
112
- <td id='kohki-miki'>
113
- <a href='https://github.com/giginet'>
114
- <img src='https://github.com/giginet.png?size=140'>
115
- </a>
116
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
117
- </td>
118
- <td id='jimmy-dee'>
119
- <a href='https://github.com/jdee'>
120
- <img src='https://github.com/jdee.png?size=140'>
121
- </a>
122
- <h4 align='center'>Jimmy Dee</h4>
123
- </td>
124
- <td id='stefan-natchev'>
125
- <a href='https://github.com/snatchev'>
126
- <img src='https://github.com/snatchev.png?size=140'>
127
- </a>
128
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
129
- </td>
130
130
  </tr>
131
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>
138
- <td id='olivier-halligon'>
139
- <a href='https://github.com/AliSoftware'>
140
- <img src='https://github.com/AliSoftware.png?size=140'>
132
+ <td id='andrew-mcburney'>
133
+ <a href='https://github.com/armcburney'>
134
+ <img src='https://github.com/armcburney.png?size=140'>
141
135
  </a>
142
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
136
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
143
137
  </td>
144
138
  <td id='joshua-liebowitz'>
145
139
  <a href='https://github.com/taquitos'>
@@ -147,17 +141,23 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
147
141
  </a>
148
142
  <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
149
143
  </td>
150
- <td id='andrew-mcburney'>
151
- <a href='https://github.com/armcburney'>
152
- <img src='https://github.com/armcburney.png?size=140'>
144
+ <td id='aaron-brager'>
145
+ <a href='https://github.com/getaaron'>
146
+ <img src='https://github.com/getaaron.png?size=140'>
153
147
  </a>
154
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
148
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
155
149
  </td>
156
- <td id='matthew-ellis'>
157
- <a href='https://github.com/matthewellis'>
158
- <img src='https://github.com/matthewellis.png?size=140'>
150
+ <td id='jan-piotrowski'>
151
+ <a href='https://github.com/janpio'>
152
+ <img src='https://github.com/janpio.png?size=140'>
159
153
  </a>
160
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
154
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
155
+ </td>
156
+ <td id='helmut-januschka'>
157
+ <a href='https://github.com/hjanuschka'>
158
+ <img src='https://github.com/hjanuschka.png?size=140'>
159
+ </a>
160
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
161
161
  </td>
162
162
  </tr>
163
163
  </table>
@@ -74,7 +74,7 @@ To pass parameters, make use of the `:` symbol, for example
74
74
  fastlane run <%= @action.action_name %> parameter1:"value1" parameter2:"value2"
75
75
  ```
76
76
 
77
- It's important to note that the CLI supports primitive types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. `param:"1,2,3"`). Hashes are not currently supported.
77
+ It's important to note that the CLI supports primative types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. `param:"1,2,3"`). Hashes are not currently supported.
78
78
 
79
79
  It is recommended to add all _fastlane_ actions you use to your `Fastfile`.
80
80
 
@@ -4,14 +4,16 @@ module Fastlane
4
4
  def self.run(params)
5
5
  require 'produce'
6
6
 
7
+ return if Helper.test?
8
+
7
9
  Produce.config = params
8
10
 
9
11
  Dir.chdir(FastlaneCore::FastlaneFolder.path || Dir.pwd) do
10
12
  require 'produce/service'
11
13
  services = params[:services]
12
14
 
13
- enabled_services = services.select { |_k, v| v == true || v.to_s == 'on' }.map { |k, v| [k, 'on'] }.to_h
14
- disabled_services = services.reject { |_k, v| v == true || v.to_s == 'on' }.map { |k, v| [k, 'off'] }.to_h
15
+ enabled_services = services.reject { |k, v| v == 'off' }
16
+ disabled_services = services.select { |k, v| v == 'off' }
15
17
 
16
18
  enabled_services_object = self.service_object
17
19
  enabled_services.each do |k, v|
@@ -70,7 +72,7 @@ module Fastlane
70
72
 
71
73
  def self.allowed_services_description
72
74
  return Produce::DeveloperCenter::ALLOWED_SERVICES.map do |k, v|
73
- "#{k}: (#{v.join('|')})(:on|:off)(true|false)"
75
+ "#{k}: (#{v.join('|')})"
74
76
  end.join(", ")
75
77
  end
76
78
 
@@ -156,12 +158,9 @@ module Fastlane
156
158
  app_identifier: "com.someorg.app",
157
159
  services: {
158
160
  push_notification: "on",
159
- associated_domains: "off",
160
- wallet: :on,
161
- apple_pay: :off,
162
- data_protection: true,
163
- multipath: false
164
- })'
161
+ associated_domains: "off"
162
+ }
163
+ )'
165
164
  ]
166
165
  end
167
166
 
@@ -17,8 +17,7 @@ module Fastlane
17
17
  UI.important("Submit inputs using \"#{params[:multi_line_end_keyword]}\"")
18
18
  user_input = ""
19
19
  loop do
20
- line = STDIN.gets # returns `nil` if called at end of file
21
- break unless line
20
+ line = STDIN.gets
22
21
  end_tag_index = line.index(end_tag)
23
22
  if end_tag_index.nil?
24
23
  user_input << line
@@ -156,7 +156,7 @@ module Fastlane
156
156
  "Built by" => "Jenkins",
157
157
  },
158
158
  default_payloads: [:git_branch, :git_author], # Optional, lets you specify a whitelist of default payloads to include. Pass an empty array to suppress all the default payloads.
159
- # Don\'t add this key, or pass nil, if you want all the default payloads. The available default payloads are: `lane`, `test_result`, `git_branch`, `git_author`, `last_git_commit`, `last_git_commit_hash`.
159
+ # Don\'t add this key, or pass nil, if you want all the default payloads. The available default payloads are: `lane`, `test_result`, `git_branch`, `git_author`, `last_git_commit_message`, `last_git_commit_hash`.
160
160
  attachment_properties: { # Optional, lets you specify any other properties available for attachments in the slack API (see https://api.slack.com/docs/attachments).
161
161
  # This hash is deep merged with the existing properties set using the other properties above. This allows your own fields properties to be appended to the existing fields that were created using the `payload` property for instance.
162
162
  thumb_url: "http://example.com/path/to/thumb.png",
@@ -184,7 +184,7 @@ module Fastlane
184
184
 
185
185
  def self.generate_slack_attachments(options)
186
186
  color = (options[:success] ? 'good' : 'danger')
187
- should_add_payload = ->(payload_name) { options[:default_payloads].nil? || options[:default_payloads].map(&:to_sym).include?(payload_name.to_sym) }
187
+ should_add_payload = ->(payload_name) { options[:default_payloads].nil? || options[:default_payloads].join(" ").include?(payload_name.to_s) }
188
188
 
189
189
  slack_attachment = {
190
190
  fallback: options[:message],
@@ -102,12 +102,6 @@ module Fastlane
102
102
  # When we launch this feature, this should never be the case
103
103
  abort("#{tool_name} can't be called via `fastlane #{tool_name}`, run '#{tool_name}' directly instead".red)
104
104
  end
105
-
106
- # Some of the tools use other actions so need to load all
107
- # actions before we start the tool generator
108
- # Example: scan uses slack
109
- Fastlane.load_actions
110
-
111
105
  commands_generator.start
112
106
  elsif tool_name == "fastlane-credentials"
113
107
  require 'credentials_manager'
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.116.1'.freeze
2
+ VERSION = '2.117.0.beta.20190207200055'.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
@@ -18,4 +18,4 @@ class Deliverfile: DeliverfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.116.1
21
+ // Generated with fastlane 2.116.0
@@ -18,4 +18,4 @@ class Gymfile: GymfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.116.1
21
+ // Generated with fastlane 2.116.0
@@ -18,4 +18,4 @@ class Matchfile: MatchfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.116.1
21
+ // Generated with fastlane 2.116.0
@@ -18,4 +18,4 @@ class Precheckfile: PrecheckfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.116.1
21
+ // Generated with fastlane 2.116.0
@@ -18,4 +18,4 @@ class Scanfile: ScanfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.116.1
21
+ // Generated with fastlane 2.116.0
@@ -18,4 +18,4 @@ class Screengrabfile: ScreengrabfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.116.1
21
+ // Generated with fastlane 2.116.0
@@ -18,4 +18,4 @@ class Snapshotfile: SnapshotfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.116.1
21
+ // Generated with fastlane 2.116.0
@@ -6,11 +6,6 @@ module FastlaneCore
6
6
  ALL_LANGUAGES_LEGACY = ["da-DK", "de-DE", "el-GR", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "id-ID", "it-IT", "ja-JP", "ko-KR", "ms-MY", "nl-NL", "no-NO", "pt-BR", "pt-PT", "ru-RU", "sv-SE", "th-TH", "tr-TR", "vi-VI", "cmn-Hans", "cmn-Hant"]
7
7
 
8
8
  # The new format used from September 2015 on
9
- # This was generated from `Spaceship::Tunes.client.available_languages.sort`
10
- # Updates should also be made to:
11
- # - produce/lib/produce/available_default_languages.rb
12
- # - spaceship/lib/assets/languageMapping.json
13
- # See pull request for example: https://github.com/fastlane/fastlane/pull/14110
14
- ALL_LANGUAGES = ["ca", "cs", "da", "de-DE", "el", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi", "fr-CA", "fr-FR", "hi", "hr", "hu", "id", "it", "ja", "ko", "ms", "nl-NL", "no", "pl", "pt-BR", "pt-PT", "ro", "ru", "sk", "sv", "th", "tr", "uk", "vi", "zh-Hans", "zh-Hant"]
9
+ ALL_LANGUAGES = ["da", "de-DE", "el", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi", "fr-CA", "fr-FR", "id", "it", "ja", "ko", "ms", "nl-NL", "no", "pt-BR", "pt-PT", "ru", "sv", "th", "tr", "vi", "zh-Hans", "zh-Hant"]
15
10
  end
16
11
  end
@@ -15,7 +15,6 @@ module Match
15
15
  force: true, # we don't need a certificate without its private key, we only care about a new certificate
16
16
  username: params[:username],
17
17
  team_id: params[:team_id],
18
- team_name: params[:team_name],
19
18
  keychain_path: FastlaneCore::Helper.keychain_path(params[:keychain_name]),
20
19
  keychain_password: params[:keychain_password]
21
20
  })
@@ -64,7 +63,6 @@ module Match
64
63
  provisioning_name: profile_name,
65
64
  ignore_profiles_with_different_name: true,
66
65
  team_id: params[:team_id],
67
- team_name: params[:team_name],
68
66
  template_name: params[:template_name]
69
67
  }
70
68
 
@@ -169,14 +169,6 @@ module Match
169
169
  self.files_to_commit << private_key_path
170
170
  else
171
171
  cert_path = certs.last
172
-
173
- # Check validity of certificate
174
- if Utils.is_cert_valid?(cert_path)
175
- UI.verbose("Your certificate '#{File.basename(cert_path)}' is valid")
176
- else
177
- UI.user_error!("Your certificate '#{File.basename(cert_path)}' is not valid, please check end date and renew it if necessary")
178
- end
179
-
180
172
  if Helper.mac?
181
173
  UI.message("Installing certificate...")
182
174
 
@@ -58,12 +58,6 @@ module Match
58
58
  return {}
59
59
  end
60
60
 
61
- def self.is_cert_valid?(cer_certificate_path)
62
- cert = OpenSSL::X509::Certificate.new(File.binread(cer_certificate_path))
63
- now = Time.now.utc
64
- return (now <=> cert.not_after) == -1
65
- end
66
-
67
61
  def self.base_environment_variable_name(app_identifier: nil, type: nil, platform: :ios)
68
62
  if platform.to_s == :ios.to_s
69
63
  ["sigh", app_identifier, type] # We keep the ios profiles without the platform for backwards compatibility
@@ -51,12 +51,12 @@ module Pilot
51
51
  short_option: "-w",
52
52
  optional: true,
53
53
  env_name: "PILOT_CHANGELOG",
54
- description: "Provide the 'What to Test' text when uploading a new build. `skip_waiting_for_build_processing: false` is required to set the changelog"),
54
+ description: "Provide the 'what's new' text when uploading a new build"),
55
55
  FastlaneCore::ConfigItem.new(key: :beta_app_description,
56
56
  short_option: "-d",
57
57
  optional: true,
58
58
  env_name: "PILOT_BETA_APP_DESCRIPTION",
59
- description: "Provide the 'Beta App Description' when uploading a new build"),
59
+ description: "Provide the beta app description when uploading a new build"),
60
60
  FastlaneCore::ConfigItem.new(key: :beta_app_feedback_email,
61
61
  short_option: "-n",
62
62
  optional: true,
@@ -1,14 +1,7 @@
1
1
  module Produce
2
2
  class AvailableDefaultLanguages
3
- # If you update this list, you probably also have to update these files:
4
- # - fastlane_core/lib/fastlane_core/languages.rb
5
- # - spaceship/lib/assets/languageMapping.json
6
- # See this pull request for example: https://github.com/fastlane/fastlane/pull/14110
7
3
  def self.all_languages
8
4
  [
9
- "Catalan",
10
- "Croatian",
11
- "Czech",
12
5
  "Brazilian Portuguese",
13
6
  "Danish",
14
7
  "Dutch",
@@ -21,24 +14,18 @@ module Produce
21
14
  "French_CA",
22
15
  "German",
23
16
  "Greek",
24
- "Hindi",
25
- "Hungarian",
26
17
  "Indonesian",
27
18
  "Italian",
28
19
  "Japanese",
29
20
  "Korean",
30
21
  "Malay",
31
22
  "Norwegian",
32
- "Polish",
33
23
  "Portuguese",
34
- "Romanian",
35
24
  "Russian",
36
25
  "Simplified Chinese",
37
- "Slovak",
38
26
  "Spanish",
39
27
  "Spanish_MX",
40
28
  "Swedish",
41
- "Ukrainian",
42
29
  "Thai",
43
30
  "Traditional Chinese",
44
31
  "Turkish",
@@ -93,7 +93,6 @@ module Scan
93
93
  puts("")
94
94
 
95
95
  copy_simulator_logs
96
- zip_build_products
97
96
 
98
97
  if result[:failures] > 0
99
98
  open_report
@@ -105,6 +104,7 @@ module Scan
105
104
  UI.test_failure!("Test execution failed. Exit status: #{tests_exit_status}")
106
105
  end
107
106
 
107
+ zip_build_products
108
108
  open_report
109
109
  end
110
110
 
@@ -1,10 +1,4 @@
1
1
  [
2
- {
3
- "locale": "ca-ES",
4
- "name": "Catalan",
5
- "game-center": false,
6
- "itc_locale": "ca"
7
- },
8
2
  {
9
3
  "locale": "cmn-Hans",
10
4
  "name": "Simplified Chinese",
@@ -17,12 +11,6 @@
17
11
  "game-center": true,
18
12
  "itc_locale": "zh-Hant"
19
13
  },
20
- {
21
- "locale": "cs-CZ",
22
- "name": "Czech",
23
- "game-center": false,
24
- "itc_locale": "cs"
25
- },
26
14
  {
27
15
  "locale": "da-DK",
28
16
  "name": "Danish",
@@ -119,24 +107,6 @@
119
107
  ],
120
108
  "itc_locale": "el"
121
109
  },
122
- {
123
- "locale": "hi-IN",
124
- "name": "Hindi",
125
- "game-center": false,
126
- "itc_locale": "hi"
127
- },
128
- {
129
- "locale": "hr-HR",
130
- "name": "Croatian",
131
- "game-center": false,
132
- "itc_locale": "hr"
133
- },
134
- {
135
- "locale": "hu-HU",
136
- "name": "Hungarian",
137
- "game-center": false,
138
- "itc_locale": "hu"
139
- },
140
110
  {
141
111
  "locale": "id-ID",
142
112
  "name": "Indonesian",
@@ -191,12 +161,6 @@
191
161
  ],
192
162
  "itc_locale": "no"
193
163
  },
194
- {
195
- "locale": "pl-PL",
196
- "name": "Polish",
197
- "game-center": false,
198
- "itc_locale": "pl"
199
- },
200
164
  {
201
165
  "locale": "pt-BR",
202
166
  "name": "Brazilian Portuguese",
@@ -210,12 +174,6 @@
210
174
  "pt"
211
175
  ]
212
176
  },
213
- {
214
- "locale": "ro-RO",
215
- "name": "Romanian",
216
- "game-center": false,
217
- "itc_locale": "ro"
218
- },
219
177
  {
220
178
  "locale": "ru-RU",
221
179
  "name": "Russian",
@@ -243,12 +201,6 @@
243
201
  "es"
244
202
  ]
245
203
  },
246
- {
247
- "locale": "sk-SK",
248
- "name": "Slovak",
249
- "game-center": false,
250
- "itc_locale": "sk"
251
- },
252
204
  {
253
205
  "locale": "sv-SE",
254
206
  "name": "Swedish",
@@ -276,12 +228,6 @@
276
228
  ],
277
229
  "itc_locale": "tr"
278
230
  },
279
- {
280
- "locale": "uk-UA",
281
- "name": "Ukrainian",
282
- "game-center": false,
283
- "itc_locale": "uk"
284
- },
285
231
  {
286
232
  "locale": "vi-VI",
287
233
  "name": "Vietnamese",
@@ -67,11 +67,7 @@ module Spaceship
67
67
  return team['teamId'] if team['teamId'].strip == team_id
68
68
  return team['teamId'] if team['currentTeamMember']['teamMemberId'].to_s.strip == team_id
69
69
  end
70
- # Better message to inform user of misconfiguration as Apple now provides less friendly error as of 2019-02-12
71
- # This is especially important as Developer Portal team IDs are deprecated and should be replaced with App Store Connect teamIDs
72
- # "Access Unavailable - You currently don't have access to this membership resource. Contact your team's Account Holder, Josh Holtz, or an Admin."
73
- # https://github.com/fastlane/fastlane/issues/14228
74
- puts("Couldn't find team with ID '#{team_id}'. Make sure your are using the correct App Store Connect team ID and have the proper permissions for this team")
70
+ puts("Couldn't find team with ID '#{team_id}'")
75
71
  end
76
72
 
77
73
  if team_name.length > 0
@@ -79,10 +75,7 @@ module Spaceship
79
75
  teams.each_with_index do |team, i|
80
76
  return team['teamId'] if team['name'].strip == team_name
81
77
  end
82
- # Better message to inform user of misconfiguration as Apple now provides less friendly error as of 2019-02-12
83
- # "Access Unavailable - You currently don't have access to this membership resource. Contact your team's Account Holder, Josh Holtz, or an Admin."
84
- # https://github.com/fastlane/fastlane/issues/14228
85
- puts("Couldn't find team with Name '#{team_name}. Make sure you have the proper permissions for this team'")
78
+ puts("Couldn't find team with Name '#{team_name}'")
86
79
  end
87
80
 
88
81
  return teams[0]['teamId'] if teams.count == 1 # user is just in one team
@@ -13,24 +13,13 @@ module Supply
13
13
  attr_accessor :client
14
14
 
15
15
  def self.make_from_config(params: nil)
16
- params ||= Supply.config
17
- service_account_data = self.service_account_authentication(params: params)
18
- return self.new(service_account_json: service_account_data, params: params)
19
- end
20
-
21
- # Supply authentication file
22
- def self.service_account_authentication(params: nil)
23
16
  unless params[:json_key] || params[:json_key_data]
24
- if UI.interactive?
25
- UI.important("To not be asked about this value, you can specify it using 'json_key'")
26
- json_key_path = UI.input("The service account json file used to authenticate with Google: ")
27
- json_key_path = File.expand_path(json_key_path)
28
-
29
- UI.user_error!("Could not find service account json file at path '#{json_key_path}'") unless File.exist?(json_key_path)
30
- params[:json_key] = json_key_path
31
- else
32
- UI.user_error!("Could not load Google authentication. Make sure it has been added as an environment variable in 'json_key' or 'json_key_data'")
33
- end
17
+ UI.important("To not be asked about this value, you can specify it using 'json_key'")
18
+ json_key_path = UI.input("The service account json file used to authenticate with Google: ")
19
+ json_key_path = File.expand_path(json_key_path)
20
+
21
+ UI.user_error!("Could not find service account json file at path '#{json_key_path}'") unless File.exist?(json_key_path)
22
+ params[:json_key] = json_key_path
34
23
  end
35
24
 
36
25
  if params[:json_key]
@@ -39,7 +28,7 @@ module Supply
39
28
  service_account_json = StringIO.new(params[:json_key_data])
40
29
  end
41
30
 
42
- service_account_json
31
+ return self.new(service_account_json: service_account_json, params: params)
43
32
  end
44
33
 
45
34
  # Initializes the service and its auth_client using the specified information
@@ -97,22 +86,40 @@ module Supply
97
86
  # @!group Login
98
87
  #####################################################
99
88
 
100
- def self.service_account_authentication(params: nil)
101
- if params[:json_key] || params[:json_key_data]
102
- super(params: params)
103
- elsif params[:key] && params[:issuer]
89
+ # instantiate a client given the supplied configuration
90
+ def self.make_from_config(params: nil)
91
+ if params.nil?
92
+ params = Supply.config
93
+ end
94
+
95
+ # first consider deprecated params
96
+ unless params[:json_key] || params[:json_key_data] || (params[:key] && params[:issuer])
97
+ UI.important("To not be asked about this value, you can specify it using 'json_key'")
98
+ params[:json_key] = UI.input("The service account json file used to authenticate with Google: ")
99
+ end
100
+
101
+ super(params: params)
102
+ end
103
+
104
+ # Initializes the client and its auth_client using the specified information
105
+ # @param service_account_json: The raw service account Json data
106
+ # @param path_to_key: The path to your p12 file (@deprecated)
107
+ # @param issuer: Email address for oauth (@deprecated)
108
+ def initialize(path_to_key: nil, issuer: nil, service_account_json: nil, params: nil)
109
+ if service_account_json
110
+ key_io = service_account_json
111
+ else
112
+ # deprecated
104
113
  require 'google/api_client/auth/key_utils'
105
- UI.important("This type of authentication is deprecated. Please consider using JSON authentication instead")
106
- key = Google::APIClient::KeyUtils.load_from_pkcs12(File.expand_path(params[:key]), 'notasecret')
114
+ key = Google::APIClient::KeyUtils.load_from_pkcs12(File.expand_path(path_to_key), 'notasecret')
107
115
  cred_json = {
108
116
  private_key: key.to_s,
109
- client_email: params[:issuer]
117
+ client_email: issuer
110
118
  }
111
- service_account_json = StringIO.new(MultiJson.dump(cred_json))
112
- service_account_json
113
- else
114
- UI.user_error!("No authentication parameters were specified. These must be provided in order to authenticate with Google")
119
+ key_io = StringIO.new(MultiJson.dump(cred_json))
115
120
  end
121
+
122
+ super(service_account_json: key_io, params: params)
116
123
  end
117
124
 
118
125
  #####################################################
metadata CHANGED
@@ -1,33 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.116.1
4
+ version: 2.117.0.beta.20190207200055
5
5
  platform: ruby
6
6
  authors:
7
- - Jérôme Lacoste
8
- - Stefan Natchev
9
- - Kohki Miki
10
- - Aaron Brager
11
- - Felix Krause
12
- - Andrew McBurney
13
- - Jimmy Dee
14
- - Jan Piotrowski
7
+ - Olivier Halligon
15
8
  - Matthew Ellis
16
- - Joshua Liebowitz
9
+ - Jimmy Dee
10
+ - Aaron Brager
11
+ - Helmut Januschka
12
+ - Jorge Revuelta H
13
+ - Iulian Onofrei
17
14
  - Josh Holtz
18
- - Maksym Grebenets
15
+ - Jan Piotrowski
16
+ - Kohki Miki
19
17
  - Luka Mirosevic
20
- - Fumiya Nakamura
18
+ - Stefan Natchev
19
+ - Maksym Grebenets
21
20
  - Manu Wallner
22
- - Iulian Onofrei
23
- - Olivier Halligon
24
- - Helmut Januschka
25
- - Jorge Revuelta H
26
21
  - Danielle Tomlinson
22
+ - Andrew McBurney
23
+ - Felix Krause
24
+ - Jérôme Lacoste
25
+ - Joshua Liebowitz
26
+ - Fumiya Nakamura
27
27
  autorequire:
28
28
  bindir: bin
29
29
  cert_chain: []
30
- date: 2019-02-20 00:00:00.000000000 Z
30
+ date: 2019-02-07 00:00:00.000000000 Z
31
31
  dependencies:
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: slack-notifier
@@ -966,7 +966,6 @@ files:
966
966
  - fastlane/lib/fastlane.rb
967
967
  - fastlane/lib/fastlane/action.rb
968
968
  - fastlane/lib/fastlane/action_collector.rb
969
- - fastlane/lib/fastlane/actions/.slack.rb.swp
970
969
  - fastlane/lib/fastlane/actions/README.md
971
970
  - fastlane/lib/fastlane/actions/actions_helper.rb
972
971
  - fastlane/lib/fastlane/actions/adb.rb
@@ -1287,7 +1286,6 @@ files:
1287
1286
  - fastlane/swift/Fastlane.swift
1288
1287
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj
1289
1288
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
1290
- - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate
1291
1289
  - fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme
1292
1290
  - fastlane/swift/FastlaneSwiftRunner/README.txt
1293
1291
  - fastlane/swift/Gymfile.swift
@@ -1570,7 +1568,6 @@ files:
1570
1568
  - spaceship/lib/spaceship/client.rb
1571
1569
  - spaceship/lib/spaceship/commands_generator.rb
1572
1570
  - spaceship/lib/spaceship/connect_api.rb
1573
- - spaceship/lib/spaceship/connect_api/.DS_Store
1574
1571
  - spaceship/lib/spaceship/connect_api/base.rb
1575
1572
  - spaceship/lib/spaceship/connect_api/client.rb
1576
1573
  - spaceship/lib/spaceship/du/du_client.rb
@@ -1603,7 +1600,6 @@ files:
1603
1600
  - spaceship/lib/spaceship/portal/provisioning_profile.rb
1604
1601
  - spaceship/lib/spaceship/portal/provisioning_profile_template.rb
1605
1602
  - spaceship/lib/spaceship/portal/spaceship.rb
1606
- - spaceship/lib/spaceship/portal/ui/.select_team.rb.swp
1607
1603
  - spaceship/lib/spaceship/portal/ui/select_team.rb
1608
1604
  - spaceship/lib/spaceship/portal/website_push.rb
1609
1605
  - spaceship/lib/spaceship/provider.rb
@@ -1691,23 +1687,23 @@ metadata:
1691
1687
  post_install_message:
1692
1688
  rdoc_options: []
1693
1689
  require_paths:
1694
- - credentials_manager/lib
1695
- - pem/lib
1696
- - snapshot/lib
1697
- - frameit/lib
1698
- - match/lib
1690
+ - fastlane/lib
1691
+ - sigh/lib
1692
+ - pilot/lib
1699
1693
  - fastlane_core/lib
1700
- - deliver/lib
1694
+ - screengrab/lib
1701
1695
  - scan/lib
1696
+ - precheck/lib
1697
+ - frameit/lib
1702
1698
  - supply/lib
1703
- - cert/lib
1704
- - fastlane/lib
1699
+ - snapshot/lib
1700
+ - pem/lib
1701
+ - match/lib
1705
1702
  - spaceship/lib
1706
- - pilot/lib
1707
1703
  - gym/lib
1708
- - precheck/lib
1709
- - screengrab/lib
1710
- - sigh/lib
1704
+ - cert/lib
1705
+ - deliver/lib
1706
+ - credentials_manager/lib
1711
1707
  - produce/lib
1712
1708
  required_ruby_version: !ruby/object:Gem::Requirement
1713
1709
  requirements:
@@ -1716,12 +1712,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
1716
1712
  version: 2.0.0
1717
1713
  required_rubygems_version: !ruby/object:Gem::Requirement
1718
1714
  requirements:
1719
- - - ">="
1715
+ - - ">"
1720
1716
  - !ruby/object:Gem::Version
1721
- version: '0'
1717
+ version: 1.3.1
1722
1718
  requirements: []
1723
1719
  rubyforge_project:
1724
- rubygems_version: 2.5.2.3
1720
+ rubygems_version: 2.6.8
1725
1721
  signing_key:
1726
1722
  specification_version: 4
1727
1723
  summary: The easiest way to automate beta deployments and releases for your iOS and