cocoapods-store 0.0.1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: eee0f0b9219262f64867a14d86fdf09248c562da
4
+ data.tar.gz: 16360630150035832672c03e26a0c0c2b1eda8c1
5
+ SHA512:
6
+ metadata.gz: bd22263b2941170f67f18828a59448bf3f425059c9319e02699eff3e863c8736ab630de51057ee83226a3bb9464eb4aa7513868b2d6fce13ecc3a973a45f9887
7
+ data.tar.gz: 1f2b328634ce308755e696949e42b5ab62d1c135421732f998b0f79038a65a80e3e4a33291f383db5b0d8a3931b6bb58b1fd9f3f9d297d06fac93daeb907c1ce
@@ -0,0 +1,3 @@
1
+ .DS_Store
2
+ pkg
3
+ .idea/
data/Gemfile ADDED
@@ -0,0 +1,13 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in cocoapods-store.gemspec
4
+ gemspec
5
+
6
+ group :development do
7
+ gem 'cocoapods'
8
+
9
+ gem 'mocha'
10
+ gem 'bacon'
11
+ gem 'mocha-on-bacon'
12
+ gem 'prettybacon'
13
+ end
@@ -0,0 +1,103 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cocoapods-store (0.0.1)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ CFPropertyList (2.3.5)
10
+ activesupport (4.2.9)
11
+ i18n (~> 0.7)
12
+ minitest (~> 5.1)
13
+ thread_safe (~> 0.3, >= 0.3.4)
14
+ tzinfo (~> 1.1)
15
+ aws-sdk (2.10.19)
16
+ aws-sdk-resources (= 2.10.19)
17
+ aws-sdk-core (2.10.19)
18
+ aws-sigv4 (~> 1.0)
19
+ jmespath (~> 1.0)
20
+ aws-sdk-resources (2.10.19)
21
+ aws-sdk-core (= 2.10.19)
22
+ aws-sigv4 (1.0.1)
23
+ bacon (1.2.0)
24
+ claide (1.0.2)
25
+ cocoapods (1.2.1)
26
+ activesupport (>= 4.0.2, < 5)
27
+ claide (>= 1.0.1, < 2.0)
28
+ cocoapods-core (= 1.2.1)
29
+ cocoapods-deintegrate (>= 1.0.1, < 2.0)
30
+ cocoapods-downloader (>= 1.1.3, < 2.0)
31
+ cocoapods-plugins (>= 1.0.0, < 2.0)
32
+ cocoapods-search (>= 1.0.0, < 2.0)
33
+ cocoapods-stats (>= 1.0.0, < 2.0)
34
+ cocoapods-trunk (>= 1.2.0, < 2.0)
35
+ cocoapods-try (>= 1.1.0, < 2.0)
36
+ colored2 (~> 3.1)
37
+ escape (~> 0.0.4)
38
+ fourflusher (~> 2.0.1)
39
+ gh_inspector (~> 1.0)
40
+ molinillo (~> 0.5.7)
41
+ nap (~> 1.0)
42
+ ruby-macho (~> 1.1)
43
+ xcodeproj (>= 1.4.4, < 2.0)
44
+ cocoapods-core (1.2.1)
45
+ activesupport (>= 4.0.2, < 5)
46
+ fuzzy_match (~> 2.0.4)
47
+ nap (~> 1.0)
48
+ cocoapods-deintegrate (1.0.1)
49
+ cocoapods-downloader (1.1.3)
50
+ cocoapods-plugins (1.0.0)
51
+ nap
52
+ cocoapods-search (1.0.0)
53
+ cocoapods-stats (1.0.0)
54
+ cocoapods-trunk (1.2.0)
55
+ nap (>= 0.8, < 2.0)
56
+ netrc (= 0.7.8)
57
+ cocoapods-try (1.1.0)
58
+ colored2 (3.1.2)
59
+ escape (0.0.4)
60
+ fourflusher (2.0.1)
61
+ fuzzy_match (2.0.4)
62
+ gh_inspector (1.0.3)
63
+ i18n (0.8.6)
64
+ jmespath (1.3.1)
65
+ metaclass (0.0.4)
66
+ minitest (5.10.3)
67
+ mocha (1.2.1)
68
+ metaclass (~> 0.0.1)
69
+ mocha-on-bacon (0.2.3)
70
+ mocha (>= 0.13.0)
71
+ molinillo (0.5.7)
72
+ nanaimo (0.2.3)
73
+ nap (1.1.0)
74
+ netrc (0.7.8)
75
+ prettybacon (0.0.2)
76
+ bacon (~> 1.2)
77
+ rake (12.0.0)
78
+ ruby-macho (1.1.0)
79
+ thread_safe (0.3.6)
80
+ tzinfo (1.2.3)
81
+ thread_safe (~> 0.1)
82
+ xcodeproj (1.5.1)
83
+ CFPropertyList (~> 2.3.3)
84
+ claide (>= 1.0.2, < 2.0)
85
+ colored2 (~> 3.1)
86
+ nanaimo (~> 0.2.3)
87
+
88
+ PLATFORMS
89
+ ruby
90
+
91
+ DEPENDENCIES
92
+ aws-sdk
93
+ bacon
94
+ bundler (~> 1.3)
95
+ cocoapods
96
+ cocoapods-store!
97
+ mocha
98
+ mocha-on-bacon
99
+ prettybacon
100
+ rake
101
+
102
+ BUNDLED WITH
103
+ 1.15.3
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2017 Jack Newcombe <jack@newcombe.io>
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,52 @@
1
+ # cocoapods-store
2
+
3
+ cocoapods-store is a plugin that lets you load push and pull dependencies to
4
+ and from an s3 bucket.
5
+
6
+ Pushes are keyed against the commit they are linked to the commit allowing them
7
+ to be pulled on demand.
8
+
9
+ This provides a faster alternative to pulling repos separately when running
10
+ pod install or pod update.
11
+
12
+ This gives several benefits:
13
+
14
+ - Pods only have to be installed once for the given commit avoiding multiple
15
+ requests to Github and other stores for subsequent installs
16
+ - Continuous integration agents can pull from the store helping to decrease
17
+ build times
18
+
19
+ ## Installation
20
+ ```bash
21
+ $ gem install cocoapods-store
22
+ ```
23
+ ## Usage
24
+
25
+ ```bash
26
+ $ pod spec push --bucket "my-pod-store" --aws-key "KEY" --aws-secret "SECRET"
27
+
28
+ $ pod spec pull --bucket "my-pod-store" --aws-key "KEY" --aws-secret "SECRET"
29
+ ```
30
+
31
+ It is recommended that you create a `.cocoapods-store.yml` rather than passing
32
+ arguments. The yaml should have the following format:
33
+
34
+ ```yaml
35
+ bucket: "my-pod-store"
36
+ aws-key: "KEY"
37
+ aws-secret: "SECRET"
38
+ ```
39
+
40
+ With a yaml file in place, you can simply call:
41
+
42
+ ```bash
43
+ $ pod spec push
44
+
45
+ $ pod spec pull
46
+ ```
47
+
48
+ ## Roadmap
49
+
50
+ - [x] S3 support
51
+ - [ ] Implicit Installation
52
+ - [ ] Cache built frameworks
@@ -0,0 +1,13 @@
1
+ require 'bundler/gem_tasks'
2
+
3
+ def specs(dir)
4
+ FileList["spec/#{dir}/*_spec.rb"].shuffle.join(' ')
5
+ end
6
+
7
+ desc 'Runs all the specs'
8
+ task :specs do
9
+ sh "bundle exec bacon #{specs('**')}"
10
+ end
11
+
12
+ task :default => :specs
13
+
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'cocoapods-store/gem_version.rb'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'cocoapods-store'
8
+ spec.version = CocoapodsStore::VERSION
9
+ spec.authors = ['Jack Newcombe']
10
+ spec.email = ['jack@newcombe.io']
11
+ spec.description = %q{A short description of cocoapods-store.}
12
+ spec.summary = %q{A longer description of cocoapods-store.}
13
+ spec.homepage = 'https://github.com/EXAMPLE/cocoapods-store'
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.add_development_dependency 'bundler', '~> 1.3'
22
+ spec.add_development_dependency 'rake'
23
+ spec.add_development_dependency 'cocoapods'
24
+ spec.add_development_dependency 'aws-sdk'
25
+ end
@@ -0,0 +1 @@
1
+ require 'cocoapods-store/gem_version'
@@ -0,0 +1 @@
1
+ require 'cocoapods-store/command/store'
@@ -0,0 +1,88 @@
1
+ require 'cocoapods-store/command/store/push'
2
+ require 'cocoapods-store/command/store/pull'
3
+
4
+ module Pod
5
+ class Command
6
+
7
+ # This is an example of a cocoapods plugin adding a top-level subcommand
8
+ # to the 'pod' command.
9
+ #
10
+ # You can also create subcommands of existing or new commands. Say you
11
+ # wanted to add a subcommand to `list` to show newly deprecated pods,
12
+ # (e.g. `pod list deprecated`), there are a few things that would need
13
+ # to change.
14
+ #
15
+ # - move this file to `lib/pod/command/list/deprecated.rb` and update
16
+ # the class to exist in the the Pod::Command::List namespace
17
+ # - change this class to extend from `List` instead of `Command`. This
18
+ # tells the plugin system that it is a subcommand of `list`.
19
+ # - edit `lib/cocoapods_plugins.rb` to require this file
20
+ #
21
+ # @todo Create a PR to add your plugin to CocoaPods/cocoapods.org
22
+ # in the `plugins.json` file, once your plugin is released.
23
+ #
24
+ class Store < Command
25
+
26
+ self.description = "Manage a pod installation store"
27
+
28
+ self.abstract_command = true
29
+
30
+
31
+ def self.options
32
+ [
33
+ ['--bucket', 'The bucket to use as the store.' ],
34
+ ['--aws-key', 'Your AWS access key ID.' ],
35
+ ['--aws-secret', 'Your AWS secret access key.' ]
36
+ ]
37
+ end
38
+
39
+ def initialize(argv)
40
+ super
41
+
42
+ prefs_file = '.cocoapods-store.yml'
43
+ prefs = (File.exist?(prefs_file) && YAML.load_file(prefs_file)) || {}
44
+
45
+ @bucket = argv.option('bucket', nil) || prefs['bucket']
46
+ @aws_public_key = argv.option('aws-key', nil) || prefs['aws-key']
47
+ @aws_private_key = argv.option('aws-secret', nil) || prefs['aws-secret']
48
+
49
+ end
50
+
51
+ def validate!
52
+ super
53
+
54
+ help! "A bucket must be specified using --bucket" unless @bucket
55
+ help! "An AWS access key ID must be specified using --aws-key" unless @aws_public_key
56
+ help! "An AWS secret access key must be specified using --aws-secret" unless @aws_private_key
57
+ end
58
+
59
+ # Methods
60
+
61
+ def load_s3_bucket
62
+ Aws.config[:region] = 'eu-west-1' # Required for config, but unneeded by S3
63
+
64
+ client = Aws::S3::Client.new(
65
+ access_key_id: @aws_public_key,
66
+ secret_access_key: @aws_private_key,
67
+ )
68
+
69
+ return Aws::S3::Resource.new(client: client)
70
+ end
71
+
72
+ # Accessors
73
+
74
+ def commit
75
+ return `git show --pretty=%H`
76
+ end
77
+
78
+ def project_name
79
+ return Pathname.new(Dir.pwd).basename
80
+ end
81
+
82
+ def cache_dir_name
83
+ return "#{project_name}-#{commit.strip!}"
84
+ end
85
+
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,76 @@
1
+ require 'aws-sdk'
2
+ require 'yaml'
3
+
4
+ module Pod
5
+ class Command
6
+ class Store < Command
7
+
8
+ class Pull < Store
9
+
10
+ self.summary = 'Pulls down and integrates installation data.'
11
+
12
+ self.description = <<-DESC
13
+ Pulls down and integrates installation data
14
+ DESC
15
+
16
+ # Plugin Lifecycle
17
+
18
+ def initialize(argv)
19
+ super
20
+ end
21
+
22
+ def validate!
23
+ super
24
+ end
25
+
26
+ def run
27
+
28
+ verify_podfile_exists!
29
+
30
+ pull_from_store
31
+ replace_installation_data
32
+ end
33
+
34
+ # Run steps
35
+
36
+ def pull_from_store
37
+
38
+ s3 = load_s3_bucket
39
+
40
+ zip_name = "#{cache_dir_name}.zip"
41
+
42
+ obj = s3.bucket(@bucket).object(zip_name)
43
+
44
+ if !obj.exists?
45
+ UI.puts "Item does not exist in cache"
46
+ exit
47
+ end
48
+
49
+ UI.puts "Downloading #{zip_name}"
50
+
51
+ success = obj.download_file(zip_name)
52
+
53
+ if !success
54
+ UI.puts "An error occurred attempt to download the cache item"
55
+ exit
56
+ end
57
+
58
+ end
59
+
60
+ def replace_installation_data
61
+
62
+ zip_name = "#{cache_dir_name}.zip"
63
+
64
+ FileUtils.rm_rf "#{Dir.pwd}/Pods"
65
+ FileUtils.rm_rf Dir.glob("#{Dir.pwd}/*.xcworkspace").first || ""
66
+ FileUtils.rm_rf "#{Dir.pwd}/Podfile.lock"
67
+
68
+ system "unzip #{zip_name} > /dev/null"
69
+
70
+ end
71
+
72
+ end
73
+
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,96 @@
1
+ require 'aws-sdk'
2
+
3
+ module Pod
4
+ class Command
5
+ class Store < Command
6
+
7
+ class Push < Store
8
+
9
+ self.summary = 'Stores cocoapods installation data for quicker installation'
10
+
11
+ self.description = <<-DESC
12
+ Stores cocoapods installation data for quicker installation
13
+ DESC
14
+
15
+
16
+ # Accessors
17
+
18
+ def commit
19
+ return `git show --pretty=%H`
20
+ end
21
+
22
+ # Plugin Lifecycle
23
+
24
+ def initialize(argv)
25
+ super
26
+ end
27
+
28
+ def validate!
29
+ super
30
+ end
31
+
32
+ def run
33
+
34
+ verify_podfile_exists!
35
+ verify_lockfile_exists!
36
+
37
+ archive_cache
38
+ push_cache
39
+ end
40
+
41
+ # Run steps
42
+
43
+ def archive_cache
44
+
45
+ @cache_dir = "#{Dir.pwd}/#{cache_dir_name}"
46
+
47
+ UI.puts "Creating cache directory: #{@cache_dir}"
48
+
49
+ FileUtils.rm_rf @cache_dir
50
+ FileUtils.mkdir_p @cache_dir
51
+
52
+ # Copy files to the cache folder
53
+ begin
54
+ FileUtils.cp_r "#{Dir.pwd}/Pods", @cache_dir
55
+ FileUtils.cp_r Dir.glob("#{Dir.pwd}/*.xcworkspace").first, @cache_dir
56
+ FileUtils.cp_r "#{Dir.pwd}/Podfile.lock", @cache_dir
57
+ rescue RuntimeError => e
58
+ UI.puts "[!] An error occurred - #{e.message}".red
59
+ FileUtils.rm_rf @cache_dir
60
+ exit 1
61
+ end
62
+
63
+ # Archive the cache folder
64
+ @zip_name = "#{cache_dir_name}.zip"
65
+ system "ditto -ck --rsrc --sequesterRsrc #{cache_dir_name} #{@zip_name}"
66
+ end
67
+
68
+ def push_cache
69
+
70
+ begin
71
+ s3 = load_s3_bucket
72
+
73
+ obj = s3.bucket('pod-store').object(@zip_name)
74
+ UI.puts "Uploading #{@zip_name}"
75
+ obj.upload_file("#{Dir.pwd}/#{@zip_name}")
76
+
77
+ UI.puts "✔︎ Cache uploaded successfully".green.bold
78
+
79
+ rescue Aws::Errors::MissingCredentialsError => e
80
+ UI.puts "S3 upload failed: Credentials were not present".red.bold
81
+ rescue Aws::S3::Errors::NoSuchBucket => e
82
+ UI.puts "S3 upload failed: the bucket specified does not exist".red.bold
83
+ rescue Aws::Errors::ServiceError => e
84
+ UI.puts "[!] S3 upload failed: A service error occurred - #{e.message}".red.bold
85
+ ensure
86
+ FileUtils.rm_rf @cache_dir
87
+ FileUtils.rm_rf "#{Dir.pwd}/#{@zip_name}"
88
+ end
89
+
90
+ end
91
+
92
+ end # class Push
93
+
94
+ end # class Store
95
+ end # class Command
96
+ end # module Pod
@@ -0,0 +1,3 @@
1
+ module CocoapodsStore
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1 @@
1
+ require 'cocoapods-store/command'
@@ -0,0 +1,12 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ module Pod
4
+ describe Command::Store do
5
+ describe 'CLAide' do
6
+ it 'registers it self' do
7
+ Command.parse(%w{ store }).should.be.instance_of Command::Store
8
+ end
9
+ end
10
+ end
11
+ end
12
+
@@ -0,0 +1,50 @@
1
+ require 'pathname'
2
+ ROOT = Pathname.new(File.expand_path('../../', __FILE__))
3
+ $:.unshift((ROOT + 'lib').to_s)
4
+ $:.unshift((ROOT + 'spec').to_s)
5
+
6
+ require 'bundler/setup'
7
+ require 'bacon'
8
+ require 'mocha-on-bacon'
9
+ require 'pretty_bacon'
10
+ require 'pathname'
11
+ require 'cocoapods'
12
+
13
+ Mocha::Configuration.prevent(:stubbing_non_existent_method)
14
+
15
+ require 'cocoapods_plugin'
16
+
17
+ #-----------------------------------------------------------------------------#
18
+
19
+ module Pod
20
+
21
+ # Disable the wrapping so the output is deterministic in the tests.
22
+ #
23
+ UI.disable_wrap = true
24
+
25
+ # Redirects the messages to an internal store.
26
+ #
27
+ module UI
28
+ @output = ''
29
+ @warnings = ''
30
+
31
+ class << self
32
+ attr_accessor :output
33
+ attr_accessor :warnings
34
+
35
+ def puts(message = '')
36
+ @output << "#{message}\n"
37
+ end
38
+
39
+ def warn(message = '', actions = [])
40
+ @warnings << "#{message}\n"
41
+ end
42
+
43
+ def print(message)
44
+ @output << message
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+ #-----------------------------------------------------------------------------#
metadata ADDED
@@ -0,0 +1,118 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cocoapods-store
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jack Newcombe
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-07-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: cocoapods
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aws-sdk
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: A short description of cocoapods-store.
70
+ email:
71
+ - jack@newcombe.io
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - .gitignore
77
+ - Gemfile
78
+ - Gemfile.lock
79
+ - LICENSE.txt
80
+ - README.md
81
+ - Rakefile
82
+ - cocoapods-store.gemspec
83
+ - lib/cocoapods-store.rb
84
+ - lib/cocoapods-store/command.rb
85
+ - lib/cocoapods-store/command/store.rb
86
+ - lib/cocoapods-store/command/store/pull.rb
87
+ - lib/cocoapods-store/command/store/push.rb
88
+ - lib/cocoapods-store/gem_version.rb
89
+ - lib/cocoapods_plugin.rb
90
+ - spec/command/store_spec.rb
91
+ - spec/spec_helper.rb
92
+ homepage: https://github.com/EXAMPLE/cocoapods-store
93
+ licenses:
94
+ - MIT
95
+ metadata: {}
96
+ post_install_message:
97
+ rdoc_options: []
98
+ require_paths:
99
+ - lib
100
+ required_ruby_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - '>='
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ required_rubygems_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ requirements: []
111
+ rubyforge_project:
112
+ rubygems_version: 2.0.14.1
113
+ signing_key:
114
+ specification_version: 4
115
+ summary: A longer description of cocoapods-store.
116
+ test_files:
117
+ - spec/command/store_spec.rb
118
+ - spec/spec_helper.rb