cocoapods-plugins 0.3.2 → 0.4.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/.rubocop_cocoapods.yml +22 -0
- data/CHANGELOG.md +7 -2
- data/Gemfile +2 -4
- data/Gemfile.lock +40 -36
- data/Rakefile +4 -8
- data/cocoapods-plugins.gemspec +2 -0
- data/lib/cocoapods_plugins.rb +1 -1
- data/lib/pod/command/gem_index_cache.rb +1 -1
- data/lib/pod/command/plugins.rb +1 -0
- data/lib/pod/command/plugins/create.rb +1 -1
- data/lib/pod/command/plugins/publish.rb +76 -0
- data/lib/pod/command/plugins_helper.rb +0 -1
- data/plugins.json +14 -0
- data/spec/command/plugins/publish_spec.rb +133 -0
- data/spec/fixtures/cocoapods-foo1.gemspec +10 -0
- data/spec/fixtures/cocoapods-foo2.gemspec +9 -0
- data/spec/fixtures/unprefixed.gemspec +10 -0
- data/spec/spec_helper.rb +10 -6
- metadata +25 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 14678243474a173cc4c9714549f27d03e104a38f
|
|
4
|
+
data.tar.gz: e5b77591185cfdd7816e7d2ada26c4853eab0b22
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a6aae3e33f18279b9a3185582774f00786f58fb1897867d0163b697f2cfd25f020854ba3ad6a1d190b210ad1547c527cda05c0d5f49155b5bdcbca9b1337d595
|
|
7
|
+
data.tar.gz: deba725d9f094770bc90b6bbdfefedc0231cd736257e3e71ce903745a3da5ca23edaee4f0e6234359380985825fe470e0541f367b1cfa6b45150d05ee0ecbe44
|
data/.rubocop_cocoapods.yml
CHANGED
|
@@ -42,6 +42,9 @@ Encoding:
|
|
|
42
42
|
TrailingComma:
|
|
43
43
|
EnforcedStyleForMultiline: comma
|
|
44
44
|
|
|
45
|
+
Style/MultilineOperationIndentation:
|
|
46
|
+
EnforcedStyle: indented
|
|
47
|
+
|
|
45
48
|
# Clashes with CLAide Command#validate!
|
|
46
49
|
GuardClause:
|
|
47
50
|
Enabled: false
|
|
@@ -50,6 +53,25 @@ GuardClause:
|
|
|
50
53
|
Next:
|
|
51
54
|
Enabled: false
|
|
52
55
|
|
|
56
|
+
# Arbitrary max lengths for classes simply do not work and enabling this will
|
|
57
|
+
# lead to a never ending stream of annoyance and changes.
|
|
58
|
+
Metrics/ClassLength:
|
|
59
|
+
Enabled: false
|
|
60
|
+
|
|
61
|
+
# No enforced convention here.
|
|
62
|
+
Metrics/BlockNesting:
|
|
63
|
+
Enabled: false
|
|
64
|
+
|
|
65
|
+
# It will be obvious which code is complex, Rubocop should only lint simple
|
|
66
|
+
# rules for us.
|
|
67
|
+
Metrics/AbcSize:
|
|
68
|
+
Enabled: false
|
|
69
|
+
|
|
70
|
+
# It will be obvious which code is complex, Rubocop should only lint simple
|
|
71
|
+
# rules for us.
|
|
72
|
+
Metrics/CyclomaticComplexity:
|
|
73
|
+
Enabled: false
|
|
74
|
+
|
|
53
75
|
#- CocoaPods support for Ruby 1.8.7 ------------------------------------------#
|
|
54
76
|
|
|
55
77
|
HashSyntax:
|
data/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
# Cocoapods::Plugins Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
* Added the `pod plugins publish` subcommand.
|
|
6
|
+
[Olivier Halligon](https://github.com/AliSoftware)
|
|
7
|
+
|
|
3
8
|
## 0.3.2
|
|
4
9
|
|
|
5
|
-
* Switch to using cocoapods-plugins JSON file
|
|
6
|
-
[
|
|
10
|
+
* Switch to using cocoapods-plugins JSON file instead of from Cocoapods.org's repo.
|
|
11
|
+
[542919](https://github.com/CocoaPods/cocoapods-plugins/commit/542919902e611c33bb0e02848037474529ddd0f9)
|
|
7
12
|
[Florian Hanke](https://github.com/floere)
|
|
8
13
|
|
|
9
14
|
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
1
|
GIT
|
|
2
2
|
remote: https://github.com/CocoaPods/CLAide.git
|
|
3
|
-
revision:
|
|
3
|
+
revision: 9e8b9072fd66f69b91999cd3838a4bbba043a7e5
|
|
4
4
|
branch: master
|
|
5
5
|
specs:
|
|
6
|
-
claide (0.
|
|
6
|
+
claide (0.8.0)
|
|
7
7
|
|
|
8
8
|
GIT
|
|
9
9
|
remote: https://github.com/CocoaPods/CocoaPods.git
|
|
10
|
-
revision:
|
|
10
|
+
revision: e64a60a621920aca53f57b70dfc0c4f6f2638a6f
|
|
11
11
|
branch: master
|
|
12
12
|
specs:
|
|
13
|
-
cocoapods (0.
|
|
14
|
-
activesupport (>= 3.2.15
|
|
15
|
-
claide (~> 0.
|
|
16
|
-
cocoapods-core (= 0.
|
|
17
|
-
cocoapods-downloader (~> 0.
|
|
18
|
-
cocoapods-plugins (~> 0.
|
|
19
|
-
cocoapods-trunk (~> 0.
|
|
20
|
-
cocoapods-try (~> 0.3
|
|
13
|
+
cocoapods (0.35.0)
|
|
14
|
+
activesupport (>= 3.2.15)
|
|
15
|
+
claide (~> 0.8.0)
|
|
16
|
+
cocoapods-core (= 0.35.0)
|
|
17
|
+
cocoapods-downloader (~> 0.8.0)
|
|
18
|
+
cocoapods-plugins (~> 0.4.0)
|
|
19
|
+
cocoapods-trunk (~> 0.5.0)
|
|
20
|
+
cocoapods-try (~> 0.4.3)
|
|
21
21
|
colored (~> 1.2)
|
|
22
22
|
escape (~> 0.0.4)
|
|
23
|
-
|
|
23
|
+
molinillo (~> 0.2.0)
|
|
24
24
|
nap (~> 0.8)
|
|
25
25
|
open4 (~> 1.3)
|
|
26
|
-
xcodeproj (~> 0.
|
|
26
|
+
xcodeproj (~> 0.21.0)
|
|
27
27
|
|
|
28
28
|
GIT
|
|
29
29
|
remote: https://github.com/CocoaPods/Core.git
|
|
30
|
-
revision:
|
|
30
|
+
revision: 7d2b3c0cba15d4c62639c5b390df306a30cc1d40
|
|
31
31
|
branch: master
|
|
32
32
|
specs:
|
|
33
|
-
cocoapods-core (0.
|
|
33
|
+
cocoapods-core (0.35.0)
|
|
34
34
|
activesupport (>= 3.2.15)
|
|
35
35
|
fuzzy_match (~> 2.0.4)
|
|
36
|
-
json_pure (~> 1.8)
|
|
37
36
|
nap (~> 0.8.0)
|
|
38
37
|
|
|
39
38
|
PATH
|
|
40
39
|
remote: .
|
|
41
40
|
specs:
|
|
42
|
-
cocoapods-plugins (0.
|
|
41
|
+
cocoapods-plugins (0.4.0)
|
|
43
42
|
nap
|
|
44
43
|
|
|
45
44
|
GEM
|
|
46
45
|
remote: https://rubygems.org/
|
|
47
46
|
specs:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
activesupport (4.2.0)
|
|
48
|
+
i18n (~> 0.7)
|
|
49
|
+
json (~> 1.7, >= 1.7.7)
|
|
50
|
+
minitest (~> 5.1)
|
|
51
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
|
52
|
+
tzinfo (~> 1.1)
|
|
52
53
|
addressable (2.3.6)
|
|
53
54
|
ast (2.0.0)
|
|
54
55
|
astrolabe (1.3.0)
|
|
55
56
|
parser (>= 2.2.0.pre.3, < 3.0)
|
|
56
57
|
bacon (1.2.0)
|
|
57
|
-
cocoapods-downloader (0.
|
|
58
|
-
cocoapods-trunk (0.
|
|
59
|
-
json_pure (~> 1.8)
|
|
58
|
+
cocoapods-downloader (0.8.0)
|
|
59
|
+
cocoapods-trunk (0.5.0)
|
|
60
60
|
nap (>= 0.8)
|
|
61
|
-
netrc
|
|
62
|
-
cocoapods-try (0.3
|
|
61
|
+
netrc (= 0.7.8)
|
|
62
|
+
cocoapods-try (0.4.3)
|
|
63
63
|
codeclimate-test-reporter (0.4.0)
|
|
64
64
|
simplecov (>= 0.7.1, < 1.0.0)
|
|
65
65
|
colored (1.2)
|
|
@@ -68,18 +68,20 @@ GEM
|
|
|
68
68
|
docile (1.1.5)
|
|
69
69
|
escape (0.0.4)
|
|
70
70
|
fuzzy_match (2.0.4)
|
|
71
|
-
i18n (0.
|
|
72
|
-
|
|
71
|
+
i18n (0.7.0)
|
|
72
|
+
json (1.8.1)
|
|
73
73
|
metaclass (0.0.4)
|
|
74
|
+
minitest (5.5.0)
|
|
74
75
|
mocha (1.1.0)
|
|
75
76
|
metaclass (~> 0.0.1)
|
|
76
77
|
mocha-on-bacon (0.2.2)
|
|
77
78
|
mocha (>= 0.13.0)
|
|
79
|
+
molinillo (0.2.0)
|
|
78
80
|
multi_json (1.10.1)
|
|
79
81
|
nap (0.8.0)
|
|
80
|
-
netrc (0.7.
|
|
82
|
+
netrc (0.7.8)
|
|
81
83
|
open4 (1.3.4)
|
|
82
|
-
parser (2.2.0.pre.
|
|
84
|
+
parser (2.2.0.pre.7)
|
|
83
85
|
ast (>= 1.1, < 3.0)
|
|
84
86
|
slop (~> 3.4, >= 3.4.5)
|
|
85
87
|
powerpack (0.0.9)
|
|
@@ -87,13 +89,13 @@ GEM
|
|
|
87
89
|
bacon (~> 1.2)
|
|
88
90
|
rainbow (2.0.0)
|
|
89
91
|
rake (10.3.2)
|
|
90
|
-
rubocop (0.
|
|
92
|
+
rubocop (0.27.1)
|
|
91
93
|
astrolabe (~> 1.3)
|
|
92
|
-
parser (>= 2.2.0.pre.
|
|
94
|
+
parser (>= 2.2.0.pre.7, < 3.0)
|
|
93
95
|
powerpack (~> 0.0.6)
|
|
94
96
|
rainbow (>= 1.99.1, < 3.0)
|
|
95
97
|
ruby-progressbar (~> 1.4)
|
|
96
|
-
ruby-progressbar (1.
|
|
98
|
+
ruby-progressbar (1.7.0)
|
|
97
99
|
safe_yaml (1.0.3)
|
|
98
100
|
simplecov (0.9.0)
|
|
99
101
|
docile (~> 1.1.0)
|
|
@@ -101,13 +103,15 @@ GEM
|
|
|
101
103
|
simplecov-html (~> 0.8.0)
|
|
102
104
|
simplecov-html (0.8.0)
|
|
103
105
|
slop (3.6.0)
|
|
106
|
+
thread_safe (0.3.4)
|
|
107
|
+
tzinfo (1.2.2)
|
|
108
|
+
thread_safe (~> 0.1)
|
|
104
109
|
vcr (2.9.3)
|
|
105
110
|
webmock (1.18.0)
|
|
106
111
|
addressable (>= 2.3.6)
|
|
107
112
|
crack (>= 0.3.2)
|
|
108
|
-
xcodeproj (0.
|
|
109
|
-
|
|
110
|
-
activesupport (~> 3.0)
|
|
113
|
+
xcodeproj (0.21.0)
|
|
114
|
+
activesupport (>= 3)
|
|
111
115
|
colored (~> 1.2)
|
|
112
116
|
|
|
113
117
|
PLATFORMS
|
data/Rakefile
CHANGED
|
@@ -40,14 +40,10 @@ begin
|
|
|
40
40
|
|
|
41
41
|
desc 'Checks code style'
|
|
42
42
|
task :rubocop do
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
abort('RuboCop failed!') unless result == 0
|
|
48
|
-
else
|
|
49
|
-
puts '[!] Ruby > 1.9 is required to run style checks'
|
|
50
|
-
end
|
|
43
|
+
require 'rubocop'
|
|
44
|
+
cli = RuboCop::CLI.new
|
|
45
|
+
result = cli.run(FileList['{spec,lib}/**/*.rb'])
|
|
46
|
+
abort('RuboCop failed!') unless result == 0
|
|
51
47
|
end
|
|
52
48
|
|
|
53
49
|
rescue LoadError
|
data/cocoapods-plugins.gemspec
CHANGED
data/lib/cocoapods_plugins.rb
CHANGED
data/lib/pod/command/plugins.rb
CHANGED
|
@@ -27,7 +27,7 @@ module Pod
|
|
|
27
27
|
|
|
28
28
|
def initialize(argv)
|
|
29
29
|
@name = argv.shift_argument
|
|
30
|
-
unless @name.nil? || @name.empty? || @name.
|
|
30
|
+
unless @name.nil? || @name.empty? || @name.start_with?(NAME_PREFIX)
|
|
31
31
|
@name = NAME_PREFIX + @name.dup
|
|
32
32
|
end
|
|
33
33
|
@template_url = argv.shift_argument
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
require 'CGI'
|
|
3
|
+
|
|
4
|
+
module Pod
|
|
5
|
+
class Command
|
|
6
|
+
class Plugins
|
|
7
|
+
# The publish subcommand. Used to request to add a plugin
|
|
8
|
+
# to the official list of plugins
|
|
9
|
+
#
|
|
10
|
+
class Publish < Plugins
|
|
11
|
+
self.summary = 'Request to add the plugin to the official plugins list'
|
|
12
|
+
self.description = <<-DESC
|
|
13
|
+
This command is only useful for developers of CocoaPods plugins.
|
|
14
|
+
|
|
15
|
+
It opens a new GitHub issue to request adding the plugin
|
|
16
|
+
currently being developped to the list of official plugins.
|
|
17
|
+
|
|
18
|
+
The current directory is expected to have one (and only one)
|
|
19
|
+
`.gemspec` file describing the CocoaPods plugin gem.
|
|
20
|
+
DESC
|
|
21
|
+
|
|
22
|
+
def initialize(argv)
|
|
23
|
+
@gemspec_files = Dir.glob('*.gemspec')
|
|
24
|
+
super
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def validate!
|
|
28
|
+
super
|
|
29
|
+
if @gemspec_files.count > 1
|
|
30
|
+
help! 'There is more than one gemspec in the current directory'
|
|
31
|
+
elsif @gemspec_files.empty?
|
|
32
|
+
help! 'No `.gemspec` file found in the current directory.'
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def run
|
|
37
|
+
gemspec = Gem::Specification.load(@gemspec_files.first)
|
|
38
|
+
unless gemspec.name.start_with?('cocoapods-')
|
|
39
|
+
UI.notice 'Your gem name should start with `cocoapods-` to be ' \
|
|
40
|
+
'loaded as a plugin by CocoaPods'
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
json = json_from_gemspec(gemspec)
|
|
44
|
+
|
|
45
|
+
title = "[plugins.json] Add #{gemspec.name}"
|
|
46
|
+
body = 'Please add the following entry to the `plugins.json` file:' \
|
|
47
|
+
"\n\n```\n#{json}\n```"
|
|
48
|
+
open_new_issue_url(title, body)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
private
|
|
52
|
+
|
|
53
|
+
def json_from_gemspec(gemspec)
|
|
54
|
+
JSON.pretty_generate(
|
|
55
|
+
:gem => gemspec.name,
|
|
56
|
+
:name => pretty_name_from_gemname(gemspec.name),
|
|
57
|
+
:author => gemspec.authors.join(', '),
|
|
58
|
+
:url => gemspec.homepage,
|
|
59
|
+
:description => gemspec.summary || gemspec.description,
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def pretty_name_from_gemname(gemname)
|
|
64
|
+
gemname.split('-').map(&:capitalize).join(' ').
|
|
65
|
+
gsub(/cocoapods/i, 'CocoaPods')
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def open_new_issue_url(title, body)
|
|
69
|
+
url = 'https://github.com/CocoaPods/cocoapods-plugins/issues/new?' \
|
|
70
|
+
"title=#{CGI.escape(title)}&body=#{CGI.escape(body)}"
|
|
71
|
+
`open "#{url}"`
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
data/plugins.json
CHANGED
|
@@ -130,6 +130,20 @@
|
|
|
130
130
|
"author":"Luca Querella",
|
|
131
131
|
"url":"https://github.com/BendingSpoons/cocoapods-clean",
|
|
132
132
|
"description":"Remove Podfile.lock, Pods/ and *.xcworkspace."
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"gem":"cocoapods-keys",
|
|
136
|
+
"name":"CocoaPods Keys",
|
|
137
|
+
"author":"Orta Therox, Samuel E. Giddins",
|
|
138
|
+
"url":"https://github.com/orta/cocoapods-keys",
|
|
139
|
+
"description":"Store sensitive data in your Mac's keychain, that will be installed into your app's source code via the Pods library."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"gem":"cocoapods-packager",
|
|
143
|
+
"name":"CocoaPods Packager",
|
|
144
|
+
"author":"Kyle Fuller, Boris Bügling",
|
|
145
|
+
"url":"https://github.com/CocoaPods/cocoapods-packager",
|
|
146
|
+
"description":"Generate a framework or static library from a podspec."
|
|
133
147
|
}
|
|
134
148
|
]
|
|
135
149
|
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
require File.expand_path('../../../spec_helper', __FILE__)
|
|
2
|
+
|
|
3
|
+
# The CocoaPods namespace
|
|
4
|
+
#
|
|
5
|
+
module Pod
|
|
6
|
+
describe Command::Plugins::Publish do
|
|
7
|
+
extend SpecHelper::PluginsPublishCommand
|
|
8
|
+
|
|
9
|
+
before do
|
|
10
|
+
UI.output = ''
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it 'registers itself' do
|
|
14
|
+
Command.parse(%w(plugins publish)).
|
|
15
|
+
should.be.instance_of Command::Plugins::Publish
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
#--- Utils
|
|
19
|
+
|
|
20
|
+
def create_temp_dir(*gemspecs)
|
|
21
|
+
Dir.mktmpdir do |tmpdir|
|
|
22
|
+
Dir.chdir(tmpdir) do
|
|
23
|
+
gemspecs.each do |filename|
|
|
24
|
+
File.write(filename, File.read(fixture(filename)))
|
|
25
|
+
end
|
|
26
|
+
yield if block_given?
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
#--- Validation
|
|
32
|
+
|
|
33
|
+
it 'validate if there is only one gemfile' do
|
|
34
|
+
create_temp_dir('cocoapods-foo1.gemspec') do
|
|
35
|
+
should.not.raise(CLAide::Help) do
|
|
36
|
+
publish_command.validate!
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it 'raise if there is no gemfile' do
|
|
42
|
+
create_temp_dir do
|
|
43
|
+
should.raise(CLAide::Help) do
|
|
44
|
+
publish_command.validate!
|
|
45
|
+
end.message.should.include('No `.gemspec` file found')
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
it 'raise if there is more than one gemfile' do
|
|
50
|
+
create_temp_dir('cocoapods-foo1.gemspec', 'cocoapods-foo2.gemspec') do
|
|
51
|
+
should.raise(CLAide::Help) do
|
|
52
|
+
publish_command.validate!
|
|
53
|
+
end.message.should.include('There is more than one gemspec')
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
#--- Proper Generation
|
|
58
|
+
|
|
59
|
+
it 'should notice when the gem name is not prefixed' do
|
|
60
|
+
create_temp_dir('unprefixed.gemspec') do
|
|
61
|
+
publish_command.tap { |t| t.stubs(:open_new_issue_url) }.run
|
|
62
|
+
UI.output.should.include('Your gem name should start with ' \
|
|
63
|
+
+ '`cocoapods-` to be loaded as a plugin by CocoaPods')
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it 'should not notice when the gem name is prefixed' do
|
|
68
|
+
create_temp_dir('cocoapods-foo1.gemspec') do
|
|
69
|
+
publish_command.tap { |t| t.stubs(:open_new_issue_url) }.run
|
|
70
|
+
UI.output.should.not.include('Your gem name should start with ' \
|
|
71
|
+
+ '`cocoapods-` to be loaded as a plugin by CocoaPods')
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
it 'should have the plugin name in the issue title' do
|
|
76
|
+
create_temp_dir('cocoapods-foo1.gemspec') do
|
|
77
|
+
command = publish_command
|
|
78
|
+
command.expects(:open_new_issue_url).
|
|
79
|
+
with('[plugins.json] Add cocoapods-foo1', anything)
|
|
80
|
+
command.run
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
it 'should compute a nice plugin name' do
|
|
85
|
+
publish_command.instance_eval do
|
|
86
|
+
pretty_name_from_gemname('cocoapods-foo1')
|
|
87
|
+
end.should.equal('CocoaPods Foo1')
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
it 'should have the plugin json entry in the issue body' do
|
|
91
|
+
create_temp_dir('cocoapods-foo1.gemspec') do
|
|
92
|
+
command = publish_command
|
|
93
|
+
json = <<-JSON.chomp
|
|
94
|
+
Please add the following entry to the `plugins.json` file:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
{
|
|
98
|
+
"gem": "cocoapods-foo1",
|
|
99
|
+
"name": "CocoaPods Foo1",
|
|
100
|
+
"author": "Author 1",
|
|
101
|
+
"url": "https://github.com/proper-man/cocoapods-foo1",
|
|
102
|
+
"description": "Gem Summary 1"
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
JSON
|
|
106
|
+
command.expects(:open_new_issue_url).with(anything, json)
|
|
107
|
+
command.run
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
it 'should concatenate authors if more than one' do
|
|
112
|
+
create_temp_dir('cocoapods-foo2.gemspec') do
|
|
113
|
+
command = publish_command
|
|
114
|
+
json = <<-JSON.chomp
|
|
115
|
+
Please add the following entry to the `plugins.json` file:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
{
|
|
119
|
+
"gem": "cocoapods-foo2",
|
|
120
|
+
"name": "CocoaPods Foo2",
|
|
121
|
+
"author": "Author 1, Author 2",
|
|
122
|
+
"url": "https://github.com/proper-man/cocoapods-foo2",
|
|
123
|
+
"description": "Gem Description 2"
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
JSON
|
|
127
|
+
command.expects(:open_new_issue_url).with(anything, json)
|
|
128
|
+
command.run
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
end
|
|
133
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
Gem::Specification.new do |spec|
|
|
3
|
+
spec.name = 'cocoapods-foo1'
|
|
4
|
+
spec.version = '2.0.1'
|
|
5
|
+
spec.authors = ['Author 1']
|
|
6
|
+
spec.summary = 'Gem Summary 1'
|
|
7
|
+
spec.description = 'Gem Description 1'
|
|
8
|
+
spec.homepage = 'https://github.com/proper-man/cocoapods-foo1'
|
|
9
|
+
spec.license = 'MIT'
|
|
10
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
Gem::Specification.new do |spec|
|
|
3
|
+
spec.name = 'cocoapods-foo2'
|
|
4
|
+
spec.version = '2.0.2'
|
|
5
|
+
spec.authors = ['Author 1', 'Author 2']
|
|
6
|
+
spec.description = 'Gem Description 2'
|
|
7
|
+
spec.homepage = 'https://github.com/proper-man/cocoapods-foo2'
|
|
8
|
+
spec.license = 'MIT'
|
|
9
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
Gem::Specification.new do |spec|
|
|
3
|
+
spec.name = 'unprefixed-plugin'
|
|
4
|
+
spec.version = '1.2.3'
|
|
5
|
+
spec.authors = ['Author 1', 'Author 2']
|
|
6
|
+
spec.summary = 'Gem Summary'
|
|
7
|
+
spec.description = 'Gem Description'
|
|
8
|
+
spec.homepage = 'https://github.com/messy-man/unprefixed-plugins'
|
|
9
|
+
spec.license = 'MIT'
|
|
10
|
+
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
# Set up coverage analysis
|
|
2
2
|
#-----------------------------------------------------------------------------#
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
config.logger.level = Logger::WARN
|
|
8
|
-
end
|
|
9
|
-
CodeClimate::TestReporter.start
|
|
4
|
+
require 'codeclimate-test-reporter'
|
|
5
|
+
CodeClimate::TestReporter.configure do |config|
|
|
6
|
+
config.logger.level = Logger::WARN
|
|
10
7
|
end
|
|
8
|
+
CodeClimate::TestReporter.start
|
|
11
9
|
|
|
12
10
|
# Set up
|
|
13
11
|
#-----------------------------------------------------------------------------#
|
|
@@ -115,4 +113,10 @@ module SpecHelper
|
|
|
115
113
|
Pod::Command::Plugins::Search.new CLAide::ARGV.new(args)
|
|
116
114
|
end
|
|
117
115
|
end
|
|
116
|
+
|
|
117
|
+
module PluginsPublishCommand
|
|
118
|
+
def publish_command
|
|
119
|
+
Pod::Command::Plugins::Publish.new CLAide::ARGV.new []
|
|
120
|
+
end
|
|
121
|
+
end
|
|
118
122
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cocoapods-plugins
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Grandinetti
|
|
@@ -9,48 +9,48 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-
|
|
12
|
+
date: 2014-12-25 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: nap
|
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
requirements:
|
|
18
|
-
- -
|
|
18
|
+
- - '>='
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
20
|
version: '0'
|
|
21
21
|
type: :runtime
|
|
22
22
|
prerelease: false
|
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
24
24
|
requirements:
|
|
25
|
-
- -
|
|
25
|
+
- - '>='
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
27
|
version: '0'
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
29
|
name: bundler
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
31
31
|
requirements:
|
|
32
|
-
- -
|
|
32
|
+
- - ~>
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
34
|
version: '1.3'
|
|
35
35
|
type: :development
|
|
36
36
|
prerelease: false
|
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
|
-
- -
|
|
39
|
+
- - ~>
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
41
|
version: '1.3'
|
|
42
42
|
- !ruby/object:Gem::Dependency
|
|
43
43
|
name: rake
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
45
45
|
requirements:
|
|
46
|
-
- -
|
|
46
|
+
- - '>='
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
48
|
version: '0'
|
|
49
49
|
type: :development
|
|
50
50
|
prerelease: false
|
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
52
|
requirements:
|
|
53
|
-
- -
|
|
53
|
+
- - '>='
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
55
|
version: '0'
|
|
56
56
|
description: |2
|
|
@@ -63,10 +63,10 @@ executables: []
|
|
|
63
63
|
extensions: []
|
|
64
64
|
extra_rdoc_files: []
|
|
65
65
|
files:
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
-
|
|
66
|
+
- .gitignore
|
|
67
|
+
- .rubocop.yml
|
|
68
|
+
- .rubocop_cocoapods.yml
|
|
69
|
+
- .travis.yml
|
|
70
70
|
- CHANGELOG.md
|
|
71
71
|
- Gemfile
|
|
72
72
|
- Gemfile.lock
|
|
@@ -81,6 +81,7 @@ files:
|
|
|
81
81
|
- lib/pod/command/plugins.rb
|
|
82
82
|
- lib/pod/command/plugins/create.rb
|
|
83
83
|
- lib/pod/command/plugins/list.rb
|
|
84
|
+
- lib/pod/command/plugins/publish.rb
|
|
84
85
|
- lib/pod/command/plugins/search.rb
|
|
85
86
|
- lib/pod/command/plugins_helper.rb
|
|
86
87
|
- plugins.json
|
|
@@ -88,10 +89,14 @@ files:
|
|
|
88
89
|
- spec/command/gem_index_cache_spec.rb
|
|
89
90
|
- spec/command/plugins/create_spec.rb
|
|
90
91
|
- spec/command/plugins/list_spec.rb
|
|
92
|
+
- spec/command/plugins/publish_spec.rb
|
|
91
93
|
- spec/command/plugins/search_spec.rb
|
|
92
94
|
- spec/command/plugins_helper_spec.rb
|
|
93
95
|
- spec/command/plugins_spec.rb
|
|
96
|
+
- spec/fixtures/cocoapods-foo1.gemspec
|
|
97
|
+
- spec/fixtures/cocoapods-foo2.gemspec
|
|
94
98
|
- spec/fixtures/plugins.json
|
|
99
|
+
- spec/fixtures/unprefixed.gemspec
|
|
95
100
|
- spec/spec_helper.rb
|
|
96
101
|
homepage: https://github.com/cocoapods/cocoapods-plugins
|
|
97
102
|
licenses:
|
|
@@ -103,17 +108,17 @@ require_paths:
|
|
|
103
108
|
- lib
|
|
104
109
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
105
110
|
requirements:
|
|
106
|
-
- -
|
|
111
|
+
- - '>='
|
|
107
112
|
- !ruby/object:Gem::Version
|
|
108
|
-
version:
|
|
113
|
+
version: 2.0.0
|
|
109
114
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
115
|
requirements:
|
|
111
|
-
- -
|
|
116
|
+
- - '>='
|
|
112
117
|
- !ruby/object:Gem::Version
|
|
113
118
|
version: '0'
|
|
114
119
|
requirements: []
|
|
115
120
|
rubyforge_project:
|
|
116
|
-
rubygems_version: 2.
|
|
121
|
+
rubygems_version: 2.0.14
|
|
117
122
|
signing_key:
|
|
118
123
|
specification_version: 4
|
|
119
124
|
summary: CocoaPods plugin which shows info about available CocoaPods plugins.
|
|
@@ -122,9 +127,12 @@ test_files:
|
|
|
122
127
|
- spec/command/gem_index_cache_spec.rb
|
|
123
128
|
- spec/command/plugins/create_spec.rb
|
|
124
129
|
- spec/command/plugins/list_spec.rb
|
|
130
|
+
- spec/command/plugins/publish_spec.rb
|
|
125
131
|
- spec/command/plugins/search_spec.rb
|
|
126
132
|
- spec/command/plugins_helper_spec.rb
|
|
127
133
|
- spec/command/plugins_spec.rb
|
|
134
|
+
- spec/fixtures/cocoapods-foo1.gemspec
|
|
135
|
+
- spec/fixtures/cocoapods-foo2.gemspec
|
|
128
136
|
- spec/fixtures/plugins.json
|
|
137
|
+
- spec/fixtures/unprefixed.gemspec
|
|
129
138
|
- spec/spec_helper.rb
|
|
130
|
-
has_rdoc:
|