pod-synchronize 0.4.0 → 0.5.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: d6288b55116cdfdb8a04f3b06eabe2320bfc392d
4
- data.tar.gz: 9c249fc28882c1483e12b16f74cd6a17a313f000
3
+ metadata.gz: b16be6a9a8e7d320e48e029f941e6d7d5941467d
4
+ data.tar.gz: d9dae73dbfa6cfeb9daaec790d7dbeccc295c71d
5
5
  SHA512:
6
- metadata.gz: dec682b97a93a85d19150619d773a9586bc6a523cc203104fedc2129870e029f8ec65d1cc4b9bdbf28760070643f9b0ce2238ffafd501bd5763d3f4b33e7b164
7
- data.tar.gz: 99239344243132f015e9bdfa994aa77a0eb0fb88db1f4341f5d8a05ecbfdbe844afa10489f63d7c8b6560154f477854cebfccd94d9aa2d41bee122299014efde
6
+ metadata.gz: f0e675a437ef7d068e9f451b912dcee3bf1907f3dd6c56c351398ff576540e2addba6546a16db2fb1a33b06735e2069ea8246751efb4fa659e1033d36c9634b4
7
+ data.tar.gz: 48d606004c288529d3b4b404a242abffea79c946eec764cbe46b5d6b7eac0c565f1eae0d7850d43d3ba9b02171eba3bef48b777bebfbcf4d73c2fc0a6f13d724
@@ -1,3 +1,3 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.2
3
+ - 2.0
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pod-synchronize (0.4.0)
4
+ pod-synchronize (0.5.0)
5
5
  claide (~> 0.8.1)
6
6
  colored (~> 1.2)
7
7
 
@@ -67,4 +67,4 @@ DEPENDENCIES
67
67
  rspec
68
68
 
69
69
  BUNDLED WITH
70
- 1.12.5
70
+ 1.15.1
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![Build Status](https://travis-ci.org/xing/XNGPodsSynchronizer.svg?branch=master)](https://travis-ci.org/xing/XNGPodSynchronizer)
4
4
  [![Coverage Status](https://coveralls.io/repos/xing/XNGPodsSynchronizer/badge.svg?branch=master)](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)
@@ -5,7 +5,7 @@ class Configuration
5
5
  Mirror = Struct.new(:specs_push_url, :source_push_url, :source_clone_url, :github)
6
6
  Github = Struct.new(:access_token, :organisation, :endpoint)
7
7
 
8
- def initialize(path:)
8
+ def initialize(path)
9
9
  @yaml = YAML.load_file(path)
10
10
  end
11
11
 
@@ -1,28 +1,28 @@
1
1
  class Git
2
2
  attr_accessor :path
3
3
 
4
- def initialize(path: Dir.pwd)
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: 'origin master', options: nil)
13
+ def push(remote = 'origin master', options = nil)
14
14
  execute('git push', remote, options)
15
15
  end
16
16
 
17
- def clone(url:, options: '.')
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:, org:, name:, endpoint:)
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
@@ -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(path: version_path)
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(path: @path)
34
+ @git ||= Git.new(@path)
25
35
  end
26
36
 
27
- end
37
+ end
@@ -3,7 +3,7 @@ require 'fileutils'
3
3
  class Specs
4
4
  attr_reader :path, :whitelist, :specs_root
5
5
 
6
- def initialize(path:, whitelist: [], specs_root: '')
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(path: pod_path)
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(path: @path)
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
@@ -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(path: @yml_path)
23
- @master_specs = Specs.new(path: File.join(temp_path, 'master'), whitelist: dependencies, specs_root: 'Specs')
24
- @internal_specs = Specs.new(path: File.join(temp_path, 'local'), specs_root: '.')
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(url: @config.mirror.specs_push_url)
29
- @master_specs.git.clone(url: @config.master_repo, options: '. --depth 1')
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(message: commit_message)
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(url: pod.git_source, options: ". --bare")
56
+ pod.git.clone(pod.git_source, ". --bare")
56
57
  pod.git.create_github_repo(
57
- access_token: @config.mirror.github.access_token,
58
- org: @config.mirror.github.organisation,
59
- name: pod.name,
60
- endpoint: @config.mirror.github.endpoint
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(url: "#{@config.mirror.source_push_url}/#{pod.name}.git")
63
- pod.git.push(remote: nil, options: '--mirror')
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(temp_path: dir)
86
+ self.setup(dir)
84
87
  self.bootstrap
85
88
  self.update_specs
86
- self.update_sources(temp_path: dir)
89
+ self.update_sources(dir)
87
90
  end
88
91
  end
89
92
  end
@@ -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
@@ -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.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
@@ -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(path: File.join('spec', 'fixtures', 'config.yml'))
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(path: 'invalid/path') }.to raise_exception
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(path: 'spec/fixtures/config.yml')
15
+ @config = Configuration.new('spec/fixtures/config.yml')
16
16
  end
17
17
 
18
18
  it '#master_repo should exist' do
@@ -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(path: @specs_path)
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: 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
- access_token: '123',
26
- org: 'ios-pods-external',
27
- name: 'mega-pod',
28
- endpoint: 'https://github.com/api/v3'
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(remote: 'production')
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(remote: 'develop', options: '--force')
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(options: '--force')
55
+ class_under_test.push('origin master', '--force')
56
56
  end
57
57
  end
58
58
  end
59
59
 
60
- end
60
+ end
@@ -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(path: @path_to_podspecs_dir)
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(path: @path_to_podspecs_dir)
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(path: @path_to_podspecs_dir)
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(path: @path_to_podspecs_dir)
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(path: @path_to_podspecs_dir)
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(path: @path_to_podspecs_dir)
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
@@ -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(path: @specs_path)
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(path: @specs_path)
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(path: @specs_path, whitelist: ['XNGAPIClient'])
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(path: @specs_path, whitelist: ['XNGAPIClient', 'XNGOAuth1Client'])
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(path: @specs_path, whitelist: ['PodThatDoesntExist'])
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(path: @specs_path)
43
- other_specs = Specs.new(path: @other_specs_path, whitelist: ['NBNPhotoChooser'])
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
@@ -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(temp_path: dir) }
5
+ Dir.mktmpdir { |dir| @sync.setup(dir) }
6
6
  end
7
7
 
8
8
  describe "#dependencies" do
@@ -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(path: @path_to_version_dir)
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(path: @path_to_version_dir)
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(path: @path_to_version_dir)
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.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: 2016-12-05 00:00:00.000000000 Z
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
- - ".gitignore"
82
- - ".rspec"
83
- - ".simplecov"
84
- - ".travis.yml"
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: '0'
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.4
154
+ rubygems_version: 2.6.12
155
155
  signing_key:
156
156
  specification_version: 4
157
157
  summary: Mirrors CocoaPods specs