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

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: '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
  - - ">="