pod-synchronize 0.4.0 → 0.5.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 +4 -4
- data/.travis.yml +1 -1
- data/Gemfile.lock +2 -2
- data/README.md +5 -1
- data/lib/updater/configuration.rb +1 -1
- data/lib/updater/git.rb +7 -7
- data/lib/updater/pod.rb +15 -5
- data/lib/updater/specs.rb +4 -4
- data/lib/updater/synchronize.rb +21 -18
- data/lib/updater/version.rb +2 -2
- data/pod-synchronize.gemspec +3 -1
- data/spec/configuration_spec.rb +3 -3
- data/spec/git_spec.rb +10 -10
- data/spec/pod_spec.rb +7 -7
- data/spec/specs_spec.rb +8 -8
- data/spec/synchronize_spec.rb +1 -1
- data/spec/version_spec.rb +4 -4
- metadata +18 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b16be6a9a8e7d320e48e029f941e6d7d5941467d
|
4
|
+
data.tar.gz: d9dae73dbfa6cfeb9daaec790d7dbeccc295c71d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0e675a437ef7d068e9f451b912dcee3bf1907f3dd6c56c351398ff576540e2addba6546a16db2fb1a33b06735e2069ea8246751efb4fa659e1033d36c9634b4
|
7
|
+
data.tar.gz: 48d606004c288529d3b4b404a242abffea79c946eec764cbe46b5d6b7eac0c565f1eae0d7850d43d3ba9b02171eba3bef48b777bebfbcf4d73c2fc0a6f13d724
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
[](https://travis-ci.org/xing/XNGPodSynchronizer)
|
4
4
|
[](https://coveralls.io/r/xing/XNGPodSynchronizer?branch=master)
|
5
5
|
|
6
|
-
XNGPodSynchronizer reads `Podfile.locks` of your projects, copies the `.podspec`s from the CocoaPods master repository and mirrors it to your own `git` repository (e.g. GitHub Enterprise). This helps you get independent from `github.com
|
6
|
+
XNGPodSynchronizer reads `Podfile.locks` of your projects, copies the `.podspec`s from the CocoaPods master repository and mirrors it to your own `git` repository (e.g. GitHub Enterprise). This helps you get independent from `github.com` and avoids the need of cloning the full CocoaPods master repository, which might speed up your builds on CI.
|
7
7
|
|
8
8
|
## Installation
|
9
9
|
|
@@ -58,6 +58,10 @@ We use Jenkins to run the synchronize process twice daily. To do that use the fo
|
|
58
58
|
$ pod-synchronize synchronize config.yml
|
59
59
|
```
|
60
60
|
|
61
|
+
## Known issues
|
62
|
+
|
63
|
+
At the moment this gem only handles `git` [sources](https://guides.cocoapods.org/syntax/podspec.html#source) correctly. `HTTP` sources are partly supported (see [#12](https://github.com/xing/XNGPodsSynchronizer/pull/12)) and `svn`, `hg` support is missing.
|
64
|
+
|
61
65
|
## TODO
|
62
66
|
|
63
67
|
* Support Gitlab [#1](https://github.com/xing/XNGPodSynchronizer/issue/1)
|
data/lib/updater/git.rb
CHANGED
@@ -1,28 +1,28 @@
|
|
1
1
|
class Git
|
2
2
|
attr_accessor :path
|
3
3
|
|
4
|
-
def initialize(path
|
4
|
+
def initialize(path = Dir.pwd)
|
5
5
|
@path = path
|
6
6
|
end
|
7
7
|
|
8
|
-
def commit(message
|
8
|
+
def commit(message)
|
9
9
|
execute('git add', '--all')
|
10
10
|
execute('git commit', '-m', "'#{message}'")
|
11
11
|
end
|
12
12
|
|
13
|
-
def push(remote
|
13
|
+
def push(remote = 'origin master', options = nil)
|
14
14
|
execute('git push', remote, options)
|
15
15
|
end
|
16
16
|
|
17
|
-
def clone(url
|
17
|
+
def clone(url, options = '.')
|
18
18
|
execute('git clone', url, options)
|
19
19
|
end
|
20
20
|
|
21
|
-
def set_origin(url
|
21
|
+
def set_origin(url)
|
22
22
|
execute('git remote', 'set-url origin', url)
|
23
23
|
end
|
24
24
|
|
25
|
-
def create_github_repo(access_token
|
25
|
+
def create_github_repo(access_token, org, name, endpoint)
|
26
26
|
execute('curl',
|
27
27
|
"#{endpoint}/orgs/#{org}/repos?access_token=#{access_token}",
|
28
28
|
'-d', "'{\"name\":\"#{name}\"}'")
|
@@ -37,4 +37,4 @@ class Git
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
end
|
40
|
+
end
|
data/lib/updater/pod.rb
CHANGED
@@ -1,19 +1,29 @@
|
|
1
|
+
require 'uri'
|
2
|
+
|
1
3
|
class Pod
|
2
4
|
attr_reader :path, :name
|
3
5
|
|
4
|
-
def initialize(path
|
6
|
+
def initialize(path)
|
5
7
|
@path = path
|
6
8
|
@name = @path.split(File::SEPARATOR).last
|
7
9
|
end
|
8
10
|
|
9
11
|
def versions
|
10
12
|
@versions ||= Dir.glob(File.join(@path, '*')).map do |version_path|
|
11
|
-
Version.new(
|
13
|
+
Version.new(version_path)
|
12
14
|
end
|
13
15
|
end
|
14
16
|
|
15
17
|
def git_source
|
16
|
-
versions.sort.last.contents["source"]["git"]
|
18
|
+
source = versions.sort.last.contents["source"]["git"]
|
19
|
+
source ||= begin
|
20
|
+
http_source = versions.sort.last.contents["source"]["http"]
|
21
|
+
uri = URI.parse(http_source)
|
22
|
+
host = uri.host.match(/www.(.*)/).captures.first
|
23
|
+
scheme = "git"
|
24
|
+
path = uri.path.split("/").take(3).join("/").concat(".git")
|
25
|
+
URI::Generic.build({scheme: scheme, host: host, path: path}).to_s
|
26
|
+
end
|
17
27
|
end
|
18
28
|
|
19
29
|
def save
|
@@ -21,7 +31,7 @@ class Pod
|
|
21
31
|
end
|
22
32
|
|
23
33
|
def git
|
24
|
-
@git ||= Git.new(
|
34
|
+
@git ||= Git.new(@path)
|
25
35
|
end
|
26
36
|
|
27
|
-
end
|
37
|
+
end
|
data/lib/updater/specs.rb
CHANGED
@@ -3,7 +3,7 @@ require 'fileutils'
|
|
3
3
|
class Specs
|
4
4
|
attr_reader :path, :whitelist, :specs_root
|
5
5
|
|
6
|
-
def initialize(path
|
6
|
+
def initialize(path, whitelist = [], specs_root = '')
|
7
7
|
@path = path
|
8
8
|
@whitelist = whitelist
|
9
9
|
@specs_root = File.join(@path, specs_root)
|
@@ -11,7 +11,7 @@ class Specs
|
|
11
11
|
|
12
12
|
def pods
|
13
13
|
@pods ||= traverse(@specs_root).flatten.map do |pod_path|
|
14
|
-
pod = Pod.new(
|
14
|
+
pod = Pod.new(pod_path)
|
15
15
|
@whitelist.any? && !@whitelist.include?(pod.name) ? nil : pod
|
16
16
|
end.compact
|
17
17
|
end
|
@@ -24,7 +24,7 @@ class Specs
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def git
|
27
|
-
@git ||= Git.new(
|
27
|
+
@git ||= Git.new(@path)
|
28
28
|
end
|
29
29
|
|
30
30
|
private
|
@@ -43,4 +43,4 @@ class Specs
|
|
43
43
|
pods
|
44
44
|
end
|
45
45
|
|
46
|
-
end
|
46
|
+
end
|
data/lib/updater/synchronize.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'open-uri'
|
2
|
+
require 'openssl'
|
2
3
|
|
3
4
|
module PodSynchronize
|
4
5
|
class Command
|
@@ -18,15 +19,15 @@ module PodSynchronize
|
|
18
19
|
raise Informative, "Please specify a valid CONFIG path" unless @yml_path
|
19
20
|
end
|
20
21
|
|
21
|
-
def setup(temp_path
|
22
|
-
@config = Configuration.new(
|
23
|
-
@master_specs = Specs.new(
|
24
|
-
@internal_specs = Specs.new(
|
22
|
+
def setup(temp_path)
|
23
|
+
@config = Configuration.new(@yml_path)
|
24
|
+
@master_specs = Specs.new(File.join(temp_path, 'master'), dependencies, 'Specs')
|
25
|
+
@internal_specs = Specs.new(File.join(temp_path, 'local'), [], '.')
|
25
26
|
end
|
26
27
|
|
27
28
|
def bootstrap
|
28
|
-
@internal_specs.git.clone(
|
29
|
-
@master_specs.git.clone(
|
29
|
+
@internal_specs.git.clone(@config.mirror.specs_push_url)
|
30
|
+
@master_specs.git.clone(@config.master_repo, '. --depth 1')
|
30
31
|
end
|
31
32
|
|
32
33
|
def update_specs
|
@@ -40,7 +41,7 @@ module PodSynchronize
|
|
40
41
|
end
|
41
42
|
pod.save
|
42
43
|
end
|
43
|
-
@internal_specs.git.commit(
|
44
|
+
@internal_specs.git.commit(commit_message)
|
44
45
|
@internal_specs.git.push
|
45
46
|
end
|
46
47
|
|
@@ -49,18 +50,18 @@ module PodSynchronize
|
|
49
50
|
"Update #{time_str}"
|
50
51
|
end
|
51
52
|
|
52
|
-
def update_sources(temp_path
|
53
|
+
def update_sources(temp_path)
|
53
54
|
@master_specs.pods.each do |pod|
|
54
55
|
pod.git.path = File.join(temp_path, 'source_cache', pod.name)
|
55
|
-
pod.git.clone(
|
56
|
+
pod.git.clone(pod.git_source, ". --bare")
|
56
57
|
pod.git.create_github_repo(
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
58
|
+
@config.mirror.github.access_token,
|
59
|
+
@config.mirror.github.organisation,
|
60
|
+
pod.name,
|
61
|
+
@config.mirror.github.endpoint
|
61
62
|
)
|
62
|
-
pod.git.set_origin(
|
63
|
-
pod.git.push(
|
63
|
+
pod.git.set_origin("#{@config.mirror.source_push_url}/#{pod.name}.git")
|
64
|
+
pod.git.push(nil, '--mirror')
|
64
65
|
end
|
65
66
|
end
|
66
67
|
|
@@ -75,15 +76,17 @@ module PodSynchronize
|
|
75
76
|
|
76
77
|
pods_dependencies.flatten!.uniq!
|
77
78
|
|
78
|
-
pods_dependencies.reject! { |dependency| @config.excluded_pods.include? dependency }
|
79
|
+
pods_dependencies.reject! { |dependency| @config.excluded_pods.include? dependency } unless @config.excluded_pods.nil?
|
80
|
+
|
81
|
+
pods_dependencies
|
79
82
|
end
|
80
83
|
|
81
84
|
def run
|
82
85
|
Dir.mktmpdir do |dir|
|
83
|
-
self.setup(
|
86
|
+
self.setup(dir)
|
84
87
|
self.bootstrap
|
85
88
|
self.update_specs
|
86
|
-
self.update_sources(
|
89
|
+
self.update_sources(dir)
|
87
90
|
end
|
88
91
|
end
|
89
92
|
end
|
data/lib/updater/version.rb
CHANGED
@@ -4,7 +4,7 @@ class Version
|
|
4
4
|
attr_reader :path, :version
|
5
5
|
attr_accessor :contents
|
6
6
|
|
7
|
-
def initialize(path
|
7
|
+
def initialize(path)
|
8
8
|
@path = path
|
9
9
|
@version = @path.split(File::SEPARATOR).last
|
10
10
|
@contents = fetch_podspec
|
@@ -35,4 +35,4 @@ class Version
|
|
35
35
|
JSON.parse(file)
|
36
36
|
end
|
37
37
|
|
38
|
-
end
|
38
|
+
end
|
data/pod-synchronize.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
Gem::Specification.new do |spec|
|
3
3
|
spec.name = "pod-synchronize"
|
4
|
-
spec.version = "0.
|
4
|
+
spec.version = "0.5.0"
|
5
5
|
spec.authors = ["Matthias Männich", "Piet Brauer", "Renzo Crisostomo"]
|
6
6
|
spec.email = ["matthias.maennich@xing.com", "piet.brauer@xing.com", "renzo.crisostomo@xing.com"]
|
7
7
|
spec.summary = %q{Mirrors CocoaPods specs}
|
@@ -19,4 +19,6 @@ Gem::Specification.new do |spec|
|
|
19
19
|
|
20
20
|
spec.add_development_dependency "bundler", "~> 1.7"
|
21
21
|
spec.add_development_dependency "rake", "~> 10.0"
|
22
|
+
|
23
|
+
spec.required_ruby_version = '>= 2.0.0'
|
22
24
|
end
|
data/spec/configuration_spec.rb
CHANGED
@@ -2,17 +2,17 @@ describe Configuration do
|
|
2
2
|
|
3
3
|
describe "#initialize" do
|
4
4
|
it "loads the yaml config at the specified path" do
|
5
|
-
config = Configuration.new(
|
5
|
+
config = Configuration.new(File.join('spec', 'fixtures', 'config.yml'))
|
6
6
|
expect(config.yaml).to_not be_empty
|
7
7
|
end
|
8
8
|
|
9
9
|
it "throws an exception if the file at the path does not exist" do
|
10
|
-
expect { Configuration.new(
|
10
|
+
expect { Configuration.new('invalid/path') }.to raise_exception
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
14
|
before :all do
|
15
|
-
@config = Configuration.new(
|
15
|
+
@config = Configuration.new('spec/fixtures/config.yml')
|
16
16
|
end
|
17
17
|
|
18
18
|
it '#master_repo should exist' do
|
data/spec/git_spec.rb
CHANGED
@@ -3,7 +3,7 @@ describe Git do
|
|
3
3
|
|
4
4
|
before :all do
|
5
5
|
@specs_path = File.join('spec', 'fixtures', 'specs')
|
6
|
-
@specs = Specs.new(
|
6
|
+
@specs = Specs.new(@specs_path)
|
7
7
|
end
|
8
8
|
|
9
9
|
describe "::commit" do
|
@@ -13,7 +13,7 @@ describe Git do
|
|
13
13
|
message = "Become a programmer, they said. It'll be fun, they said."
|
14
14
|
expect(class_under_test).to receive(:system).with("git add --all")
|
15
15
|
expect(class_under_test).to receive(:system).with("git commit -m '#{message}'")
|
16
|
-
class_under_test.commit(message
|
16
|
+
class_under_test.commit(message)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -22,10 +22,10 @@ describe Git do
|
|
22
22
|
class_under_test = @specs.git
|
23
23
|
expect(class_under_test).to receive(:system).with("curl https://github.com/api/v3/orgs/ios-pods-external/repos?access_token=123 -d '{\"name\":\"mega-pod\"}'")
|
24
24
|
class_under_test.create_github_repo(
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
'123',
|
26
|
+
'ios-pods-external',
|
27
|
+
'mega-pod',
|
28
|
+
'https://github.com/api/v3'
|
29
29
|
)
|
30
30
|
end
|
31
31
|
end
|
@@ -40,21 +40,21 @@ describe Git do
|
|
40
40
|
it 'push on custom remote "production"' do
|
41
41
|
class_under_test = @specs.git
|
42
42
|
expect(class_under_test).to receive(:system).with("git push production")
|
43
|
-
class_under_test.push(
|
43
|
+
class_under_test.push('production')
|
44
44
|
end
|
45
45
|
|
46
46
|
it 'push on custom remote with options' do
|
47
47
|
class_under_test = @specs.git
|
48
48
|
expect(class_under_test).to receive(:system).with("git push develop --force")
|
49
|
-
class_under_test.push(
|
49
|
+
class_under_test.push('develop', '--force')
|
50
50
|
end
|
51
51
|
|
52
52
|
it 'push on default remote with options' do
|
53
53
|
class_under_test = @specs.git
|
54
54
|
expect(class_under_test).to receive(:system).with("git push origin master --force")
|
55
|
-
class_under_test.push(
|
55
|
+
class_under_test.push('origin master', '--force')
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
end
|
60
|
+
end
|
data/spec/pod_spec.rb
CHANGED
@@ -5,28 +5,28 @@ describe Pod do
|
|
5
5
|
|
6
6
|
describe '::new' do
|
7
7
|
it 'init with podspec dir' do
|
8
|
-
class_under_test = Pod.new(
|
8
|
+
class_under_test = Pod.new(@path_to_podspecs_dir)
|
9
9
|
expect(class_under_test.path).to eql(@path_to_podspecs_dir)
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
13
|
describe '#name' do
|
14
14
|
it 'gets the correct pod name' do
|
15
|
-
class_under_test = Pod.new(
|
15
|
+
class_under_test = Pod.new(@path_to_podspecs_dir)
|
16
16
|
expect(class_under_test.name).to eql("XNGAPIClient")
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
20
|
describe '#source' do
|
21
21
|
it 'gets the correct source url' do
|
22
|
-
class_under_test = Pod.new(
|
22
|
+
class_under_test = Pod.new(@path_to_podspecs_dir)
|
23
23
|
expect(class_under_test.git_source).to eql("https://github.com/xing/XNGAPIClient.git")
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
27
|
describe '#versions' do
|
28
28
|
it 'should return all versions for that pod' do
|
29
|
-
class_under_test = Pod.new(
|
29
|
+
class_under_test = Pod.new(@path_to_podspecs_dir)
|
30
30
|
versions = class_under_test.versions
|
31
31
|
expected_versions = [
|
32
32
|
'0.1.0', '0.2.0', '0.2.1', '0.2.2', '0.3.0', '0.3.1',
|
@@ -40,15 +40,15 @@ describe Pod do
|
|
40
40
|
|
41
41
|
describe '#git' do
|
42
42
|
it 'should add the pod path as the default git path' do
|
43
|
-
class_under_test = Pod.new(
|
43
|
+
class_under_test = Pod.new(@path_to_podspecs_dir)
|
44
44
|
expect(class_under_test.git.path).to eql(@path_to_podspecs_dir)
|
45
45
|
end
|
46
46
|
|
47
47
|
it 'should be able to set a custom path' do
|
48
|
-
class_under_test = Pod.new(
|
48
|
+
class_under_test = Pod.new(@path_to_podspecs_dir)
|
49
49
|
expected_path = "./some/other/path"
|
50
50
|
class_under_test.git.path = expected_path
|
51
51
|
expect(class_under_test.git.path).to eql(expected_path)
|
52
52
|
end
|
53
53
|
end
|
54
|
-
end
|
54
|
+
end
|
data/spec/specs_spec.rb
CHANGED
@@ -7,40 +7,40 @@ describe Specs do
|
|
7
7
|
|
8
8
|
describe '::new' do
|
9
9
|
it 'should init with a path' do
|
10
|
-
class_under_test = Specs.new(
|
10
|
+
class_under_test = Specs.new(@specs_path)
|
11
11
|
expect(class_under_test.path).to eql(@specs_path)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
describe '#pods' do
|
16
16
|
it 'should fetch all pods' do
|
17
|
-
class_under_test = Specs.new(
|
17
|
+
class_under_test = Specs.new(@specs_path)
|
18
18
|
expect(class_under_test.pods.count).to eql(3)
|
19
19
|
expect(class_under_test.pods.map(&:name)).to eql(['NBNRealmBrowser', 'XNGAPIClient', 'XNGOAuth1Client'])
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'should fetch 1 pod from whitelist' do
|
23
|
-
class_under_test = Specs.new(
|
23
|
+
class_under_test = Specs.new(@specs_path, ['XNGAPIClient'])
|
24
24
|
expect(class_under_test.pods.count).to eql(1)
|
25
25
|
expect(class_under_test.pods.map(&:name)).to eql(['XNGAPIClient'])
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'should fetch 2 pods from whitelist' do
|
29
|
-
class_under_test = Specs.new(
|
29
|
+
class_under_test = Specs.new(@specs_path, ['XNGAPIClient', 'XNGOAuth1Client'])
|
30
30
|
expect(class_under_test.pods.count).to eql(2)
|
31
31
|
expect(class_under_test.pods.map(&:name)).to eql(['XNGAPIClient', 'XNGOAuth1Client'])
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'should fetch no pods that are not on the whitelist' do
|
35
|
-
class_under_test = Specs.new(
|
35
|
+
class_under_test = Specs.new(@specs_path, ['PodThatDoesntExist'])
|
36
36
|
expect(class_under_test.pods.count).to eql(0)
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
40
|
describe '#merge_pods' do
|
41
41
|
it 'should add all pods from one spec to another' do
|
42
|
-
specs = Specs.new(
|
43
|
-
other_specs = Specs.new(
|
42
|
+
specs = Specs.new(@specs_path)
|
43
|
+
other_specs = Specs.new(@other_specs_path, ['NBNPhotoChooser'])
|
44
44
|
expected_path = File.join(@other_specs_path, 'NBNPhotoChooser')
|
45
45
|
|
46
46
|
expect(FileUtils).to receive(:cp_r).with(expected_path, specs.path)
|
@@ -48,4 +48,4 @@ describe Specs do
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
end
|
51
|
+
end
|
data/spec/synchronize_spec.rb
CHANGED
@@ -2,7 +2,7 @@ describe PodSynchronize::Command::Synchronize do
|
|
2
2
|
|
3
3
|
before :all do
|
4
4
|
@sync = PodSynchronize::Command::Synchronize.new(CLAide::ARGV.new(['./spec/fixtures/api_client_config.yml']))
|
5
|
-
Dir.mktmpdir { |dir| @sync.setup(
|
5
|
+
Dir.mktmpdir { |dir| @sync.setup(dir) }
|
6
6
|
end
|
7
7
|
|
8
8
|
describe "#dependencies" do
|
data/spec/version_spec.rb
CHANGED
@@ -5,7 +5,7 @@ describe Version do
|
|
5
5
|
|
6
6
|
describe '::new' do
|
7
7
|
it 'initializes with a versions dir' do
|
8
|
-
version = Version.new(
|
8
|
+
version = Version.new(@path_to_version_dir)
|
9
9
|
|
10
10
|
expect(version.path).to eql(@path_to_version_dir)
|
11
11
|
end
|
@@ -13,7 +13,7 @@ describe Version do
|
|
13
13
|
|
14
14
|
describe '#podspec_path' do
|
15
15
|
it 'gets the corred podspec filepath' do
|
16
|
-
version = Version.new(
|
16
|
+
version = Version.new(@path_to_version_dir)
|
17
17
|
expected_path = File.join(@path_to_version_dir, 'XNGAPIClient.podspec.json')
|
18
18
|
actual_path = version.send(:podspec_path)
|
19
19
|
expect(actual_path).to eql(expected_path)
|
@@ -22,7 +22,7 @@ describe Version do
|
|
22
22
|
|
23
23
|
describe '#contents' do
|
24
24
|
it 'gets the fetches the podspec correctly' do
|
25
|
-
version = Version.new(
|
25
|
+
version = Version.new(@path_to_version_dir)
|
26
26
|
expected_contents = {
|
27
27
|
"name"=>"XNGAPIClient",
|
28
28
|
"version"=>"1.2.0",
|
@@ -42,4 +42,4 @@ describe Version do
|
|
42
42
|
expect(version.contents).to eql(expected_contents)
|
43
43
|
end
|
44
44
|
end
|
45
|
-
end
|
45
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pod-synchronize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthias Männich
|
@@ -10,62 +10,62 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2017-06-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: claide
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 0.8.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- -
|
26
|
+
- - ~>
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: 0.8.1
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: colored
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- -
|
33
|
+
- - ~>
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: '1.2'
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - ~>
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '1.2'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: bundler
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - ~>
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '1.7'
|
50
50
|
type: :development
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- -
|
54
|
+
- - ~>
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '1.7'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: rake
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- -
|
61
|
+
- - ~>
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '10.0'
|
64
64
|
type: :development
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- -
|
68
|
+
- - ~>
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '10.0'
|
71
71
|
description: Synchronizes the public CocoaPods Specs repo with your internal mirror.
|
@@ -78,10 +78,10 @@ executables:
|
|
78
78
|
extensions: []
|
79
79
|
extra_rdoc_files: []
|
80
80
|
files:
|
81
|
-
-
|
82
|
-
-
|
83
|
-
-
|
84
|
-
-
|
81
|
+
- .gitignore
|
82
|
+
- .rspec
|
83
|
+
- .simplecov
|
84
|
+
- .travis.yml
|
85
85
|
- Gemfile
|
86
86
|
- Gemfile.lock
|
87
87
|
- LICENSE
|
@@ -141,17 +141,17 @@ require_paths:
|
|
141
141
|
- lib
|
142
142
|
required_ruby_version: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
|
-
- -
|
144
|
+
- - '>='
|
145
145
|
- !ruby/object:Gem::Version
|
146
|
-
version:
|
146
|
+
version: 2.0.0
|
147
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
|
-
- -
|
149
|
+
- - '>='
|
150
150
|
- !ruby/object:Gem::Version
|
151
151
|
version: '0'
|
152
152
|
requirements: []
|
153
153
|
rubyforge_project:
|
154
|
-
rubygems_version: 2.6.
|
154
|
+
rubygems_version: 2.6.12
|
155
155
|
signing_key:
|
156
156
|
specification_version: 4
|
157
157
|
summary: Mirrors CocoaPods specs
|