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