fastlane 2.94.0.beta.20180430050033 → 2.94.0.beta.20180501050030

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: '0934323119eece6f36d35faa5037abe3f6597c01'
4
- data.tar.gz: 92673e2f115aa4557f01c5a67981da38e1434889
3
+ metadata.gz: 2284e5c7a58fc0a1faada7883aed8e304db3f056
4
+ data.tar.gz: c58a07f28f97f36bfc051dcdca1966f4d9f11acc
5
5
  SHA512:
6
- metadata.gz: 37c46c6050634e8c433faa93cdda589b41120e94917d6259b1df1f894d5821eaf0bcb7431935b71737588c67ced0f80f514755a5a86cec28ddec2d236f5abab8
7
- data.tar.gz: 2fa32d687dfcaaa2c190567a7385da1795e79f18f400a3015dff90ef1f57756b8987b82bfa22f5416bc0fb98f70d8f29d498bab165a52a1b779feb07dc294f59
6
+ metadata.gz: ce66ec1ebe8c4a0e7b0b2fb5023ec27c9f022e8c046e1af872d34e112c753e84bf58a8c2e30956f4c9c26db28e3571037cd091919d101937a5e0b4a6984d38c6
7
+ data.tar.gz: a9d2e79add396ae29bd18f7e8d4a7c785fde9e578323ec2e98dcf975a3732e9ada4c21b66bf14d213c437aec0c438a85f2a5353a7b4d8343fbb47605039ad23b
@@ -203,7 +203,8 @@ To define the title and optionally the keyword, put two `.strings` files into th
203
203
 
204
204
  The `keyword.strings` and `title.strings` are standard `.strings` file you already use for your iOS apps, making it easy to use your existing translation service to get localized titles.
205
205
 
206
- **Notes**
206
+ **Notes**
207
+
207
208
  - These `.strings` files **MUST** be utf-16 encoded (UTF-16 BE with BOM). They also must begin with an empty line. If you are having trouble see [issue #1740](https://github.com/fastlane/fastlane/issues/1740)
208
209
  - You **MUST** provide a background if you want titles. _frameit_ will not add the tiles if a background is not specified.
209
210
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.94.0.beta.20180430050033'.freeze
2
+ VERSION = '2.94.0.beta.20180501050030'.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
@@ -6,10 +6,10 @@ require_relative 'helper'
6
6
  module FastlaneCore
7
7
  # This class checks if a specific certificate is installed on the current mac
8
8
  class CertChecker
9
- def self.installed?(path)
9
+ def self.installed?(path, in_keychain: nil)
10
10
  UI.user_error!("Could not find file '#{path}'") unless File.exist?(path)
11
11
 
12
- ids = installed_identies
12
+ ids = installed_identies(in_keychain: in_keychain)
13
13
  finger_print = sha1_fingerprint(path)
14
14
 
15
15
  return ids.include?(finger_print)
@@ -20,7 +20,7 @@ module FastlaneCore
20
20
  installed?(path)
21
21
  end
22
22
 
23
- def self.installed_identies
23
+ def self.installed_identies(in_keychain: nil)
24
24
  install_wwdr_certificate unless wwdr_certificate_installed?
25
25
 
26
26
  available = list_available_identities
@@ -47,8 +47,10 @@ module FastlaneCore
47
47
  return ids
48
48
  end
49
49
 
50
- def self.list_available_identities
51
- `security find-identity -v -p codesigning`
50
+ def self.list_available_identities(in_keychain: nil)
51
+ commands = ['security find-identity -v -p codesigning']
52
+ commands << in_keychain if in_keychain
53
+ `#{commands.join(' ')}`
52
54
  end
53
55
 
54
56
  def self.wwdr_certificate_installed?
@@ -266,6 +266,21 @@ module FastlaneCore
266
266
  str.gsub(/\e\[([;\d]+)?m/, '')
267
267
  end
268
268
 
269
+ # Zips directory
270
+ def self.zip_directory(path, output_path, contents_only: false, print: true)
271
+ if contents_only
272
+ command = "cd '#{path}' && zip -r '#{output_path}' *"
273
+ else
274
+ containing_path = File.expand_path("..", path)
275
+ contents_path = File.basename(path)
276
+
277
+ command = "cd '#{containing_path}' && zip -r '#{output_path}' '#{contents_path}'"
278
+ end
279
+
280
+ UI.command(command) unless print
281
+ Helper.backticks(command, print: print)
282
+ end
283
+
269
284
  # loading indicator
270
285
  #
271
286
 
@@ -10,7 +10,12 @@ module Frameit
10
10
  result = {}
11
11
 
12
12
  # A .strings file is UTF-16 encoded. We only want to deal with UTF-8
13
- content = `iconv -f UTF-16 -t UTF-8 "#{path}" 2>&1` # note: double quotes around path so command also works on Windows
13
+ encoding = encoding_type(path)
14
+ if encoding.include?('utf-8') || encoding.include?('us-ascii')
15
+ content = File.read(path)
16
+ else
17
+ content = `iconv -f UTF-16 -t UTF-8 "#{path}" 2>&1` # note: double quotes around path so command also works on Windows
18
+ end
14
19
 
15
20
  content.split("\n").each_with_index do |line, index|
16
21
  begin
@@ -33,5 +38,9 @@ module Frameit
33
38
 
34
39
  result
35
40
  end
41
+
42
+ def self.encoding_type(path)
43
+ `file --mime-encoding #{path}`.downcase
44
+ end
36
45
  end
37
46
  end
@@ -106,7 +106,11 @@ module Match
106
106
  cert_path = certs.last
107
107
  UI.message("Installing certificate...")
108
108
 
109
- if FastlaneCore::CertChecker.installed?(cert_path)
109
+ # Only looking for cert in "custom" (non login.keychain) keychain
110
+ # Doing this for backwards compatability
111
+ keychain_name = params[:keychain_name] == "login.keychain" ? nil : params[:keychain_name]
112
+
113
+ if FastlaneCore::CertChecker.installed?(cert_path, in_keychain: keychain_name)
110
114
  UI.verbose("Certificate '#{File.basename(cert_path)}' is already installed on this machine")
111
115
  else
112
116
  Utils.import(cert_path, params[:keychain_name], password: params[:keychain_password])
@@ -175,6 +175,13 @@ module Scan
175
175
  env_name: "SCAN_DERIVED_DATA_PATH",
176
176
  description: "The directory where build products and other derived data will go",
177
177
  optional: true),
178
+ FastlaneCore::ConfigItem.new(key: :should_zip_build_products,
179
+ short_option: "-Z",
180
+ env_name: "SCAN_SHOULD_ZIP_BUILD_PRODUCTS",
181
+ description: "Should zip the derived data build products and place in output path?",
182
+ optional: true,
183
+ is_string: false,
184
+ default_value: false),
178
185
  FastlaneCore::ConfigItem.new(key: :result_bundle,
179
186
  short_option: "-z",
180
187
  env_name: "SCAN_RESULT_BUNDLE",
@@ -87,11 +87,30 @@ module Scan
87
87
  UI.test_failure!("Test execution failed. Exit status: #{tests_exit_status}")
88
88
  end
89
89
 
90
+ zip_build_products
91
+
90
92
  if !Helper.ci? && Scan.cache[:open_html_report_path]
91
93
  `open --hide '#{Scan.cache[:open_html_report_path]}'`
92
94
  end
93
95
  end
94
96
 
97
+ def zip_build_products
98
+ return unless Scan.config[:should_zip_build_products]
99
+
100
+ # Gets :derived_data_path/Build/Products directory for zipping zip
101
+ derived_data_path = Scan.config[:derived_data_path]
102
+ path = File.join(derived_data_path, "Build/Products")
103
+
104
+ # Gets absolute path of output directory
105
+ output_directory = File.absolute_path(Scan.config[:output_directory])
106
+ output_path = File.join(output_directory, "build_products.zip")
107
+
108
+ # Zips build products and moves it to output directory
109
+ UI.message("Zipping build products")
110
+ FastlaneCore::Helper.zip_directory(path, output_path, contents_only: true, print: false)
111
+ UI.message("Succesfully zipped build products: #{output_path}")
112
+ end
113
+
95
114
  def test_results
96
115
  temp_junit_report = Scan.cache[:temp_junit_report]
97
116
  return File.read(temp_junit_report) if temp_junit_report && File.file?(temp_junit_report)
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: 2.94.0.beta.20180430050033
4
+ version: 2.94.0.beta.20180501050030
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -27,7 +27,7 @@ authors:
27
27
  autorequire:
28
28
  bindir: bin
29
29
  cert_chain: []
30
- date: 2018-04-30 00:00:00.000000000 Z
30
+ date: 2018-05-01 00:00:00.000000000 Z
31
31
  dependencies:
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: slack-notifier
@@ -1637,24 +1637,24 @@ metadata:
1637
1637
  post_install_message:
1638
1638
  rdoc_options: []
1639
1639
  require_paths:
1640
+ - credentials_manager/lib
1641
+ - pilot/lib
1642
+ - match/lib
1643
+ - supply/lib
1640
1644
  - spaceship/lib
1641
- - snapshot/lib
1642
- - produce/lib
1643
- - precheck/lib
1644
- - gym/lib
1645
+ - sigh/lib
1645
1646
  - screengrab/lib
1646
- - match/lib
1647
- - pilot/lib
1648
- - credentials_manager/lib
1649
1647
  - frameit/lib
1650
- - fastlane_core/lib
1651
- - sigh/lib
1648
+ - produce/lib
1652
1649
  - deliver/lib
1650
+ - gym/lib
1651
+ - snapshot/lib
1652
+ - fastlane_core/lib
1653
1653
  - fastlane/lib
1654
1654
  - cert/lib
1655
- - pem/lib
1655
+ - precheck/lib
1656
1656
  - scan/lib
1657
- - supply/lib
1657
+ - pem/lib
1658
1658
  required_ruby_version: !ruby/object:Gem::Requirement
1659
1659
  requirements:
1660
1660
  - - ">="