cocoapods 0.15.0 → 0.15.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +22 -1
- data/LICENSE +2 -1
- data/lib/cocoapods.rb +3 -3
- data/lib/cocoapods/command/outdated.rb +3 -1
- data/lib/cocoapods/local_pod.rb +5 -3
- data/lib/cocoapods/lockfile.rb +5 -1
- data/lib/cocoapods/podfile.rb +5 -1
- data/lib/cocoapods/source.rb +15 -3
- data/lib/cocoapods/specification/statistics.rb +1 -1
- data/lib/cocoapods/user_interface/ui_pod.rb +1 -1
- metadata +7 -4
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,32 @@
|
|
1
1
|
## Master
|
2
2
|
|
3
|
-
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.15.
|
3
|
+
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.15.1...master)
|
4
|
+
|
5
|
+
## 0.15.1
|
6
|
+
|
7
|
+
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.15.0...0.15.1)
|
8
|
+
|
9
|
+
###### Enhancements
|
10
|
+
|
11
|
+
- Show error if syntax error in Podfile or Podfile.lock.
|
12
|
+
|
13
|
+
###### Bug fixes
|
14
|
+
|
15
|
+
- Fixed an issue that lead to empty directories for Pods.
|
16
|
+
[#519](https://github.com/CocoaPods/CocoaPods/issues/519)
|
17
|
+
[#568](https://github.com/CocoaPods/CocoaPods/issues/568)
|
18
|
+
- Fixed a crash related to the RubyGems version informative.
|
19
|
+
[#570](https://github.com/CocoaPods/CocoaPods/issues/570)
|
20
|
+
- Fixed a crash for `pod outdated`.
|
21
|
+
[#567](https://github.com/CocoaPods/CocoaPods/issues/567)
|
22
|
+
- Fixed an issue that lead to excessively slow sets computation.
|
4
23
|
|
5
24
|
## 0.15.0
|
6
25
|
|
7
26
|
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.14.0...0.15.0) • [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.3.3...0.3.4)
|
8
27
|
|
9
28
|
###### Enhancements
|
29
|
+
|
10
30
|
- Pod `install` will update the specs repo only if needed.
|
11
31
|
[#533](https://github.com/CocoaPods/CocoaPods/issues/533)
|
12
32
|
- CocoaPods now searches for the highest version of a Pod on all the repos.
|
@@ -29,6 +49,7 @@
|
|
29
49
|
|
30
50
|
|
31
51
|
###### Bug fixes
|
52
|
+
|
32
53
|
- Subspecs namespacing has been restored.
|
33
54
|
[#541](https://github.com/CocoaPods/CocoaPods/issues/541)
|
34
55
|
- Improvements to the git cache that should be more robust.
|
data/LICENSE
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
Copyright (c) 2012 Eloy Durán <eloy.de.enige@gmail.com>
|
1
|
+
Copyright (c) 2011 - 2012 Eloy Durán <eloy.de.enige@gmail.com>
|
2
|
+
Copyright (c) 2012 Fabio Pelosin <fabiopelosin@gmail.com>
|
2
3
|
|
3
4
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
5
|
of this software and associated documentation files (the "Software"), to deal
|
data/lib/cocoapods.rb
CHANGED
@@ -7,12 +7,12 @@ require 'rubygems'
|
|
7
7
|
#
|
8
8
|
# E.g. https://github.com/CocoaPods/CocoaPods/issues/398
|
9
9
|
unless Gem::Version::Requirement.new('>= 1.4.0').satisfied_by?(Gem::Version.new(Gem::VERSION))
|
10
|
-
STDERR.puts "Your RubyGems version (
|
10
|
+
STDERR.puts "\e[1;31m" + "Your RubyGems version (1.8.24) is too old, please update with: `gem update --system`" + "\e[0m"
|
11
11
|
exit 1
|
12
12
|
end
|
13
13
|
|
14
14
|
module Pod
|
15
|
-
VERSION = '0.15.
|
15
|
+
VERSION = '0.15.1'
|
16
16
|
|
17
17
|
class PlainInformative < StandardError
|
18
18
|
end
|
@@ -64,6 +64,6 @@ class Pathname
|
|
64
64
|
end
|
65
65
|
|
66
66
|
if ENV['COCOA_PODS_ENV'] == 'development'
|
67
|
-
require '
|
67
|
+
require 'letters'
|
68
68
|
require 'awesome_print'
|
69
69
|
end
|
@@ -22,7 +22,6 @@ module Pod
|
|
22
22
|
def run
|
23
23
|
verify_podfile_exists!
|
24
24
|
verify_lockfile_exists!
|
25
|
-
update_spec_repos_if_necessary!
|
26
25
|
|
27
26
|
sandbox = Sandbox.new(config.project_pods_root)
|
28
27
|
resolver = Resolver.new(config.podfile, config.lockfile, sandbox)
|
@@ -30,6 +29,9 @@ module Pod
|
|
30
29
|
resolver.update_external_specs = false
|
31
30
|
resolver.resolve
|
32
31
|
|
32
|
+
#TODO: the command report new dependencies (added to by updated ones)
|
33
|
+
# as updates.
|
34
|
+
|
33
35
|
names = resolver.pods_to_install - resolver.pods_from_external_sources
|
34
36
|
specs = resolver.specs.select do |spec|
|
35
37
|
names.include?(spec.name) && !spec.version.head?
|
data/lib/cocoapods/local_pod.rb
CHANGED
@@ -163,12 +163,14 @@ module Pod
|
|
163
163
|
#
|
164
164
|
# @return [Array<Strings>] The paths that can be deleted.
|
165
165
|
#
|
166
|
+
# @note The Paths are downcased to prevent issues. See #568.
|
167
|
+
#
|
166
168
|
def clean_paths
|
167
|
-
|
168
|
-
files = Dir.glob(root + "**/*", File::FNM_DOTMATCH)
|
169
|
+
used = used_files.map(&:downcase)
|
170
|
+
files = Dir.glob(root + "**/*", File::FNM_DOTMATCH).map(&:downcase)
|
169
171
|
|
170
172
|
files.reject! do |candidate|
|
171
|
-
candidate.end_with?('.', '..') ||
|
173
|
+
candidate.end_with?('.', '..') || used.any? do |path|
|
172
174
|
path.include?(candidate) || candidate.include?(path)
|
173
175
|
end
|
174
176
|
end
|
data/lib/cocoapods/lockfile.rb
CHANGED
@@ -8,7 +8,11 @@ module Pod
|
|
8
8
|
#
|
9
9
|
def self.from_file(path)
|
10
10
|
return nil unless path.exist?
|
11
|
-
|
11
|
+
begin
|
12
|
+
hash = YAML.load(File.open(path))
|
13
|
+
rescue Exception => e
|
14
|
+
raise Informative, "Podfile.lock syntax error: #{e.inspect}"
|
15
|
+
end
|
12
16
|
lockfile = Lockfile.new(hash)
|
13
17
|
lockfile.defined_in_file = path
|
14
18
|
lockfile
|
data/lib/cocoapods/podfile.rb
CHANGED
@@ -177,7 +177,11 @@ module Pod
|
|
177
177
|
string = File.open(path, 'r:utf-8') { |f| f.read }
|
178
178
|
# TODO: work around for Rubinius incomplete encoding in 1.9 mode
|
179
179
|
string.encode!('UTF-8') if string.respond_to?(:encoding) && string.encoding.name != "UTF-8"
|
180
|
-
|
180
|
+
begin
|
181
|
+
eval(string, nil, path.to_s)
|
182
|
+
rescue Exception => e
|
183
|
+
raise Informative, "Podfile syntax error: #{e.inspect}"
|
184
|
+
end
|
181
185
|
end
|
182
186
|
podfile.defined_in_file = path
|
183
187
|
podfile.validate!
|
data/lib/cocoapods/source.rb
CHANGED
@@ -128,10 +128,22 @@ module Pod
|
|
128
128
|
|
129
129
|
# @return [Array<Set>] The sets for all the pods available.
|
130
130
|
#
|
131
|
+
# @note Implementation detail: The sources don't cache their values
|
132
|
+
# because they might change in response to an update. Therefore
|
133
|
+
# this method to prevent slowness caches the values before
|
134
|
+
# processing them.
|
135
|
+
#
|
131
136
|
def all_sets
|
132
|
-
|
133
|
-
|
134
|
-
|
137
|
+
pods_by_source = {}
|
138
|
+
all.each do |source|
|
139
|
+
pods_by_source[source] = source.pods
|
140
|
+
end
|
141
|
+
sources = pods_by_source.keys
|
142
|
+
pods = pods_by_source.values.flatten.uniq
|
143
|
+
|
144
|
+
pods.map do |pod|
|
145
|
+
pod_sources = sources.select{ |s| pods_by_source[s].include?(pod) }.compact
|
146
|
+
Specification::Set.new(pod, pod_sources)
|
135
147
|
end
|
136
148
|
end
|
137
149
|
|
@@ -90,7 +90,7 @@ module Pod
|
|
90
90
|
def github_stats_if_needed(set)
|
91
91
|
return if get_value(set, :gh_date) && get_value(set, :gh_date) > Time.now - cache_expiration
|
92
92
|
spec = set.specification
|
93
|
-
url = spec.source
|
93
|
+
url = spec.source[:git] || ''
|
94
94
|
repo_id = url[/github.com\/([^\/\.]*\/[^\/\.]*)\.*/, 1]
|
95
95
|
return unless repo_id
|
96
96
|
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Eloy Duran
|
9
|
+
- Fabio Pelosin
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
13
|
+
date: 2012-10-04 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: xcodeproj
|
@@ -181,7 +182,9 @@ description: ! 'CocoaPods manages library dependencies for your Xcode project.
|
|
181
182
|
|
182
183
|
Ultimately, the goal is to improve discoverability of, and engagement in, third
|
183
184
|
party open-source libraries, by creating a more centralized ecosystem.'
|
184
|
-
email:
|
185
|
+
email:
|
186
|
+
- eloy.de.enige@gmail.com
|
187
|
+
- fabiopelosin@gmail.com
|
185
188
|
executables:
|
186
189
|
- pod
|
187
190
|
extensions: []
|
@@ -253,7 +256,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
253
256
|
version: '0'
|
254
257
|
segments:
|
255
258
|
- 0
|
256
|
-
hash: -
|
259
|
+
hash: -3399336200991652352
|
257
260
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
258
261
|
none: false
|
259
262
|
requirements:
|