match 0.10.0 → 0.11.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: ca106e53fcfa3a6afb2796907c6375bbeb4712ea
4
- data.tar.gz: b2dfe54acc43db599594d53e142a1a53525f33be
3
+ metadata.gz: 4abe678f917b35157991a1fd570fa49b2c9bb949
4
+ data.tar.gz: a70c2b38bea8f4031c134fa8c54ed16d89635e56
5
5
  SHA512:
6
- metadata.gz: 4fe6fc7d7b53ca65690898254cefe1c3119ed3525c8a8ec26c01c39595fe601742312dce8a8938f6f0c23da684a1d15078c05d98da75b4801252d31946c85027
7
- data.tar.gz: 14552497d001e8d507c5fede87a21afdee863e7afa930429a2c224b0459c7513338f37536594f9c5fff7b603af30bb448b7d41dd4e304fc99034681af61309e8
6
+ metadata.gz: a4d3d5dc5457e53ddf636e6b14a728c06ce2e8e353a04b5528de13b1d3f37ab0e0aeb9faaed12a7c8d958bb0c6bb2a91404f606f248758506f3800a8d148e5d5
7
+ data.tar.gz: 74bfb495c09c40a8ea81fd173493a68dc9664f7fecf700d5bf4cd81511a73626e4329660f96bae2cc23d41d9e120c1b36ec935d39e7febf9cfe949d5d9b6f0f3
data/README.md CHANGED
@@ -118,7 +118,7 @@ match init
118
118
 
119
119
  <img src="assets/match_init.gif" width="550" />
120
120
 
121
- You'll be asked to enter the URL to your Git repo. This can be either a `https://` or a `git` URL. `match init` won't read or modify your certificates or profiles.
121
+ You'll be asked to enter the URL to your Git repo. This can be either a `https://` or a `git` URL. (If your machine is currently using SSH to authenticate with Github, you'll want to use a `git` URL, otherwise you may see an authentication error when you attempt to use match.) `match init` won't read or modify your certificates or profiles.
122
122
 
123
123
  This will create a `Matchfile` in your current directory (or in your `./fastlane/` folder).
124
124
 
@@ -27,13 +27,15 @@ module Match
27
27
  end
28
28
 
29
29
  if (self.certs + self.profiles + self.files).count > 0
30
- UI.error "---"
31
- UI.error "Are you sure you want to completely delete and revoke all the"
32
- UI.error "certificates and provisioning profiles listed above? (y/n)"
33
- UI.error "Warning: By nuking distribution, both App Store and Ad Hoc profiles will be deleted" if type == "distribution"
34
- UI.error "Warning: The :app_identifier value will be ignored - this will delete all profiles for all your apps!" if had_app_identifier
35
- UI.error "---"
36
- if agree("(y/n)", true)
30
+ unless params[:skip_confirmation]
31
+ UI.error "---"
32
+ UI.error "Are you sure you want to completely delete and revoke all the"
33
+ UI.error "certificates and provisioning profiles listed above? (y/n)"
34
+ UI.error "Warning: By nuking distribution, both App Store and Ad Hoc profiles will be deleted" if type == "distribution"
35
+ UI.error "Warning: The :app_identifier value will be ignored - this will delete all profiles for all your apps!" if had_app_identifier
36
+ UI.error "---"
37
+ end
38
+ if params[:skip_confirmation] || agree("(y/n)", true)
37
39
  nuke_it_now!
38
40
  UI.success "Successfully cleaned your account ♻️"
39
41
  else
@@ -44,6 +44,11 @@ module Match
44
44
  env_name: "MATCH_KEYCHAIN_NAME",
45
45
  description: "Keychain the items should be imported to",
46
46
  default_value: "login.keychain"),
47
+ FastlaneCore::ConfigItem.new(key: :keychain_password,
48
+ short_option: "-p",
49
+ env_name: "MATCH_KEYCHAIN_PASSWORD",
50
+ description: "This might be required the first time you access certificates on a new mac. For the login/default keychain this is your account password",
51
+ optional: true),
47
52
  FastlaneCore::ConfigItem.new(key: :readonly,
48
53
  env_name: "MATCH_READONLY",
49
54
  description: "Only fetch existing certificates and profiles, don't generate new ones",
@@ -80,6 +85,11 @@ module Match
80
85
  description: "Renew the provisioning profiles every time you run match",
81
86
  is_string: false,
82
87
  default_value: false),
88
+ FastlaneCore::ConfigItem.new(key: :skip_confirmation,
89
+ env_name: "MATCH_SKIP_CONFIRMATION",
90
+ description: "Disables confirmation prompts during nuke, answering them with yes",
91
+ is_string: false,
92
+ default_value: false),
83
93
  FastlaneCore::ConfigItem.new(key: :shallow_clone,
84
94
  env_name: "MATCH_SHALLOW_CLONE",
85
95
  description: "Make a shallow clone of the repository (truncate the history to 1 revision)",
@@ -79,12 +79,12 @@ module Match
79
79
  if FastlaneCore::CertChecker.installed?(cert_path)
80
80
  UI.verbose "Certificate '#{File.basename(cert_path)}' is already installed on this machine"
81
81
  else
82
- Utils.import(cert_path, params[:keychain_name])
82
+ Utils.import(cert_path, params[:keychain_name], password: params[:keychain_password])
83
83
  end
84
84
 
85
85
  # Import the private key
86
86
  # there seems to be no good way to check if it's already installed - so just install it
87
- Utils.import(keys.last, params[:keychain_name])
87
+ Utils.import(keys.last, params[:keychain_name], password: params[:keychain_password])
88
88
  end
89
89
 
90
90
  return File.basename(cert_path).gsub(".cer", "") # Certificate ID
@@ -1,6 +1,6 @@
1
1
  module Match
2
2
  class Utils
3
- def self.import(item_path, keychain)
3
+ def self.import(item_path, keychain, password: "")
4
4
  # Existing code expects that a keychain name will be expanded into a default path to Libary/Keychains
5
5
  # in the user's home directory. However, this will not allow the user to pass an absolute path
6
6
  # for the keychain value
@@ -24,12 +24,7 @@ module Match
24
24
 
25
25
  UI.user_error!("Could not locate the provided keychain. Tried:\n\t#{keychain_paths.join("\n\t")}") unless keychain_path
26
26
 
27
- command = "security import #{item_path.shellescape} -k #{keychain_path.shellescape}"
28
- command << " -T /usr/bin/codesign" # to not be asked for permission when running a tool like `gym`
29
- command << " -T /usr/bin/security"
30
- command << " &> /dev/null" unless $verbose
31
-
32
- Helper.backticks(command, print: $verbose)
27
+ FastlaneCore::KeychainImporter.import_file(item_path, keychain_path, keychain_password: password, output: $verbose)
33
28
  end
34
29
 
35
30
  # Fill in an environment variable, ready to be used in _xcodebuild_
@@ -1,4 +1,4 @@
1
1
  module Match
2
- VERSION = "0.10.0"
2
+ VERSION = "0.11.0"
3
3
  DESCRIPTION = "Easily sync your certificates and profiles across your team using git"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: match
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.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: 2016-10-25 00:00:00.000000000 Z
11
+ date: 2016-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: security
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.53.0
33
+ version: 0.55.0
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
36
  version: 1.0.0
@@ -40,7 +40,7 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 0.53.0
43
+ version: 0.55.0
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
46
  version: 1.0.0
@@ -70,7 +70,7 @@ dependencies:
70
70
  requirements:
71
71
  - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: 0.36.1
73
+ version: 0.37.0
74
74
  - - "<"
75
75
  - !ruby/object:Gem::Version
76
76
  version: 1.0.0
@@ -80,7 +80,7 @@ dependencies:
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: 0.36.1
83
+ version: 0.37.0
84
84
  - - "<"
85
85
  - !ruby/object:Gem::Version
86
86
  version: 1.0.0
@@ -311,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
311
311
  version: '0'
312
312
  requirements: []
313
313
  rubyforge_project:
314
- rubygems_version: 2.6.6
314
+ rubygems_version: 2.5.1
315
315
  signing_key:
316
316
  specification_version: 4
317
317
  summary: Easily sync your certificates and profiles across your team using git