fastlane 1.21.0 → 1.22.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3688edd276635af01ff6dbde0e3ec6786ab5536
4
- data.tar.gz: ad234477739a849996fff29f8a193095fae7eea3
3
+ metadata.gz: 3b371a243c7eae82d8928efe3bea6048e2bbe4cf
4
+ data.tar.gz: fa37ffd24ef06b8e43f8aed3fdda332abc06ebd8
5
5
  SHA512:
6
- metadata.gz: 99d5d48ba2a9107b87dcfcd571b3ec0a4580976685c0a45ecbed9039fde34840aaa90e13590e2fa0f619576088f350995f1f440d40b116fee916bde2bbad31d7
7
- data.tar.gz: e0941d32fdbf8236d06098f8672fb073260e85adad502adc52a8a505260cfc38795d3e712700c3e01b5f65cc75c17f8283a54d2e8771d373d2e45138cab25ee7
6
+ metadata.gz: 28eb77c6a561331d21ef65fd7c6f612dd24b672f941f168f227eb0d9515fd8b23376b9248055d01f5d79492e2fedf1d83ab7e053a20c505edc71f30c5d9089f0
7
+ data.tar.gz: 8cbe27bcded9f352f76a8387d87c9ac855047cd2dc12f7da6d1a27cfe5870114af38b4ba99bed0eace57f4b9c1f8740fe635c0d02f591a188b5d9d45add4ea2b
data/README.md CHANGED
@@ -61,7 +61,6 @@ lane :appstore do
61
61
  snapshot
62
62
  sigh
63
63
  deliver
64
- frameit
65
64
  sh "./customScript.sh"
66
65
 
67
66
  slack
@@ -74,27 +73,27 @@ To launch the `appstore` lane, just run:
74
73
  fastlane appstore
75
74
  ```
76
75
 
77
- `fastlane` can do a lot for you to automate tedious and time-consuming tasks:
78
-
79
- - Connect all build related iOS tools into one workflow (both `fastlane` tools and third party tools)
80
- - Define different `deployment lanes` for App Store deployment, beta builds or testing.
81
- - Deploy from any computer.
82
- - Write your [own actions](https://github.com/KrauseFx/fastlane/blob/master/docs#extensions) (extensions) to extend the functionality of `fastlane`.
83
- - Store data like the `Bundle Identifier` or your `Apple ID` once and use it across all tools.
84
- - Never remember any difficult commands, just `fastlane`.
85
- - Easy setup, which helps you getting up and running quickly.
86
- - [Shared context](https://github.com/KrauseFx/fastlane/blob/master/docs/Advanced.md#lane-context), which is used to let the different deployment steps communicate with each other.
87
- - Store **everything** in git. Never again lookup the used build commands in the ```Jenkins``` configs.
88
- - Saves you **hours** of preparing app submission, uploading screenshots and deploying the app for each update.
89
- - Very flexible configuration using a fully customizable `Fastfile`.
90
- - Once up and running, you have a fully working **Continuous Delivery** process. Just trigger ```fastlane``` and you're good to go.
91
- - [Jenkins Integration](https://github.com/KrauseFx/fastlane/blob/master/docs/Jenkins.md): Show the output directly in the Jenkins test results.
92
- - Automatically generate a markdown documentation of your lanes based on your `Fastfile`.
93
- - Over 60 built-in integrations available.
94
- - Support for both iOS and Mac OS apps
95
- - Full git and mercurial support
96
-
97
- ##### Take a look at the [fastlane website](https://fastlane.tools) for more information about why and when to use `fastlane`.
76
+ | fastlane
77
+ --------------------------|------------------------------------------------------------
78
+ :sparkles: | Connect all iOS build tools into one workflow (both `fastlane` tools and third party tools)
79
+ :monorail: | Define different `deployment lanes` for App Store deployment, beta builds or testing
80
+ :ship: | Deploy from any computer, including a CI-server
81
+ :wrench: | Extend and customise the functionality
82
+ :thought_balloon: | Never remember any difficult commands, just `fastlane`
83
+ :tophat: | Easy setup assistant to get started in a few minutes
84
+ :email: | Automatically pass on information from one build step to another (e.g. path to the `ipa` file)
85
+ :page_with_curl: | Store **everything** in git. Never again lookup the build commands in the `Jenkins` configs
86
+ :rocket: | Saves you **hours** for every app udpate you release
87
+ :pencil2: | Very flexible configuration using a fully customisable `Fastfile`
88
+ :mountain_cableway: | Implement a fully working Continuous Delivery process
89
+ :ghost: | [Jenkins Integration](https://github.com/KrauseFx/fastlane/blob/master/docs/Jenkins.md): Show the output directly in the Jenkins test results
90
+ :book: | Automatically generate a markdown documentation of your lane config
91
+ :hatching_chick: | Over 90 built-in integrations available
92
+ :computer: | Support for both iOS and Mac OS apps
93
+ :octocat: | Full git and mercurial support
94
+
95
+
96
+ ###### Take a look at the [fastlane website](https://fastlane.tools) for more information about why and when to use `fastlane`.
98
97
 
99
98
  ##### Like this tool? [Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx).
100
99
 
@@ -4,7 +4,7 @@ module Fastlane
4
4
  # rubocop:disable Metrics/CyclomaticComplexity
5
5
  # rubocop:disable Metrics/PerceivedComplexity
6
6
  def self.run(params)
7
- if File.exist?('Gemfile')
7
+ if gemfile_exists?(params)
8
8
  cmd = ['bundle install']
9
9
 
10
10
  cmd << "--binstubs #{params[:binstubs]}" if params[:binstubs]
@@ -34,8 +34,19 @@ module Fastlane
34
34
  # rubocop:enable Metrics/CyclomaticComplexity
35
35
  # rubocop:enable Metrics/PerceivedComplexity
36
36
 
37
+ def self.gemfile_exists?(params)
38
+ possible_gemfiles = ['Gemfile', 'gemfile']
39
+ possible_gemfiles.insert(0, params[:gemfile]) if params[:gemfile]
40
+ possible_gemfiles.each do |gemfile|
41
+ gemfile = File.absolute_path(gemfile)
42
+ return true if File.exist? gemfile
43
+ Helper.log.info "Gemfile not found at: '#{gemfile}'"
44
+ end
45
+ return false
46
+ end
47
+
37
48
  def self.description
38
- 'This action runs `bundle install` if it founds the Gemfile'
49
+ 'This action runs `bundle install` (if available)'
39
50
  end
40
51
 
41
52
  def self.is_supported?(platform)
@@ -43,7 +54,7 @@ module Fastlane
43
54
  end
44
55
 
45
56
  def self.author
46
- ["birmacher"]
57
+ ["birmacher", "koglinjg"]
47
58
  end
48
59
 
49
60
  def self.available_options
@@ -0,0 +1,60 @@
1
+ module Fastlane
2
+ module Actions
3
+ module SharedValues
4
+ GET_INFO_PLIST_VALUE_CUSTOM_VALUE = :GET_INFO_PLIST_VALUE_CUSTOM_VALUE
5
+ end
6
+
7
+ class GetInfoPlistValueAction < Action
8
+ def self.run(params)
9
+ require "plist"
10
+
11
+ begin
12
+ path = File.expand_path(params[:path])
13
+ plist = Plist.parse_xml(path)
14
+
15
+ value = plist[params[:key]]
16
+ Actions.lane_context[SharedValues::GET_INFO_PLIST_VALUE_CUSTOM_VALUE] = value
17
+
18
+ return value
19
+ rescue => ex
20
+ Helper.log.error ex
21
+ Helper.log.error "Unable to find plist file at '#{path}'".red
22
+ end
23
+ end
24
+
25
+ def self.description
26
+ "Returns value from Info.plist of your project as native Ruby data structures"
27
+ end
28
+
29
+ def self.available_options
30
+ [
31
+ FastlaneCore::ConfigItem.new(key: :key,
32
+ env_name: "FL_GET_INFO_PLIST_PARAM_NAME",
33
+ description: "Name of parameter",
34
+ optional: false),
35
+ FastlaneCore::ConfigItem.new(key: :path,
36
+ env_name: "FL_GET_INFO_PLIST_PATH",
37
+ description: "Path to plist file you want to read",
38
+ optional: false,
39
+ verify_block: proc do |value|
40
+ raise "Couldn't find plist file at path '#{value}'".red unless File.exist?(value)
41
+ end)
42
+ ]
43
+ end
44
+
45
+ def self.output
46
+ [
47
+ ['GET_INFO_PLIST_VALUE_CUSTOM_VALUE', 'The value of the last plist file that was parsed']
48
+ ]
49
+ end
50
+
51
+ def self.authors
52
+ ["kohtenko"]
53
+ end
54
+
55
+ def self.is_supported?(platform)
56
+ [:ios, :mac].include? platform
57
+ end
58
+ end
59
+ end
60
+ end
@@ -45,7 +45,7 @@ module Fastlane
45
45
  end
46
46
 
47
47
  def self.is_supported?(platform)
48
- platform == :ios
48
+ [:ios, :mac].include? platform
49
49
  end
50
50
  end
51
51
  end
@@ -0,0 +1,61 @@
1
+ module Fastlane
2
+ module Actions
3
+ module SharedValues
4
+ end
5
+
6
+ class SetInfoPlistValueAction < Action
7
+ def self.run(params)
8
+ require "plist"
9
+
10
+ begin
11
+ path = File.expand_path(params[:path])
12
+ plist = Plist.parse_xml(path)
13
+ plist[params[:key]] = params[:value]
14
+ new_plist = plist.to_plist
15
+ File.write(path, new_plist)
16
+
17
+ return params[:value]
18
+ rescue => ex
19
+ Helper.log.error ex
20
+ Helper.log.error "Unable to set value to plist file at '#{path}'".red
21
+ end
22
+ end
23
+
24
+ def self.description
25
+ "Sets value to Info.plist of your project as native Ruby data structures"
26
+ end
27
+
28
+ def self.available_options
29
+ [
30
+ FastlaneCore::ConfigItem.new(key: :key,
31
+ env_name: "FL_SET_INFO_PLIST_PARAM_NAME",
32
+ description: "Name of key in plist",
33
+ optional: false),
34
+ FastlaneCore::ConfigItem.new(key: :value,
35
+ env_name: "FL_SET_INFO_PLIST_PARAM_VALUE",
36
+ description: "Value to setup",
37
+ optional: false),
38
+ FastlaneCore::ConfigItem.new(key: :path,
39
+ env_name: "FL_SET_INFO_PLIST_PATH",
40
+ description: "Path to plist file you want to update",
41
+ optional: false,
42
+ verify_block: proc do |value|
43
+ raise "Couldn't find plist file at path '#{value}'".red unless File.exist?(value)
44
+ end)
45
+ ]
46
+ end
47
+
48
+ def self.output
49
+ []
50
+ end
51
+
52
+ def self.authors
53
+ ["kohtenko"]
54
+ end
55
+
56
+ def self.is_supported?(platform)
57
+ [:ios, :mac].include? platform
58
+ end
59
+ end
60
+ end
61
+ end
@@ -1,3 +1,3 @@
1
1
  module Fastlane
2
- VERSION = '1.21.0'
2
+ VERSION = '1.22.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.21.0
4
+ version: 1.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-25 00:00:00.000000000 Z
11
+ date: 2015-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -84,16 +84,16 @@ dependencies:
84
84
  name: xcpretty
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '0.1'
89
+ version: 0.1.11
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.1'
96
+ version: 0.1.11
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: terminal-notifier
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: 1.8.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: plist
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 3.1.0
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 3.1.0
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: fastlane_core
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -216,7 +230,7 @@ dependencies:
216
230
  requirements:
217
231
  - - ">="
218
232
  - !ruby/object:Gem::Version
219
- version: 0.13.1
233
+ version: 0.13.2
220
234
  - - "<"
221
235
  - !ruby/object:Gem::Version
222
236
  version: 1.0.0
@@ -226,7 +240,7 @@ dependencies:
226
240
  requirements:
227
241
  - - ">="
228
242
  - !ruby/object:Gem::Version
229
- version: 0.13.1
243
+ version: 0.13.2
230
244
  - - "<"
231
245
  - !ruby/object:Gem::Version
232
246
  version: 1.0.0
@@ -356,7 +370,7 @@ dependencies:
356
370
  requirements:
357
371
  - - ">="
358
372
  - !ruby/object:Gem::Version
359
- version: 0.4.4
373
+ version: 0.4.5
360
374
  - - "<"
361
375
  - !ruby/object:Gem::Version
362
376
  version: 1.0.0
@@ -366,7 +380,7 @@ dependencies:
366
380
  requirements:
367
381
  - - ">="
368
382
  - !ruby/object:Gem::Version
369
- version: 0.4.4
383
+ version: 0.4.5
370
384
  - - "<"
371
385
  - !ruby/object:Gem::Version
372
386
  version: 1.0.0
@@ -550,6 +564,7 @@ files:
550
564
  - lib/fastlane/actions/gcovr.rb
551
565
  - lib/fastlane/actions/get_build_number.rb
552
566
  - lib/fastlane/actions/get_github_release.rb
567
+ - lib/fastlane/actions/get_info_plist_value.rb
553
568
  - lib/fastlane/actions/get_version_number.rb
554
569
  - lib/fastlane/actions/git_branch.rb
555
570
  - lib/fastlane/actions/git_pull.rb
@@ -592,6 +607,7 @@ files:
592
607
  - lib/fastlane/actions/set_build_number_repository.rb
593
608
  - lib/fastlane/actions/set_changelog.rb
594
609
  - lib/fastlane/actions/set_github_release.rb
610
+ - lib/fastlane/actions/set_info_plist_value.rb
595
611
  - lib/fastlane/actions/sigh.rb
596
612
  - lib/fastlane/actions/slack.rb
597
613
  - lib/fastlane/actions/snapshot.rb