match 0.10.0 → 0.11.0

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: 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