fastlane 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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