match 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/bin/match +2 -125
- data/lib/assets/READMETemplate.md +4 -4
- data/lib/match/change_password.rb +2 -2
- data/lib/match/commands_generator.rb +126 -0
- data/lib/match/git_helper.rb +44 -4
- data/lib/match/nuke.rb +2 -2
- data/lib/match/options.rb +4 -0
- data/lib/match/runner.rb +2 -2
- data/lib/match/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72a69112e9b7d60968bf6ad15e377d17d4b817cb
|
4
|
+
data.tar.gz: 5024ebfeb8af33d9c669b2c22138be0fd8c638a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c97d430de5290209b29ebac27a657586866979d53c0f32f73bbcb3d7ebe6d0bed85c24c8e22e183b1785940bf143cad2a01645fc4656b38c09f18aa58c95dba1
|
7
|
+
data.tar.gz: 82741376245582fa2387127368a0c1f5cbcedca124a60e4c924d652cd917d808c46e964bb15ecb9f0b926c9d08ceef20e113ae029c178d512e24cc2dfe3cff44
|
data/README.md
CHANGED
@@ -49,7 +49,7 @@ A new approach to iOS code signing: Share one code signing identity across your
|
|
49
49
|
|
50
50
|
-------
|
51
51
|
|
52
|
-
<h5 align="center"><code>match</code> is part of <a href="https://fastlane.tools">fastlane</a>:
|
52
|
+
<h5 align="center"><code>match</code> is part of <a href="https://fastlane.tools">fastlane</a>: The easiest way to automate building and releasing your iOS and Android apps.</h5>
|
53
53
|
|
54
54
|
## Why match?
|
55
55
|
|
@@ -128,9 +128,9 @@ app_identifier "tools.fastlane.app"
|
|
128
128
|
username "user@fastlane.tools"
|
129
129
|
```
|
130
130
|
|
131
|
-
#### Important: Use one git
|
131
|
+
#### Important: Use one git branch per team
|
132
132
|
|
133
|
-
`match` was designed to
|
133
|
+
`match` was designed to use a separate git branch per Apple account. If you work in multiple teams, make sure to set the `git_branch` parameter to a unique value per team. From there, `match` will automatically create and use the specified branch for you. More information on [codesigning.guide](https://codesigning.guide)
|
134
134
|
|
135
135
|
### Run
|
136
136
|
|
@@ -373,7 +373,7 @@ Because of the potentially dangerous nature of In-House profiles we decided to n
|
|
373
373
|
|
374
374
|
## [`fastlane`](https://fastlane.tools) Toolchain
|
375
375
|
|
376
|
-
- [`fastlane`](https://fastlane.tools):
|
376
|
+
- [`fastlane`](https://fastlane.tools): The easiest way to automate building and releasing your iOS and Android apps
|
377
377
|
- [`deliver`](https://github.com/fastlane/fastlane/tree/master/deliver): Upload screenshots, metadata and your app to the App Store
|
378
378
|
- [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS app on every device
|
379
379
|
- [`frameit`](https://github.com/fastlane/fastlane/tree/master/frameit): Quickly put your screenshots into the right device frames
|
data/bin/match
CHANGED
@@ -1,129 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
2
|
$:.push File.expand_path("../../lib", __FILE__)
|
4
3
|
|
5
4
|
require 'match'
|
6
|
-
require '
|
7
|
-
|
8
|
-
HighLine.track_eof = false
|
9
|
-
|
10
|
-
class MatchApplication
|
11
|
-
include Commander::Methods
|
12
|
-
UI = FastlaneCore::UI
|
13
|
-
|
14
|
-
# rubocop:disable Metrics/MethodLength
|
15
|
-
# rubocop:disable Metrics/AbcSize
|
16
|
-
def run
|
17
|
-
program :version, Match::VERSION
|
18
|
-
program :description, Match::DESCRIPTION
|
19
|
-
program :help, 'Author', 'Felix Krause <match@krausefx.com>'
|
20
|
-
program :help, 'Website', 'https://fastlane.tools'
|
21
|
-
program :help, 'GitHub', 'https://github.com/fastlane/match'
|
22
|
-
program :help_formatter, :compact
|
23
|
-
|
24
|
-
global_option('--verbose') { $verbose = true }
|
25
|
-
|
26
|
-
FastlaneCore::CommanderGenerator.new.generate(Match::Options.available_options)
|
27
|
-
|
28
|
-
command :run do |c|
|
29
|
-
c.syntax = 'match'
|
30
|
-
c.description = Match::DESCRIPTION
|
31
|
-
|
32
|
-
c.action do |args, options|
|
33
|
-
if args.count > 0
|
34
|
-
FastlaneCore::UI.user_error!("Please run `match [type]`, allowed values: development, adhoc or appstore")
|
35
|
-
end
|
36
|
-
|
37
|
-
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
38
|
-
params.load_configuration_file("Matchfile")
|
39
|
-
Match::Runner.new.run(params)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
Match.environments.each do |type|
|
44
|
-
command type do |c|
|
45
|
-
c.syntax = "match #{type}"
|
46
|
-
c.description = "Run match for a #{type} provisioning profile"
|
47
|
-
|
48
|
-
c.action do |args, options|
|
49
|
-
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
50
|
-
params.load_configuration_file("Matchfile") # this has to be done *before* overwriting the value
|
51
|
-
params[:type] = type.to_s
|
52
|
-
Match::Runner.new.run(params)
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
command :init do |c|
|
58
|
-
c.syntax = 'match init'
|
59
|
-
c.description = 'Create the Matchfile for you'
|
60
|
-
c.action do |args, options|
|
61
|
-
containing = (File.directory?("fastlane") ? 'fastlane' : '.')
|
62
|
-
path = File.join(containing, "Matchfile")
|
63
|
-
|
64
|
-
if File.exist?(path)
|
65
|
-
FastlaneCore::UI.user_error!("You already got a Matchfile in this directory")
|
66
|
-
return 0
|
67
|
-
end
|
68
|
-
|
69
|
-
Match::Setup.new.run(path)
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
command :change_password do |c|
|
74
|
-
c.syntax = 'match change_password'
|
75
|
-
c.description = 'Re-encrypt all files with a different password'
|
76
|
-
c.action do |args, options|
|
77
|
-
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
78
|
-
params.load_configuration_file("Matchfile")
|
79
|
-
|
80
|
-
Match::ChangePassword.update(params: params)
|
81
|
-
UI.success "Successfully changed the password. Make sure to update the password on all your clients and servers"
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
command :decrypt do |c|
|
86
|
-
c.syntax = "match decrypt"
|
87
|
-
c.description = "Decrypts the repository and keeps it on the filesystem"
|
88
|
-
c.action do |args, options|
|
89
|
-
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
90
|
-
params.load_configuration_file("Matchfile")
|
91
|
-
decrypted_repo = Match::GitHelper.clone(params[:git_url], params[:shallow_clone])
|
92
|
-
UI.success "Repo is at: '#{decrypted_repo}'"
|
93
|
-
end
|
94
|
-
end
|
95
|
-
command "nuke" do |c|
|
96
|
-
# We have this empty command here, since otherwise the normal `match` command will be executed
|
97
|
-
c.syntax = "match nuke"
|
98
|
-
c.description = "Delete all certificates and provisioning profiles from the Apple Dev Portal"
|
99
|
-
c.action do |args, options|
|
100
|
-
FastlaneCore::UI.user_error!("Please run `match nuke [type], allowed values: distribution and development")
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
["development", "distribution"].each do |type|
|
105
|
-
command "nuke #{type}" do |c|
|
106
|
-
c.syntax = "match nuke #{type}"
|
107
|
-
c.description = "Delete all certificates and provisioning profiles from the Apple Dev Portal of the type #{type}"
|
108
|
-
c.action do |args, options|
|
109
|
-
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
110
|
-
params.load_configuration_file("Matchfile")
|
111
|
-
Match::Nuke.new.run(params, type: type.to_s)
|
112
|
-
end
|
113
|
-
end
|
114
|
-
end
|
115
|
-
|
116
|
-
default_command :run
|
117
|
-
|
118
|
-
run!
|
119
|
-
end
|
120
|
-
# rubocop:enable Metrics/MethodLength
|
121
|
-
# rubocop:enable Metrics/AbcSize
|
122
|
-
end
|
123
|
-
|
124
|
-
begin
|
125
|
-
FastlaneCore::UpdateChecker.start_looking_for_update('match')
|
126
|
-
MatchApplication.new.run
|
127
|
-
ensure
|
128
|
-
FastlaneCore::UpdateChecker.show_update_status('match', Match::VERSION)
|
129
|
-
end
|
5
|
+
require 'match/commands_generator'
|
6
|
+
Match::CommandsGenerator.start
|
@@ -1,4 +1,4 @@
|
|
1
|
-
## [fastlane match](https://github.com/fastlane/fastlane/tree/master/match)
|
1
|
+
## [fastlane match](https://github.com/fastlane/fastlane/tree/master/match#readme)
|
2
2
|
|
3
3
|
This repository contains all your certificates and provisioning profiles needed to build and sign your applications. They are encrypted using OpenSSL via a passphrase.
|
4
4
|
|
@@ -6,7 +6,7 @@ This repository contains all your certificates and provisioning profiles needed
|
|
6
6
|
|
7
7
|
Do not modify this file, as it gets overwritten every time you run `match`.
|
8
8
|
|
9
|
-
### Install [fastlane match](https://github.com/fastlane/fastlane/tree/master/match)
|
9
|
+
### Install [fastlane match](https://github.com/fastlane/fastlane/tree/master/match#readme)
|
10
10
|
|
11
11
|
```
|
12
12
|
sudo gem install match
|
@@ -32,7 +32,7 @@ match adhoc
|
|
32
32
|
match development
|
33
33
|
```
|
34
34
|
|
35
|
-
For more information open [fastlane match git repo](https://github.com/fastlane/fastlane/tree/master/match)
|
35
|
+
For more information open [fastlane match git repo](https://github.com/fastlane/fastlane/tree/master/match#readme)
|
36
36
|
|
37
37
|
### Content
|
38
38
|
|
@@ -46,4 +46,4 @@ This directory contains all provisioning profiles
|
|
46
46
|
|
47
47
|
------------------------------------
|
48
48
|
|
49
|
-
For more information open [fastlane match git repo](https://github.com/fastlane/fastlane/tree/master/match)
|
49
|
+
For more information open [fastlane match git repo](https://github.com/fastlane/fastlane/tree/master/match#readme)
|
@@ -4,12 +4,12 @@ module Match
|
|
4
4
|
to ||= ChangePassword.ask_password(message: "New passphrase for Git Repo: ", confirm: false)
|
5
5
|
from ||= ChangePassword.ask_password(message: "Old passphrase for Git Repo: ", confirm: true)
|
6
6
|
GitHelper.clear_changes
|
7
|
-
workspace = GitHelper.clone(params[:git_url], params[:shallow_clone], manual_password: from, skip_docs: params[:skip_docs])
|
7
|
+
workspace = GitHelper.clone(params[:git_url], params[:shallow_clone], manual_password: from, skip_docs: params[:skip_docs], branch: params[:git_branch])
|
8
8
|
Encrypt.new.clear_password(params[:git_url])
|
9
9
|
Encrypt.new.store_password(params[:git_url], to)
|
10
10
|
|
11
11
|
message = "[fastlane] Changed passphrase"
|
12
|
-
GitHelper.commit_changes(workspace, message, params[:git_url])
|
12
|
+
GitHelper.commit_changes(workspace, message, params[:git_url], params[:git_branch])
|
13
13
|
end
|
14
14
|
|
15
15
|
def self.ask_password(message: "Passphrase for Git Repo: ", confirm: true)
|
@@ -0,0 +1,126 @@
|
|
1
|
+
require 'commander'
|
2
|
+
|
3
|
+
HighLine.track_eof = false
|
4
|
+
|
5
|
+
module Match
|
6
|
+
class CommandsGenerator
|
7
|
+
include Commander::Methods
|
8
|
+
UI = FastlaneCore::UI
|
9
|
+
|
10
|
+
def self.start
|
11
|
+
FastlaneCore::UpdateChecker.start_looking_for_update('match')
|
12
|
+
self.new.run
|
13
|
+
ensure
|
14
|
+
FastlaneCore::UpdateChecker.show_update_status('match', Match::VERSION)
|
15
|
+
end
|
16
|
+
|
17
|
+
# rubocop:disable Metrics/MethodLength
|
18
|
+
# rubocop:disable Metrics/AbcSize
|
19
|
+
def run
|
20
|
+
program :version, Match::VERSION
|
21
|
+
program :description, Match::DESCRIPTION
|
22
|
+
program :help, 'Author', 'Felix Krause <match@krausefx.com>'
|
23
|
+
program :help, 'Website', 'https://fastlane.tools'
|
24
|
+
program :help, 'GitHub', 'https://github.com/fastlane/match'
|
25
|
+
program :help_formatter, :compact
|
26
|
+
|
27
|
+
global_option('--verbose') { $verbose = true }
|
28
|
+
|
29
|
+
FastlaneCore::CommanderGenerator.new.generate(Match::Options.available_options)
|
30
|
+
|
31
|
+
command :run do |c|
|
32
|
+
c.syntax = 'match'
|
33
|
+
c.description = Match::DESCRIPTION
|
34
|
+
|
35
|
+
c.action do |args, options|
|
36
|
+
if args.count > 0
|
37
|
+
FastlaneCore::UI.user_error!("Please run `match [type]`, allowed values: development, adhoc or appstore")
|
38
|
+
end
|
39
|
+
|
40
|
+
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
41
|
+
params.load_configuration_file("Matchfile")
|
42
|
+
Match::Runner.new.run(params)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
Match.environments.each do |type|
|
47
|
+
command type do |c|
|
48
|
+
c.syntax = "match #{type}"
|
49
|
+
c.description = "Run match for a #{type} provisioning profile"
|
50
|
+
|
51
|
+
c.action do |args, options|
|
52
|
+
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
53
|
+
params.load_configuration_file("Matchfile") # this has to be done *before* overwriting the value
|
54
|
+
params[:type] = type.to_s
|
55
|
+
Match::Runner.new.run(params)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
command :init do |c|
|
61
|
+
c.syntax = 'match init'
|
62
|
+
c.description = 'Create the Matchfile for you'
|
63
|
+
c.action do |args, options|
|
64
|
+
containing = (File.directory?("fastlane") ? 'fastlane' : '.')
|
65
|
+
path = File.join(containing, "Matchfile")
|
66
|
+
|
67
|
+
if File.exist?(path)
|
68
|
+
FastlaneCore::UI.user_error!("You already got a Matchfile in this directory")
|
69
|
+
return 0
|
70
|
+
end
|
71
|
+
|
72
|
+
Match::Setup.new.run(path)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
command :change_password do |c|
|
77
|
+
c.syntax = 'match change_password'
|
78
|
+
c.description = 'Re-encrypt all files with a different password'
|
79
|
+
c.action do |args, options|
|
80
|
+
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
81
|
+
params.load_configuration_file("Matchfile")
|
82
|
+
|
83
|
+
Match::ChangePassword.update(params: params)
|
84
|
+
UI.success "Successfully changed the password. Make sure to update the password on all your clients and servers"
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
command :decrypt do |c|
|
89
|
+
c.syntax = "match decrypt"
|
90
|
+
c.description = "Decrypts the repository and keeps it on the filesystem"
|
91
|
+
c.action do |args, options|
|
92
|
+
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
93
|
+
params.load_configuration_file("Matchfile")
|
94
|
+
decrypted_repo = Match::GitHelper.clone(params[:git_url], params[:shallow_clone], branch: params[:git_branch])
|
95
|
+
UI.success "Repo is at: '#{decrypted_repo}'"
|
96
|
+
end
|
97
|
+
end
|
98
|
+
command "nuke" do |c|
|
99
|
+
# We have this empty command here, since otherwise the normal `match` command will be executed
|
100
|
+
c.syntax = "match nuke"
|
101
|
+
c.description = "Delete all certificates and provisioning profiles from the Apple Dev Portal"
|
102
|
+
c.action do |args, options|
|
103
|
+
FastlaneCore::UI.user_error!("Please run `match nuke [type], allowed values: distribution and development. For the 'adhoc' type, please use 'distribution' instead.")
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
["development", "distribution"].each do |type|
|
108
|
+
command "nuke #{type}" do |c|
|
109
|
+
c.syntax = "match nuke #{type}"
|
110
|
+
c.description = "Delete all certificates and provisioning profiles from the Apple Dev Portal of the type #{type}"
|
111
|
+
c.action do |args, options|
|
112
|
+
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
113
|
+
params.load_configuration_file("Matchfile")
|
114
|
+
Match::Nuke.new.run(params, type: type.to_s)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
default_command :run
|
120
|
+
|
121
|
+
run!
|
122
|
+
end
|
123
|
+
# rubocop:enable Metrics/MethodLength
|
124
|
+
# rubocop:enable Metrics/AbcSize
|
125
|
+
end
|
126
|
+
end
|
data/lib/match/git_helper.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Match
|
2
2
|
class GitHelper
|
3
|
-
def self.clone(git_url, shallow_clone, manual_password: nil, skip_docs: false)
|
3
|
+
def self.clone(git_url, shallow_clone, manual_password: nil, skip_docs: false, branch: "master")
|
4
4
|
return @dir if @dir
|
5
5
|
|
6
6
|
@dir = Dir.mktmpdir
|
@@ -14,6 +14,8 @@ module Match
|
|
14
14
|
|
15
15
|
UI.user_error!("Error cloning repo, make sure you have access to it '#{git_url}'") unless File.directory?(@dir)
|
16
16
|
|
17
|
+
checkout_branch(branch) unless branch == "master"
|
18
|
+
|
17
19
|
if !Helper.test? and GitHelper.match_version(@dir).nil? and manual_password.nil? and File.exist?(File.join(@dir, "README.md"))
|
18
20
|
UI.important "Migrating to new match..."
|
19
21
|
ChangePassword.update(params: { git_url: git_url,
|
@@ -47,7 +49,7 @@ module Match
|
|
47
49
|
end
|
48
50
|
end
|
49
51
|
|
50
|
-
def self.commit_changes(path, message, git_url)
|
52
|
+
def self.commit_changes(path, message, git_url, branch = "master")
|
51
53
|
Dir.chdir(path) do
|
52
54
|
return if `git status`.include?("nothing to commit")
|
53
55
|
|
@@ -56,8 +58,8 @@ module Match
|
|
56
58
|
|
57
59
|
commands = []
|
58
60
|
commands << "git add -A"
|
59
|
-
commands << "git commit -m
|
60
|
-
commands << "git push origin
|
61
|
+
commands << "git commit -m #{message.shellescape}"
|
62
|
+
commands << "git push origin #{branch.shellescape}"
|
61
63
|
|
62
64
|
UI.message "Pushing changes to remote git repo..."
|
63
65
|
|
@@ -79,6 +81,44 @@ module Match
|
|
79
81
|
@dir = nil
|
80
82
|
end
|
81
83
|
|
84
|
+
# Create and checkout an specific branch in the git repo
|
85
|
+
def self.checkout_branch(branch)
|
86
|
+
return unless @dir
|
87
|
+
|
88
|
+
commands = []
|
89
|
+
if branch_exists?(branch)
|
90
|
+
# Checkout the branch if it already exists
|
91
|
+
commands << "git checkout #{branch.shellescape}"
|
92
|
+
else
|
93
|
+
# If a new branch is being created, we create it as an 'orphan' to not inherit changes from the master branch.
|
94
|
+
commands << "git checkout --orphan #{branch.shellescape}"
|
95
|
+
# We also need to reset the working directory to not transfer any uncommitted changes to the new branch.
|
96
|
+
commands << "git reset --hard"
|
97
|
+
end
|
98
|
+
|
99
|
+
UI.message "Checking out branch #{branch}..."
|
100
|
+
|
101
|
+
Dir.chdir(@dir) do
|
102
|
+
commands.each do |command|
|
103
|
+
FastlaneCore::CommandExecutor.execute(command: command,
|
104
|
+
print_all: $verbose,
|
105
|
+
print_command: $verbose)
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
# Checks if a specific branch exists in the git repo
|
111
|
+
def self.branch_exists?(branch)
|
112
|
+
return unless @dir
|
113
|
+
|
114
|
+
result = Dir.chdir(@dir) do
|
115
|
+
FastlaneCore::CommandExecutor.execute(command: "git branch --list origin/#{branch.shellescape} --no-color -r",
|
116
|
+
print_all: $verbose,
|
117
|
+
print_command: $verbose)
|
118
|
+
end
|
119
|
+
return !result.empty?
|
120
|
+
end
|
121
|
+
|
82
122
|
# Copies the README.md into the git repo
|
83
123
|
def self.copy_readme(directory)
|
84
124
|
template = File.read("#{Helper.gem_path('match')}/lib/assets/READMETemplate.md")
|
data/lib/match/nuke.rb
CHANGED
@@ -11,7 +11,7 @@ module Match
|
|
11
11
|
self.params = params
|
12
12
|
self.type = type
|
13
13
|
|
14
|
-
params[:workspace] = GitHelper.clone(params[:git_url], params[:shallow_clone], skip_docs: params[:skip_docs])
|
14
|
+
params[:workspace] = GitHelper.clone(params[:git_url], params[:shallow_clone], skip_docs: params[:skip_docs], branch: params[:git_branch])
|
15
15
|
|
16
16
|
had_app_identifier = self.params[:app_identifier]
|
17
17
|
self.params[:app_identifier] = '' # we don't really need a value here
|
@@ -142,7 +142,7 @@ module Match
|
|
142
142
|
|
143
143
|
# Now we need to commit and push all this too
|
144
144
|
message = ["[fastlane]", "Nuked", "files", "for", type.to_s].join(" ")
|
145
|
-
GitHelper.commit_changes(params[:workspace], message, self.params[:git_url])
|
145
|
+
GitHelper.commit_changes(params[:workspace], message, self.params[:git_url], params[:git_branch])
|
146
146
|
end
|
147
147
|
|
148
148
|
private
|
data/lib/match/options.rb
CHANGED
@@ -13,6 +13,10 @@ module Match
|
|
13
13
|
description: "URL to the git repo containing all the certificates",
|
14
14
|
optional: false,
|
15
15
|
short_option: "-r"),
|
16
|
+
FastlaneCore::ConfigItem.new(key: :git_branch,
|
17
|
+
env_name: "MATCH_GIT_BRANCH",
|
18
|
+
description: "Specific git branch to use",
|
19
|
+
default_value: 'master'),
|
16
20
|
FastlaneCore::ConfigItem.new(key: :type,
|
17
21
|
env_name: "MATCH_TYPE",
|
18
22
|
description: "Create a development certificate instead of a distribution one",
|
data/lib/match/runner.rb
CHANGED
@@ -7,7 +7,7 @@ module Match
|
|
7
7
|
hide_keys: [:workspace],
|
8
8
|
title: "Summary for match #{Match::VERSION}")
|
9
9
|
|
10
|
-
params[:workspace] = GitHelper.clone(params[:git_url], params[:shallow_clone], skip_docs: params[:skip_docs])
|
10
|
+
params[:workspace] = GitHelper.clone(params[:git_url], params[:shallow_clone], skip_docs: params[:skip_docs], branch: params[:git_branch])
|
11
11
|
spaceship = SpaceshipEnsure.new(params[:username]) unless params[:readonly]
|
12
12
|
|
13
13
|
# Verify the App ID (as we don't want 'match' to fail at a later point)
|
@@ -25,7 +25,7 @@ module Match
|
|
25
25
|
# Done
|
26
26
|
if self.changes_to_commit and !params[:readonly]
|
27
27
|
message = GitHelper.generate_commit_message(params)
|
28
|
-
GitHelper.commit_changes(params[:workspace], message, params[:git_url])
|
28
|
+
GitHelper.commit_changes(params[:workspace], message, params[:git_url], params[:git_branch])
|
29
29
|
end
|
30
30
|
|
31
31
|
TablePrinter.print_summary(params, uuid)
|
data/lib/match/version.rb
CHANGED
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.
|
4
|
+
version: 0.6.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-
|
11
|
+
date: 2016-05-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: security
|
@@ -279,6 +279,7 @@ files:
|
|
279
279
|
- lib/assets/READMETemplate.md
|
280
280
|
- lib/match.rb
|
281
281
|
- lib/match/change_password.rb
|
282
|
+
- lib/match/commands_generator.rb
|
282
283
|
- lib/match/encrypt.rb
|
283
284
|
- lib/match/generator.rb
|
284
285
|
- lib/match/git_helper.rb
|
@@ -310,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
310
311
|
version: '0'
|
311
312
|
requirements: []
|
312
313
|
rubyforge_project:
|
313
|
-
rubygems_version: 2.4.
|
314
|
+
rubygems_version: 2.4.0
|
314
315
|
signing_key:
|
315
316
|
specification_version: 4
|
316
317
|
summary: Easily sync your certificates and profiles across your team using git
|