kintsugi 0.4.3 → 0.5.3
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 +4 -4
- data/.github/workflows/release.yml +33 -0
- data/.github/workflows/{ci.yml → tests.yml} +2 -1
- data/.rubocop.yml +3 -0
- data/bin/kintsugi +3 -29
- data/kintsugi.gemspec +1 -0
- data/lib/kintsugi/apply_change_to_project.rb +264 -132
- data/lib/kintsugi/cli.rb +2 -1
- data/lib/kintsugi/merge.rb +146 -0
- data/lib/kintsugi/version.rb +1 -1
- data/lib/kintsugi/xcodeproj_extensions.rb +122 -0
- data/lib/kintsugi.rb +29 -148
- data/spec/kintsugi_apply_change_to_project_spec.rb +549 -52
- data/spec/kintsugi_integration_spec.rb +148 -0
- data/spec/spec_helper.rb +3 -0
- metadata +22 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02b50bf2480ea4dd03996c8fe12c02f2eeae95f6e69fa782176c695637d28f9b
|
4
|
+
data.tar.gz: 5b8f806cd4a168c245f1d9e7e764d4dfe509ccd61d0ad653596ef929b98e5ac9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 011b04ec2f4f6f32892436c21f0b0d17c8ea9ee7ab043324febbf1f56df32e65ff8176d4b205dc9541ccb1f7953d70be3085bca8ff79e56d3d06fecdcf8ece34
|
7
|
+
data.tar.gz: 6f923e940ad52cc62b25898f387cc7dd97fd47d93c152363c86c7e5edeedcbf02a15a405d1b5caf1e4234ed54086d0c8bf890e646ef940a1205579782b94e95a
|
@@ -0,0 +1,33 @@
|
|
1
|
+
name: Release
|
2
|
+
|
3
|
+
on: workflow_dispatch
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
main-job:
|
7
|
+
name: Release
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
env:
|
10
|
+
GEM_HOST_API_KEY: ${{ secrets.GEM_HOST_API_KEY }}
|
11
|
+
|
12
|
+
steps:
|
13
|
+
- name: Checkout repo
|
14
|
+
uses: actions/checkout@v2
|
15
|
+
|
16
|
+
- name: Set up Ruby
|
17
|
+
uses: ruby/setup-ruby@v1
|
18
|
+
with:
|
19
|
+
ruby-version: 2.5.8
|
20
|
+
rubygems: latest
|
21
|
+
|
22
|
+
- name: Draft a new release
|
23
|
+
run: |
|
24
|
+
echo ${{ secrets.GITHUB_TOKEN }} | gh auth login --with-token
|
25
|
+
version="v$(grep STRING lib/kintsugi/version.rb | cut -d \" -f 2)"
|
26
|
+
git tag $version
|
27
|
+
git push --tag
|
28
|
+
gh release create $version --generate-notes
|
29
|
+
|
30
|
+
- name: Publish to rubygems.org
|
31
|
+
run: |
|
32
|
+
gem build *.gemspec
|
33
|
+
gem push *.gem
|
data/.rubocop.yml
CHANGED
data/bin/kintsugi
CHANGED
@@ -5,35 +5,9 @@
|
|
5
5
|
# Created by Ben Yohay.
|
6
6
|
|
7
7
|
require "kintsugi"
|
8
|
-
require_relative "../lib/kintsugi/cli"
|
9
|
-
require_relative "../lib/kintsugi/error"
|
10
|
-
|
11
|
-
def parse_options!(command, argv)
|
12
|
-
options = {}
|
13
|
-
command.option_parser.parse!(argv, into: options)
|
14
|
-
options
|
15
|
-
end
|
16
|
-
|
17
|
-
def name_of_subcommand?(subcommands, argument)
|
18
|
-
subcommands.include?(argument)
|
19
|
-
end
|
20
|
-
|
21
|
-
first_argument = ARGV[0]
|
22
|
-
cli = Kintsugi::CLI.new
|
23
|
-
command =
|
24
|
-
if name_of_subcommand?(cli.subcommands, first_argument)
|
25
|
-
ARGV.shift
|
26
|
-
cli.subcommands[first_argument]
|
27
|
-
else
|
28
|
-
cli.root_command
|
29
|
-
end
|
30
|
-
|
31
|
-
options = parse_options!(command, ARGV)
|
32
8
|
|
33
9
|
begin
|
34
|
-
|
35
|
-
rescue ArgumentError
|
36
|
-
|
37
|
-
rescue Kintsugi::MergeError => e
|
38
|
-
puts e
|
10
|
+
Kintsugi.run(ARGV)
|
11
|
+
rescue ArgumentError, Kintsugi::MergeError
|
12
|
+
exit(1)
|
39
13
|
end
|
data/kintsugi.gemspec
CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
|
|
24
24
|
|
25
25
|
spec.add_dependency "xcodeproj", ">= 1.19.0", "<= 1.21.0"
|
26
26
|
|
27
|
+
spec.add_development_dependency "git", "~> 1.11"
|
27
28
|
spec.add_development_dependency "rake", "~> 13.0"
|
28
29
|
spec.add_development_dependency "rspec", "~> 3.9"
|
29
30
|
spec.add_development_dependency "rubocop", "1.12.0"
|