cocoapods 0.37.0.rc.1 → 0.37.0.rc.2
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/CHANGELOG.md +14 -0
- data/lib/cocoapods/command/lib.rb +1 -1
- data/lib/cocoapods/downloader/cache.rb +12 -4
- data/lib/cocoapods/gem_version.rb +1 -1
- metadata +57 -57
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b89a432111fc6782aa06cd5d01021a20270e6b6
|
4
|
+
data.tar.gz: 26add349ce61475fd05f0d9d1cbf1966d9c9184d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf59d1c72da421c42d6da6d865712dea74664671703cd9a60a6d7c8ddca88809a5f6b1a237ef3f67e3e81c560020eef1bc2701e88d6b2af5db97ff223c2193ea
|
7
|
+
data.tar.gz: e58973a4c185dbaea181f344dad717c569e77dc5511aa77a961fb22c66ead31ccccf0afe7def6f1da3680e6e11d8e09d894247ece11421403402cb0336284859
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,20 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
|
|
4
4
|
|
5
5
|
To install release candidates run `[sudo] gem install cocoapods --pre`
|
6
6
|
|
7
|
+
## 0.37.0.rc.2
|
8
|
+
|
9
|
+
##### Bug Fixes
|
10
|
+
|
11
|
+
* Handle caching specs that have subspecs with higher minimum deployment targets
|
12
|
+
without deleting needed source files.
|
13
|
+
[Samuel Giddins](https://github.com/segiddins)
|
14
|
+
[#3471](https://github.com/CocoaPods/CocoaPods/issues/3471)
|
15
|
+
|
16
|
+
* Automatically detect JSON podspecs in `pod lib lint`.
|
17
|
+
[Samuel Giddins](https://github.com/segiddins)
|
18
|
+
[#3477](https://github.com/CocoaPods/CocoaPods/issues/3477)
|
19
|
+
|
20
|
+
|
7
21
|
## 0.37.0.rc.1
|
8
22
|
|
9
23
|
[Core](https://github.com/CocoaPods/Core/compare/0.37.0.beta.1...0.37.0.rc.1)
|
@@ -187,7 +187,7 @@ module Pod
|
|
187
187
|
if !@podspecs_paths.empty?
|
188
188
|
Array(@podspecs_paths)
|
189
189
|
else
|
190
|
-
podspecs = Pathname.glob(Pathname.pwd + '*.podspec{.
|
190
|
+
podspecs = Pathname.glob(Pathname.pwd + '*.podspec{.json,}')
|
191
191
|
if podspecs.count.zero?
|
192
192
|
raise Informative, 'Unable to find a podspec in the working ' \
|
193
193
|
'directory'
|
@@ -182,16 +182,24 @@ module Pod
|
|
182
182
|
# @return [Void]
|
183
183
|
#
|
184
184
|
def copy_and_clean(source, destination, spec)
|
185
|
-
specs_by_platform =
|
186
|
-
spec.available_platforms.each do |platform|
|
187
|
-
specs_by_platform[platform] = [spec, *spec.recursive_subspecs].select { |ss| ss.supported_on_platform?(platform) }
|
188
|
-
end
|
185
|
+
specs_by_platform = group_subspecs_by_platform(spec)
|
189
186
|
destination.parent.mkpath
|
190
187
|
FileUtils.cp_r(source, destination)
|
191
188
|
Pod::Installer::PodSourcePreparer.new(spec, destination).prepare!
|
192
189
|
Sandbox::PodDirCleaner.new(destination, specs_by_platform).clean!
|
193
190
|
end
|
194
191
|
|
192
|
+
def group_subspecs_by_platform(spec)
|
193
|
+
specs_by_platform = {}
|
194
|
+
[spec, *spec.recursive_subspecs].each do |ss|
|
195
|
+
ss.available_platforms.each do |platform|
|
196
|
+
specs_by_platform[platform] ||= []
|
197
|
+
specs_by_platform[platform] << ss
|
198
|
+
end
|
199
|
+
end
|
200
|
+
specs_by_platform
|
201
|
+
end
|
202
|
+
|
195
203
|
# Writes the given `spec` to the given `path`.
|
196
204
|
#
|
197
205
|
# @param [Specification] spec
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.37.0.rc.
|
4
|
+
version: 0.37.0.rc.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2015-04-
|
14
|
+
date: 2015-04-30 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: cocoapods-core
|
@@ -19,208 +19,208 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.37.0.rc.
|
22
|
+
version: 0.37.0.rc.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.37.0.rc.
|
29
|
+
version: 0.37.0.rc.2
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: claide
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- -
|
34
|
+
- - ~>
|
35
35
|
- !ruby/object:Gem::Version
|
36
36
|
version: 0.8.1
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
|
-
- -
|
41
|
+
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: 0.8.1
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
45
|
name: xcodeproj
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
|
-
- -
|
48
|
+
- - ~>
|
49
49
|
- !ruby/object:Gem::Version
|
50
50
|
version: 0.24.1
|
51
51
|
type: :runtime
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
|
-
- -
|
55
|
+
- - ~>
|
56
56
|
- !ruby/object:Gem::Version
|
57
57
|
version: 0.24.1
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: cocoapods-downloader
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
|
-
- -
|
62
|
+
- - ~>
|
63
63
|
- !ruby/object:Gem::Version
|
64
64
|
version: 0.9.0
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
|
-
- -
|
69
|
+
- - ~>
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: 0.9.0
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: cocoapods-plugins
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
75
75
|
requirements:
|
76
|
-
- -
|
76
|
+
- - ~>
|
77
77
|
- !ruby/object:Gem::Version
|
78
78
|
version: 0.4.2
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
|
-
- -
|
83
|
+
- - ~>
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: 0.4.2
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
87
|
name: cocoapods-try
|
88
88
|
requirement: !ruby/object:Gem::Requirement
|
89
89
|
requirements:
|
90
|
-
- -
|
90
|
+
- - ~>
|
91
91
|
- !ruby/object:Gem::Version
|
92
92
|
version: 0.4.3
|
93
93
|
type: :runtime
|
94
94
|
prerelease: false
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
|
-
- -
|
97
|
+
- - ~>
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: 0.4.3
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
101
|
name: cocoapods-trunk
|
102
102
|
requirement: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
|
-
- -
|
104
|
+
- - ~>
|
105
105
|
- !ruby/object:Gem::Version
|
106
106
|
version: 0.6.0
|
107
107
|
type: :runtime
|
108
108
|
prerelease: false
|
109
109
|
version_requirements: !ruby/object:Gem::Requirement
|
110
110
|
requirements:
|
111
|
-
- -
|
111
|
+
- - ~>
|
112
112
|
- !ruby/object:Gem::Version
|
113
113
|
version: 0.6.0
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: molinillo
|
116
116
|
requirement: !ruby/object:Gem::Requirement
|
117
117
|
requirements:
|
118
|
-
- -
|
118
|
+
- - ~>
|
119
119
|
- !ruby/object:Gem::Version
|
120
120
|
version: 0.2.3
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
123
|
version_requirements: !ruby/object:Gem::Requirement
|
124
124
|
requirements:
|
125
|
-
- -
|
125
|
+
- - ~>
|
126
126
|
- !ruby/object:Gem::Version
|
127
127
|
version: 0.2.3
|
128
128
|
- !ruby/object:Gem::Dependency
|
129
129
|
name: colored
|
130
130
|
requirement: !ruby/object:Gem::Requirement
|
131
131
|
requirements:
|
132
|
-
- -
|
132
|
+
- - ~>
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '1.2'
|
135
135
|
type: :runtime
|
136
136
|
prerelease: false
|
137
137
|
version_requirements: !ruby/object:Gem::Requirement
|
138
138
|
requirements:
|
139
|
-
- -
|
139
|
+
- - ~>
|
140
140
|
- !ruby/object:Gem::Version
|
141
141
|
version: '1.2'
|
142
142
|
- !ruby/object:Gem::Dependency
|
143
143
|
name: escape
|
144
144
|
requirement: !ruby/object:Gem::Requirement
|
145
145
|
requirements:
|
146
|
-
- -
|
146
|
+
- - ~>
|
147
147
|
- !ruby/object:Gem::Version
|
148
148
|
version: 0.0.4
|
149
149
|
type: :runtime
|
150
150
|
prerelease: false
|
151
151
|
version_requirements: !ruby/object:Gem::Requirement
|
152
152
|
requirements:
|
153
|
-
- -
|
153
|
+
- - ~>
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: 0.0.4
|
156
156
|
- !ruby/object:Gem::Dependency
|
157
157
|
name: activesupport
|
158
158
|
requirement: !ruby/object:Gem::Requirement
|
159
159
|
requirements:
|
160
|
-
- -
|
160
|
+
- - '>='
|
161
161
|
- !ruby/object:Gem::Version
|
162
162
|
version: 3.2.15
|
163
163
|
type: :runtime
|
164
164
|
prerelease: false
|
165
165
|
version_requirements: !ruby/object:Gem::Requirement
|
166
166
|
requirements:
|
167
|
-
- -
|
167
|
+
- - '>='
|
168
168
|
- !ruby/object:Gem::Version
|
169
169
|
version: 3.2.15
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
171
|
name: nap
|
172
172
|
requirement: !ruby/object:Gem::Requirement
|
173
173
|
requirements:
|
174
|
-
- -
|
174
|
+
- - ~>
|
175
175
|
- !ruby/object:Gem::Version
|
176
176
|
version: '0.8'
|
177
177
|
type: :runtime
|
178
178
|
prerelease: false
|
179
179
|
version_requirements: !ruby/object:Gem::Requirement
|
180
180
|
requirements:
|
181
|
-
- -
|
181
|
+
- - ~>
|
182
182
|
- !ruby/object:Gem::Version
|
183
183
|
version: '0.8'
|
184
184
|
- !ruby/object:Gem::Dependency
|
185
185
|
name: bundler
|
186
186
|
requirement: !ruby/object:Gem::Requirement
|
187
187
|
requirements:
|
188
|
-
- -
|
188
|
+
- - ~>
|
189
189
|
- !ruby/object:Gem::Version
|
190
190
|
version: '1.3'
|
191
191
|
type: :development
|
192
192
|
prerelease: false
|
193
193
|
version_requirements: !ruby/object:Gem::Requirement
|
194
194
|
requirements:
|
195
|
-
- -
|
195
|
+
- - ~>
|
196
196
|
- !ruby/object:Gem::Version
|
197
197
|
version: '1.3'
|
198
198
|
- !ruby/object:Gem::Dependency
|
199
199
|
name: rake
|
200
200
|
requirement: !ruby/object:Gem::Requirement
|
201
201
|
requirements:
|
202
|
-
- -
|
202
|
+
- - '>='
|
203
203
|
- !ruby/object:Gem::Version
|
204
204
|
version: '0'
|
205
205
|
type: :development
|
206
206
|
prerelease: false
|
207
207
|
version_requirements: !ruby/object:Gem::Requirement
|
208
208
|
requirements:
|
209
|
-
- -
|
209
|
+
- - '>='
|
210
210
|
- !ruby/object:Gem::Version
|
211
211
|
version: '0'
|
212
212
|
- !ruby/object:Gem::Dependency
|
213
213
|
name: bacon
|
214
214
|
requirement: !ruby/object:Gem::Requirement
|
215
215
|
requirements:
|
216
|
-
- -
|
216
|
+
- - ~>
|
217
217
|
- !ruby/object:Gem::Version
|
218
218
|
version: '1.1'
|
219
219
|
type: :development
|
220
220
|
prerelease: false
|
221
221
|
version_requirements: !ruby/object:Gem::Requirement
|
222
222
|
requirements:
|
223
|
-
- -
|
223
|
+
- - ~>
|
224
224
|
- !ruby/object:Gem::Version
|
225
225
|
version: '1.1'
|
226
226
|
description: |-
|
@@ -240,49 +240,43 @@ executables:
|
|
240
240
|
extensions: []
|
241
241
|
extra_rdoc_files: []
|
242
242
|
files:
|
243
|
-
- CHANGELOG.md
|
244
|
-
- LICENSE
|
245
|
-
- README.md
|
246
|
-
- bin/pod
|
247
|
-
- bin/sandbox-pod
|
248
|
-
- lib/cocoapods.rb
|
249
|
-
- lib/cocoapods/command.rb
|
250
243
|
- lib/cocoapods/command/init.rb
|
251
244
|
- lib/cocoapods/command/inter_process_communication.rb
|
252
245
|
- lib/cocoapods/command/lib.rb
|
253
246
|
- lib/cocoapods/command/list.rb
|
254
247
|
- lib/cocoapods/command/outdated.rb
|
255
248
|
- lib/cocoapods/command/project.rb
|
256
|
-
- lib/cocoapods/command/repo.rb
|
257
249
|
- lib/cocoapods/command/repo/add.rb
|
258
250
|
- lib/cocoapods/command/repo/lint.rb
|
259
251
|
- lib/cocoapods/command/repo/list.rb
|
260
252
|
- lib/cocoapods/command/repo/push.rb
|
261
253
|
- lib/cocoapods/command/repo/remove.rb
|
262
254
|
- lib/cocoapods/command/repo/update.rb
|
255
|
+
- lib/cocoapods/command/repo.rb
|
263
256
|
- lib/cocoapods/command/search.rb
|
264
257
|
- lib/cocoapods/command/setup.rb
|
265
|
-
- lib/cocoapods/command/spec.rb
|
266
258
|
- lib/cocoapods/command/spec/cat.rb
|
267
259
|
- lib/cocoapods/command/spec/create.rb
|
268
260
|
- lib/cocoapods/command/spec/edit.rb
|
269
261
|
- lib/cocoapods/command/spec/lint.rb
|
270
262
|
- lib/cocoapods/command/spec/which.rb
|
263
|
+
- lib/cocoapods/command/spec.rb
|
264
|
+
- lib/cocoapods/command.rb
|
271
265
|
- lib/cocoapods/config.rb
|
272
|
-
- lib/cocoapods/downloader.rb
|
273
266
|
- lib/cocoapods/downloader/cache.rb
|
274
267
|
- lib/cocoapods/downloader/request.rb
|
275
268
|
- lib/cocoapods/downloader/response.rb
|
269
|
+
- lib/cocoapods/downloader.rb
|
276
270
|
- lib/cocoapods/executable.rb
|
277
|
-
- lib/cocoapods/external_sources.rb
|
278
271
|
- lib/cocoapods/external_sources/abstract_external_source.rb
|
279
272
|
- lib/cocoapods/external_sources/downloader_source.rb
|
280
273
|
- lib/cocoapods/external_sources/path_source.rb
|
281
274
|
- lib/cocoapods/external_sources/podspec_source.rb
|
275
|
+
- lib/cocoapods/external_sources.rb
|
282
276
|
- lib/cocoapods/gem_version.rb
|
283
|
-
- lib/cocoapods/generator/acknowledgements.rb
|
284
277
|
- lib/cocoapods/generator/acknowledgements/markdown.rb
|
285
278
|
- lib/cocoapods/generator/acknowledgements/plist.rb
|
279
|
+
- lib/cocoapods/generator/acknowledgements.rb
|
286
280
|
- lib/cocoapods/generator/bridge_support.rb
|
287
281
|
- lib/cocoapods/generator/copy_resources_script.rb
|
288
282
|
- lib/cocoapods/generator/dummy_source.rb
|
@@ -293,47 +287,53 @@ files:
|
|
293
287
|
- lib/cocoapods/generator/prefix_header.rb
|
294
288
|
- lib/cocoapods/generator/target_environment_header.rb
|
295
289
|
- lib/cocoapods/generator/umbrella_header.rb
|
296
|
-
- lib/cocoapods/generator/xcconfig.rb
|
297
290
|
- lib/cocoapods/generator/xcconfig/aggregate_xcconfig.rb
|
298
291
|
- lib/cocoapods/generator/xcconfig/private_pod_xcconfig.rb
|
299
292
|
- lib/cocoapods/generator/xcconfig/public_pod_xcconfig.rb
|
300
293
|
- lib/cocoapods/generator/xcconfig/xcconfig_helper.rb
|
294
|
+
- lib/cocoapods/generator/xcconfig.rb
|
301
295
|
- lib/cocoapods/hooks/installer_representation.rb
|
302
296
|
- lib/cocoapods/hooks/library_representation.rb
|
303
297
|
- lib/cocoapods/hooks/pod_representation.rb
|
304
298
|
- lib/cocoapods/hooks_manager.rb
|
305
|
-
- lib/cocoapods/installer.rb
|
306
|
-
- lib/cocoapods/installer/analyzer.rb
|
307
299
|
- lib/cocoapods/installer/analyzer/locking_dependency_analyzer.rb
|
308
300
|
- lib/cocoapods/installer/analyzer/sandbox_analyzer.rb
|
301
|
+
- lib/cocoapods/installer/analyzer.rb
|
309
302
|
- lib/cocoapods/installer/file_references_installer.rb
|
310
303
|
- lib/cocoapods/installer/hooks_context.rb
|
311
304
|
- lib/cocoapods/installer/migrator.rb
|
312
305
|
- lib/cocoapods/installer/pod_source_installer.rb
|
313
306
|
- lib/cocoapods/installer/pod_source_preparer.rb
|
314
|
-
- lib/cocoapods/installer/target_installer.rb
|
315
307
|
- lib/cocoapods/installer/target_installer/aggregate_target_installer.rb
|
316
308
|
- lib/cocoapods/installer/target_installer/pod_target_installer.rb
|
317
|
-
- lib/cocoapods/installer/
|
318
|
-
- lib/cocoapods/installer/user_project_integrator/target_integrator.rb
|
309
|
+
- lib/cocoapods/installer/target_installer.rb
|
319
310
|
- lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb
|
311
|
+
- lib/cocoapods/installer/user_project_integrator/target_integrator.rb
|
312
|
+
- lib/cocoapods/installer/user_project_integrator.rb
|
313
|
+
- lib/cocoapods/installer.rb
|
320
314
|
- lib/cocoapods/open_uri.rb
|
321
315
|
- lib/cocoapods/project.rb
|
322
|
-
- lib/cocoapods/resolver.rb
|
323
316
|
- lib/cocoapods/resolver/lazy_specification.rb
|
324
|
-
- lib/cocoapods/
|
317
|
+
- lib/cocoapods/resolver.rb
|
325
318
|
- lib/cocoapods/sandbox/file_accessor.rb
|
326
319
|
- lib/cocoapods/sandbox/headers_store.rb
|
327
320
|
- lib/cocoapods/sandbox/path_list.rb
|
328
321
|
- lib/cocoapods/sandbox/pod_dir_cleaner.rb
|
329
322
|
- lib/cocoapods/sandbox/podspec_finder.rb
|
323
|
+
- lib/cocoapods/sandbox.rb
|
330
324
|
- lib/cocoapods/sources_manager.rb
|
331
|
-
- lib/cocoapods/target.rb
|
332
325
|
- lib/cocoapods/target/aggregate_target.rb
|
333
326
|
- lib/cocoapods/target/pod_target.rb
|
334
|
-
- lib/cocoapods/
|
327
|
+
- lib/cocoapods/target.rb
|
335
328
|
- lib/cocoapods/user_interface/error_report.rb
|
329
|
+
- lib/cocoapods/user_interface.rb
|
336
330
|
- lib/cocoapods/validator.rb
|
331
|
+
- lib/cocoapods.rb
|
332
|
+
- bin/pod
|
333
|
+
- bin/sandbox-pod
|
334
|
+
- README.md
|
335
|
+
- LICENSE
|
336
|
+
- CHANGELOG.md
|
337
337
|
homepage: https://github.com/CocoaPods/CocoaPods
|
338
338
|
licenses:
|
339
339
|
- MIT
|
@@ -344,17 +344,17 @@ require_paths:
|
|
344
344
|
- lib
|
345
345
|
required_ruby_version: !ruby/object:Gem::Requirement
|
346
346
|
requirements:
|
347
|
-
- -
|
347
|
+
- - '>='
|
348
348
|
- !ruby/object:Gem::Version
|
349
349
|
version: 2.0.0
|
350
350
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
351
351
|
requirements:
|
352
|
-
- -
|
352
|
+
- - '>='
|
353
353
|
- !ruby/object:Gem::Version
|
354
354
|
version: '0'
|
355
355
|
requirements: []
|
356
356
|
rubyforge_project:
|
357
|
-
rubygems_version: 2.
|
357
|
+
rubygems_version: 2.0.14
|
358
358
|
signing_key:
|
359
359
|
specification_version: 3
|
360
360
|
summary: The Cocoa library package manager.
|