fastlane 0.1.3 → 0.1.4

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: 9e4012a426a0394bc705c8623914cbfc3f8f7423
4
- data.tar.gz: 5a3c02a818eafd4336eb659f8d1f868fd22bde67
3
+ metadata.gz: e92732fdcc391aa318c42b987faaf969e0fb3b2b
4
+ data.tar.gz: c542b5e8edc74b78d87464aed624633a2055da01
5
5
  SHA512:
6
- metadata.gz: 3efac9b028b4d274510a54a9ed124da77a7871d531c67109cff37a6f932d8f8b699d80f311fe8d421135c72ad4f790d9e3d8d14d442f3ff85572677fa39bc859
7
- data.tar.gz: 8b688a3af2896d0e5247e4552f685dfbf05ae258bbfb47b3d5c2d9a31239ad7fefc005c7c89710205341d3503964d61be888cce4fd51eb832cd186d25e535013
6
+ metadata.gz: da9d991046c2df19d21aa9b7dd9770292c2eecdd4f64de339b254b72c27275af2b00bcc27f654445f7c2e4180c59e31a6eaf602d107a812492f9d08f1f9a6ad6
7
+ data.tar.gz: 4fd5df820ee8bbf0b950f8a04dcc2ed66c89b017b52b6671466df85cc5b64b23dd5fbf135786a71647c3c14b6284ecbcf9ce6dd4f3834524ef8e52c3d595a933
data/README.md CHANGED
@@ -6,7 +6,8 @@
6
6
  <a href="https://github.com/KrauseFx/snapshot">snapshot</a> &bull;
7
7
  <a href="https://github.com/KrauseFx/frameit">frameit</a> &bull;
8
8
  <a href="https://github.com/KrauseFx/PEM">PEM</a> &bull;
9
- <a href="https://github.com/KrauseFx/sigh">sigh</a>
9
+ <a href="https://github.com/KrauseFx/sigh">sigh</a> &bull;
10
+ <a href="https://github.com/KrauseFx/produce">produce</a>
10
11
  </p>
11
12
  -------
12
13
 
@@ -153,6 +154,22 @@ To use the Ad Hoc profile instead
153
154
  sigh :adhoc
154
155
  ```
155
156
 
157
+ #### [produce](https://github.com/KrauseFx/produce)
158
+
159
+ Create new apps on iTunes Connect and Apple Developer Portal. If the app already exists, `produce` will not do anything.
160
+
161
+ ```ruby
162
+ produce({
163
+ produce_username: 'felix@krausefx.com',
164
+ produce_app_identifier: 'com.krausefx.app',
165
+ produce_app_name: 'MyApp',
166
+ produce_language: 'English',
167
+ produce_version: '1.0',
168
+ produce_sku: 123,
169
+ produce_team_name: 'SunApps GmbH' # only necessary when in multiple teams
170
+ })
171
+ ```
172
+
156
173
  #### [deliver](https://github.com/KrauseFx/deliver)
157
174
  ```ruby
158
175
  deliver
@@ -217,7 +234,7 @@ Send a message to **#channel** (by default) or a direct message to **@username**
217
234
  slack({
218
235
  message: "App successfully released!",
219
236
  channel: "#channel",
220
- success: true,
237
+ success: true
221
238
  })
222
239
  ```
223
240
 
@@ -347,6 +364,7 @@ Save and run. The result should look like this:
347
364
  - [`frameit`](https://github.com/KrauseFx/frameit): Quickly put your screenshots into the right device frames
348
365
  - [`PEM`](https://github.com/KrauseFx/pem): Automatically generate and renew your push notification profiles
349
366
  - [`sigh`](https://github.com/KrauseFx/sigh): Because you would rather spend your time building stuff than fighting provisioning
367
+ - [`produce`](https://github.com/KrauseFx/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
350
368
 
351
369
  ## Advanced
352
370
  #### Lane Context
@@ -9,9 +9,9 @@ module Fastlane
9
9
  require "shenzhen"
10
10
  require "shenzhen/plugins/crashlytics"
11
11
 
12
- params = params.first
12
+ assert_params_given!(params)
13
13
 
14
- raise "You have to pass Crashlytics parameters to the Crashlytics action, take a look at https://github.com/KrauseFx/fastlane#crashlytics".red unless params
14
+ params = params.first
15
15
 
16
16
  crashlytics_path = params[:crashlytics_path]
17
17
  api_token = params[:api_token]
@@ -39,6 +39,13 @@ module Fastlane
39
39
  end
40
40
  end
41
41
 
42
+ private
43
+
44
+ def self.assert_params_given!(params)
45
+ return unless params.empty?
46
+ raise "You have to pass Crashlytics parameters to the Crashlytics action, take a look at https://github.com/KrauseFx/fastlane#crashlytics".red
47
+ end
48
+
42
49
  def self.assert_valid_params!(crashlytics_path, api_token, build_secret, ipa_path)
43
50
  assert_valid_crashlytics_path!(crashlytics_path)
44
51
  assert_valid_api_token!(api_token)
@@ -65,6 +72,9 @@ module Fastlane
65
72
  return if ipa_path && File.exists?(ipa_path)
66
73
  raise "No IPA file given or found, pass using `ipa_path: 'path/app.ipa'`".red
67
74
  end
75
+
76
+ private_class_method :assert_params_given!, :assert_valid_params!,
77
+ :assert_valid_crashlytics_path!, :assert_valid_api_token!, :assert_valid_build_secret!, :assert_valid_ipa_path!
68
78
  end
69
79
  end
70
80
  end
@@ -0,0 +1,35 @@
1
+ module Fastlane
2
+ module Actions
3
+ module SharedValues
4
+ PRODUCE_APPLE_ID = :PRODUCE_APPLE_ID
5
+ end
6
+
7
+ class ProduceAction
8
+ def self.run(params)
9
+ require 'produce'
10
+
11
+ hash = params.first || {}
12
+ raise "Parameter of produce must be a hash".red unless hash.kind_of?Hash
13
+
14
+ hash.each do |key, value|
15
+ ENV[key.to_s.upcase] = value.to_s
16
+ end
17
+
18
+ return if Helper.is_test?
19
+
20
+ Dir.chdir(FastlaneFolder.path || Dir.pwd) do
21
+ # This should be executed in the fastlane folder
22
+
23
+ CredentialsManager::PasswordManager.shared_manager(ENV['PRODUCE_USERNAME']) if ENV['PRODUCE_USERNAME']
24
+ Produce::Config.shared_config # to ask for missing information right in the beginning
25
+
26
+ apple_id = Produce::Manager.start_producing.to_s
27
+
28
+
29
+ Actions.lane_context[SharedValues::PRODUCE_APPLE_ID] = apple_id
30
+ ENV["PRODUCE_APPLE_ID"] = apple_id
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -48,11 +48,16 @@ module Fastlane
48
48
  ]
49
49
  }
50
50
 
51
- notifier.ping "",
51
+ result = notifier.ping "",
52
52
  icon_url: 'https://s3-eu-west-1.amazonaws.com/fastlane.tools/fastlane.png',
53
53
  attachments: [test_result]
54
54
 
55
- Helper.log.info "Successfully sent Slack notification"
55
+ unless result.code == 200
56
+ Helper.log.debug result
57
+ raise "Error pushing Slack message, maybe the integration has no permission to post on this channel? Try removing the channel".red
58
+ else
59
+ Helper.log.info "Successfully sent Slack notification".green
60
+ end
56
61
  end
57
62
  end
58
63
  end
@@ -1,3 +1,3 @@
1
1
  module Fastlane
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  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: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -86,14 +86,28 @@ dependencies:
86
86
  requirements:
87
87
  - - ~>
88
88
  - !ruby/object:Gem::Version
89
- version: 0.10.3
89
+ version: 0.11.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ~>
95
95
  - !ruby/object:Gem::Version
96
- version: 0.10.3
96
+ version: 0.11.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: slack-notifier
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: credentials_manager
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -178,6 +192,20 @@ dependencies:
178
192
  - - '>='
179
193
  - !ruby/object:Gem::Version
180
194
  version: 0.2.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: produce
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - '>='
200
+ - !ruby/object:Gem::Version
201
+ version: 0.1.0
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - '>='
207
+ - !ruby/object:Gem::Version
208
+ version: 0.1.0
181
209
  - !ruby/object:Gem::Dependency
182
210
  name: bundler
183
211
  requirement: !ruby/object:Gem::Requirement
@@ -299,6 +327,7 @@ files:
299
327
  - lib/fastlane/actions/hockey.rb
300
328
  - lib/fastlane/actions/increment_build_number.rb
301
329
  - lib/fastlane/actions/install_cocapods.rb
330
+ - lib/fastlane/actions/produce.rb
302
331
  - lib/fastlane/actions/say.rb
303
332
  - lib/fastlane/actions/sigh.rb
304
333
  - lib/fastlane/actions/slack.rb