cocoapods 0.19.1 → 0.20.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +80 -2
- data/README.md +3 -2
- data/bin/sandbox-pod +130 -0
- data/lib/cocoapods.rb +1 -3
- data/lib/cocoapods/command.rb +1 -0
- data/lib/cocoapods/command/help.rb +2 -2
- data/lib/cocoapods/command/project.rb +0 -2
- data/lib/cocoapods/command/search.rb +6 -6
- data/lib/cocoapods/config.rb +94 -50
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/copy_resources_script.rb +87 -18
- data/lib/cocoapods/installer.rb +9 -11
- data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +1 -1
- data/lib/cocoapods/installer/pod_source_installer.rb +6 -38
- data/lib/cocoapods/installer/target_installer.rb +6 -6
- data/lib/cocoapods/resolver.rb +4 -1
- data/lib/cocoapods/sandbox.rb +34 -1
- data/lib/cocoapods/user_interface.rb +1 -1
- data/lib/cocoapods/user_interface/error_report.rb +1 -1
- data/lib/cocoapods/validator.rb +0 -1
- metadata +93 -14
- data/lib/cocoapods/generator/documentation.rb +0 -217
@@ -1,9 +1,88 @@
|
|
1
1
|
module Pod
|
2
2
|
module Generator
|
3
3
|
class CopyResourcesScript
|
4
|
-
|
4
|
+
|
5
|
+
# @return [Array<#to_s>] A list of files relative to the project pods
|
6
|
+
# root.
|
7
|
+
#
|
8
|
+
attr_reader :resources
|
9
|
+
|
10
|
+
# @return [Platform] The platform of the library for which the copy
|
11
|
+
# resources script is needed.
|
12
|
+
#
|
13
|
+
attr_reader :platform
|
14
|
+
|
15
|
+
# @param [Array<#to_s>] resources @see resources
|
16
|
+
# @param [Platform] platform @see platform
|
17
|
+
#
|
18
|
+
def initialize(resources, platform)
|
19
|
+
@resources = resources
|
20
|
+
@platform = platform
|
21
|
+
end
|
22
|
+
|
23
|
+
# Saves the resource script to the given pathname.
|
24
|
+
#
|
25
|
+
# @param [Pathname] pathname
|
26
|
+
# The path where the copy resources script should be saved.
|
27
|
+
#
|
28
|
+
# @return [void]
|
29
|
+
#
|
30
|
+
def save_as(pathname)
|
31
|
+
pathname.open('w') do |file|
|
32
|
+
file.puts(script)
|
33
|
+
end
|
34
|
+
File.chmod(0755, pathname.to_s)
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
# @!group Private Helpers
|
40
|
+
|
41
|
+
# @return [Hash{Symbol=>Version}] The minimum deployment target which
|
42
|
+
# supports the `--reference-external-strings-file` option for
|
43
|
+
# the `ibtool` command.
|
44
|
+
#
|
45
|
+
EXTERNAL_STRINGS_FILE_MIMINUM_DEPLOYMENT_TARGET = {
|
46
|
+
:ios => Version.new('6.0'),
|
47
|
+
:osx => Version.new('10.8')
|
48
|
+
}
|
49
|
+
|
50
|
+
# @return [Bool] Whether the external strings file is supported by the
|
51
|
+
# `ibtool` according to the deployment target of the platform.
|
52
|
+
#
|
53
|
+
def use_external_strings_file?
|
54
|
+
minimum_deployment_target = EXTERNAL_STRINGS_FILE_MIMINUM_DEPLOYMENT_TARGET[platform.name]
|
55
|
+
platform.deployment_target >= minimum_deployment_target
|
56
|
+
end
|
57
|
+
|
58
|
+
# @return [String] The install resources shell function.
|
59
|
+
#
|
60
|
+
def install_resources_function
|
61
|
+
if use_external_strings_file?
|
62
|
+
INSTALL_RESOURCES_FUCTION
|
63
|
+
else
|
64
|
+
INSTALL_RESOURCES_FUCTION.gsub(' --reference-external-strings-file', '')
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
# @return [String] The contents of the copy resources script.
|
69
|
+
#
|
70
|
+
def script
|
71
|
+
script = install_resources_function
|
72
|
+
resources.each do |resource|
|
73
|
+
script += "install_resource '#{resource}'\n"
|
74
|
+
end
|
75
|
+
script += RSYNC_CALL
|
76
|
+
script
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
INSTALL_RESOURCES_FUCTION = <<EOS
|
5
81
|
#!/bin/sh
|
6
82
|
|
83
|
+
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy.txt
|
84
|
+
touch "$RESOURCES_TO_COPY"
|
85
|
+
|
7
86
|
install_resource()
|
8
87
|
{
|
9
88
|
case $1 in
|
@@ -24,30 +103,20 @@ install_resource()
|
|
24
103
|
xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename $1 .xcdatamodeld`.momd"
|
25
104
|
;;
|
26
105
|
*)
|
27
|
-
echo "
|
28
|
-
|
106
|
+
echo "${PODS_ROOT}/$1"
|
107
|
+
echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY"
|
29
108
|
;;
|
30
109
|
esac
|
31
110
|
}
|
32
111
|
EOS
|
33
112
|
|
34
|
-
attr_reader :resources
|
35
113
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
114
|
+
RSYNC_CALL = <<EOS
|
115
|
+
|
116
|
+
rsync -avr --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
117
|
+
rm "$RESOURCES_TO_COPY"
|
118
|
+
EOS
|
40
119
|
|
41
|
-
def save_as(pathname)
|
42
|
-
pathname.open('w') do |script|
|
43
|
-
script.puts CONTENT
|
44
|
-
@resources.each do |resource|
|
45
|
-
script.puts "install_resource '#{resource}'"
|
46
|
-
end
|
47
|
-
end
|
48
|
-
# @todo use File api
|
49
|
-
system("chmod +x '#{pathname}'")
|
50
|
-
end
|
51
120
|
end
|
52
121
|
end
|
53
122
|
end
|
data/lib/cocoapods/installer.rb
CHANGED
@@ -254,8 +254,6 @@ module Pod
|
|
254
254
|
@pod_installers ||= []
|
255
255
|
pod_installer = PodSourceInstaller.new(sandbox, specs_by_platform)
|
256
256
|
pod_installer.aggressive_cache = config.aggressive_cache?
|
257
|
-
pod_installer.generate_docs = config.generate_docs?
|
258
|
-
pod_installer.install_docs = config.install_docs?
|
259
257
|
pod_installer.install!
|
260
258
|
@pod_installers << pod_installer
|
261
259
|
@installed_specs.concat(specs_by_platform.values.flatten.uniq)
|
@@ -282,7 +280,7 @@ module Pod
|
|
282
280
|
def prepare_pods_project
|
283
281
|
UI.message "- Creating Pods project" do
|
284
282
|
@pods_project = Pod::Project.new(sandbox.project_path)
|
285
|
-
if config.podfile_path
|
283
|
+
if config.podfile_path
|
286
284
|
@pods_project.add_podfile(config.podfile_path)
|
287
285
|
end
|
288
286
|
sandbox.project = @pods_project
|
@@ -416,8 +414,8 @@ module Pod
|
|
416
414
|
def run_spec_pre_install_hook(spec, lib_representation)
|
417
415
|
spec.pre_install!(pod_rep(spec.root.name), lib_representation)
|
418
416
|
rescue => e
|
419
|
-
raise Informative, "
|
420
|
-
"
|
417
|
+
raise Informative, "An error occurred while processing the pre-install " \
|
418
|
+
"hook of #{spec}." \
|
421
419
|
"\n\n#{e.message}\n\n#{e.backtrace * "\n"}"
|
422
420
|
end
|
423
421
|
|
@@ -430,8 +428,8 @@ module Pod
|
|
430
428
|
def run_podfile_pre_install_hook
|
431
429
|
podfile.pre_install!(installer_rep)
|
432
430
|
rescue => e
|
433
|
-
raise Informative, "
|
434
|
-
"
|
431
|
+
raise Informative, "An error occurred while processing the pre-install " \
|
432
|
+
"hook of the Podfile." \
|
435
433
|
"\n\n#{e.message}\n\n#{e.backtrace * "\n"}"
|
436
434
|
end
|
437
435
|
|
@@ -475,8 +473,8 @@ module Pod
|
|
475
473
|
def run_spec_post_install_hook(spec, lib_representation)
|
476
474
|
spec.post_install!(lib_representation)
|
477
475
|
rescue => e
|
478
|
-
raise Informative, "
|
479
|
-
"
|
476
|
+
raise Informative, "An error occurred while processing the post-install " \
|
477
|
+
"hook of #{spec}." \
|
480
478
|
"\n\n#{e.message}\n\n#{e.backtrace * "\n"}"
|
481
479
|
end
|
482
480
|
|
@@ -489,8 +487,8 @@ module Pod
|
|
489
487
|
def run_podfile_post_install_hook
|
490
488
|
podfile.post_install!(installer_rep)
|
491
489
|
rescue => e
|
492
|
-
raise Informative, "
|
493
|
-
"
|
490
|
+
raise Informative, "An error occurred while processing the post-install " \
|
491
|
+
"hook of the Podfile." \
|
494
492
|
"\n\n#{e.message}\n\n#{e.backtrace * "\n"}"
|
495
493
|
end
|
496
494
|
|
@@ -24,8 +24,6 @@ module Pod
|
|
24
24
|
@sandbox = sandbox
|
25
25
|
@specs_by_platform = specs_by_platform
|
26
26
|
|
27
|
-
@generate_docs = false
|
28
|
-
@install_docs = false
|
29
27
|
@aggressive_cache = false
|
30
28
|
end
|
31
29
|
|
@@ -41,18 +39,6 @@ module Pod
|
|
41
39
|
|
42
40
|
# @!group Configuration
|
43
41
|
|
44
|
-
# @return [Bool] whether the documentation should be generated for the
|
45
|
-
# Pod.
|
46
|
-
#
|
47
|
-
attr_accessor :generate_docs
|
48
|
-
alias_method :generate_docs?, :generate_docs
|
49
|
-
|
50
|
-
# @return [Bool] whether the generated documentation should be installed
|
51
|
-
# in Xcode.
|
52
|
-
#
|
53
|
-
attr_accessor :install_docs
|
54
|
-
alias_method :install_docs?, :install_docs
|
55
|
-
|
56
42
|
# @return [Bool] whether the downloader should always check against the
|
57
43
|
# remote if issues might be generated (mostly useful to speed up
|
58
44
|
# testing).
|
@@ -73,8 +59,7 @@ module Pod
|
|
73
59
|
# @return [void]
|
74
60
|
#
|
75
61
|
def install!
|
76
|
-
download_source
|
77
|
-
generate_docs if generate_docs?
|
62
|
+
download_source unless predownloaded? || local?
|
78
63
|
end
|
79
64
|
|
80
65
|
# Cleans the installations if appropriate.
|
@@ -106,7 +91,7 @@ module Pod
|
|
106
91
|
#
|
107
92
|
def download_source
|
108
93
|
root.rmtree if root.exist?
|
109
|
-
if
|
94
|
+
if head_pod?
|
110
95
|
downloader.download_head
|
111
96
|
@specific_source = downloader.checkout_options
|
112
97
|
else
|
@@ -121,20 +106,6 @@ module Pod
|
|
121
106
|
end
|
122
107
|
end
|
123
108
|
|
124
|
-
# Generates the documentation for the Pod.
|
125
|
-
#
|
126
|
-
# @return [void]
|
127
|
-
#
|
128
|
-
def generate_docs
|
129
|
-
if documentation_generator.already_installed?
|
130
|
-
UI.section " > Using existing documentation"
|
131
|
-
else
|
132
|
-
UI.section " > Installing documentation" do
|
133
|
-
documentation_generator.generate(install_docs?)
|
134
|
-
end
|
135
|
-
end
|
136
|
-
end
|
137
|
-
|
138
109
|
# Removes all the files not needed for the installation according to the
|
139
110
|
# specs by platform.
|
140
111
|
#
|
@@ -162,13 +133,6 @@ module Pod
|
|
162
133
|
@downloader
|
163
134
|
end
|
164
135
|
|
165
|
-
# @return [Generator::Documentation] The documentation generator to use
|
166
|
-
# for generating the documentation.
|
167
|
-
#
|
168
|
-
def documentation_generator
|
169
|
-
@documentation_generator ||= Generator::Documentation.new(sandbox, root_spec, path_list)
|
170
|
-
end
|
171
|
-
|
172
136
|
#-----------------------------------------------------------------------#
|
173
137
|
|
174
138
|
private
|
@@ -208,6 +172,10 @@ module Pod
|
|
208
172
|
sandbox.local?(root_spec.name)
|
209
173
|
end
|
210
174
|
|
175
|
+
def head_pod?
|
176
|
+
sandbox.head_pod?(root_spec.name)
|
177
|
+
end
|
178
|
+
|
211
179
|
#-----------------------------------------------------------------------#
|
212
180
|
|
213
181
|
private
|
@@ -89,11 +89,6 @@ module Pod
|
|
89
89
|
library.target = @target
|
90
90
|
end
|
91
91
|
|
92
|
-
ENABLE_OBJECT_USE_OBJC_FROM = {
|
93
|
-
:ios => Version.new('6'),
|
94
|
-
:osx => Version.new('10.8')
|
95
|
-
}
|
96
|
-
|
97
92
|
# Adds the build files of the pods to the target and adds a reference to
|
98
93
|
# the frameworks of the Pods.
|
99
94
|
#
|
@@ -222,7 +217,7 @@ module Pod
|
|
222
217
|
UI.message "- Generating copy resources script at #{UI.path(path)}" do
|
223
218
|
resources = library.file_accessors.map { |accessor| accessor.resources.flatten.map {|res| project.relativize(res)} }.flatten
|
224
219
|
resources << bridge_support_file if bridge_support_file
|
225
|
-
generator = Generator::CopyResourcesScript.new(resources)
|
220
|
+
generator = Generator::CopyResourcesScript.new(resources, library.platform)
|
226
221
|
generator.save_as(path)
|
227
222
|
add_file_to_support_group(path)
|
228
223
|
end
|
@@ -314,6 +309,11 @@ module Pod
|
|
314
309
|
support_files_group.new_file(relative_path)
|
315
310
|
end
|
316
311
|
|
312
|
+
ENABLE_OBJECT_USE_OBJC_FROM = {
|
313
|
+
:ios => Version.new('6'),
|
314
|
+
:osx => Version.new('10.8')
|
315
|
+
}
|
316
|
+
|
317
317
|
# Returns the compiler flags for the source files of the given specification.
|
318
318
|
#
|
319
319
|
# The following behavior is regarding the `OS_OBJECT_USE_OBJC` flag. When
|
data/lib/cocoapods/resolver.rb
CHANGED
@@ -158,7 +158,10 @@ module Pod
|
|
158
158
|
@loaded_specs << spec.name
|
159
159
|
cached_specs[spec.name] = spec
|
160
160
|
validate_platform(spec, target_definition)
|
161
|
-
|
161
|
+
if dependency.head? || sandbox.head_pod?(spec.name)
|
162
|
+
spec.version.head = true
|
163
|
+
sandbox.store_head_pod(spec.name)
|
164
|
+
end
|
162
165
|
|
163
166
|
spec_dependencies = spec.all_dependencies(target_definition.platform)
|
164
167
|
find_dependency_specs(spec, spec_dependencies, target_definition)
|
data/lib/cocoapods/sandbox.rb
CHANGED
@@ -70,6 +70,7 @@ module Pod
|
|
70
70
|
@build_headers = HeadersStore.new(self, "BuildHeaders")
|
71
71
|
@public_headers = HeadersStore.new(self, "Headers")
|
72
72
|
@predownloaded_pods = []
|
73
|
+
@head_pods = []
|
73
74
|
@checkout_sources = {}
|
74
75
|
@local_pods = {}
|
75
76
|
FileUtils.mkdir_p(@root)
|
@@ -94,8 +95,9 @@ module Pod
|
|
94
95
|
root.rmtree
|
95
96
|
end
|
96
97
|
|
98
|
+
# Removes the files of the Pod with the given name from the sandbox.
|
97
99
|
#
|
98
|
-
#
|
100
|
+
# @return [void]
|
99
101
|
#
|
100
102
|
def clean_pod(name)
|
101
103
|
root_name = Specification.root_name(name)
|
@@ -279,6 +281,37 @@ module Pod
|
|
279
281
|
|
280
282
|
#--------------------------------------#
|
281
283
|
|
284
|
+
# Marks a Pod as head.
|
285
|
+
#
|
286
|
+
# @param [String] name
|
287
|
+
# The name of the Pod.
|
288
|
+
#
|
289
|
+
# @return [void]
|
290
|
+
#
|
291
|
+
def store_head_pod(name)
|
292
|
+
root_name = Specification.root_name(name)
|
293
|
+
head_pods << root_name
|
294
|
+
end
|
295
|
+
|
296
|
+
# @return [Array<String>] The names of the pods that have been
|
297
|
+
# marked as head.
|
298
|
+
#
|
299
|
+
attr_reader :head_pods
|
300
|
+
|
301
|
+
# Checks if a Pod should attempt to use the head source of the git repo.
|
302
|
+
#
|
303
|
+
# @param [String] name
|
304
|
+
# The name of the Pod.
|
305
|
+
#
|
306
|
+
# @return [Bool] Whether the Pod has been marked as head.
|
307
|
+
#
|
308
|
+
def head_pod?(name)
|
309
|
+
root_name = Specification.root_name(name)
|
310
|
+
head_pods.include?(root_name)
|
311
|
+
end
|
312
|
+
|
313
|
+
#--------------------------------------#
|
314
|
+
|
282
315
|
# Stores the local path of a Pod.
|
283
316
|
#
|
284
317
|
# @param [String] name
|
@@ -148,7 +148,7 @@ module Pod
|
|
148
148
|
#
|
149
149
|
def path(pathname)
|
150
150
|
if pathname
|
151
|
-
path = pathname.relative_path_from(config.podfile_path.dirname || Pathname.pwd)
|
151
|
+
path = pathname.relative_path_from((config.podfile_path.dirname if config.podfile_path) || Pathname.pwd)
|
152
152
|
"`#{path}`"
|
153
153
|
else
|
154
154
|
''
|
@@ -45,7 +45,7 @@ Repositories : #{repo_information.join("\n ")}
|
|
45
45
|
#{'[!] Oh no, an error occurred.'.red}
|
46
46
|
#{error_from_podfile(exception)}
|
47
47
|
#{'Search for existing github issues similar to yours:'.yellow}
|
48
|
-
#{"https://github.com/CocoaPods/CocoaPods/
|
48
|
+
#{"https://github.com/CocoaPods/CocoaPods/search?q=#{CGI.escape(exception.message)}&type=Issues"}
|
49
49
|
|
50
50
|
#{'If none exists, create a ticket, with the template displayed above, on:'.yellow}
|
51
51
|
https://github.com/CocoaPods/CocoaPods/issues/new
|
data/lib/cocoapods/validator.rb
CHANGED
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.
|
4
|
+
version: 0.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cocoapods-core
|
@@ -17,56 +17,56 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - '='
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.
|
20
|
+
version: 0.20.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
|
-
version: 0.
|
27
|
+
version: 0.20.0
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: claide
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - ~>
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0.
|
34
|
+
version: 0.3.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - ~>
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 0.
|
41
|
+
version: 0.3.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: cocoapods-downloader
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - ~>
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: 0.1.
|
48
|
+
version: 0.1.1
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 0.1.
|
55
|
+
version: 0.1.1
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: xcodeproj
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
60
|
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.
|
62
|
+
version: 0.6.0
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - ~>
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
69
|
+
version: 0.6.0
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: faraday
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,14 +129,14 @@ dependencies:
|
|
129
129
|
requirements:
|
130
130
|
- - ~>
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: 1.
|
132
|
+
version: 1.8.0
|
133
133
|
type: :runtime
|
134
134
|
prerelease: false
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
137
|
- - ~>
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version: 1.
|
139
|
+
version: 1.8.0
|
140
140
|
- !ruby/object:Gem::Dependency
|
141
141
|
name: open4
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -230,7 +230,6 @@ files:
|
|
230
230
|
- lib/cocoapods/generator/acknowledgements.rb
|
231
231
|
- lib/cocoapods/generator/bridge_support.rb
|
232
232
|
- lib/cocoapods/generator/copy_resources_script.rb
|
233
|
-
- lib/cocoapods/generator/documentation.rb
|
234
233
|
- lib/cocoapods/generator/dummy_source.rb
|
235
234
|
- lib/cocoapods/generator/prefix_header.rb
|
236
235
|
- lib/cocoapods/generator/target_environment_header.rb
|
@@ -260,6 +259,7 @@ files:
|
|
260
259
|
- lib/cocoapods/validator.rb
|
261
260
|
- lib/cocoapods.rb
|
262
261
|
- bin/pod
|
262
|
+
- bin/sandbox-pod
|
263
263
|
- README.md
|
264
264
|
- LICENSE
|
265
265
|
- CHANGELOG.md
|
@@ -267,7 +267,86 @@ homepage: https://github.com/CocoaPods/CocoaPods
|
|
267
267
|
licenses:
|
268
268
|
- MIT
|
269
269
|
metadata: {}
|
270
|
-
post_install_message:
|
270
|
+
post_install_message: |2+
|
271
|
+
|
272
|
+
CHANGELOG:
|
273
|
+
|
274
|
+
## 0.20.0
|
275
|
+
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.19.0...0.20.0)
|
276
|
+
• [cocoapods-core](https://github.com/CocoaPods/Core/compare/0.19.0...0.20.0)
|
277
|
+
• [cocoapods-downloader](https://github.com/CocoaPods/CLAide/compare/0.1.0...0.1.1)
|
278
|
+
• [Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.5.5...0.6.0)
|
279
|
+
• [CLAide](https://github.com/CocoaPods/CLAide/compare/0.2.0...0.3.0)
|
280
|
+
|
281
|
+
###### Enhancements
|
282
|
+
|
283
|
+
* Introduces an experimental sandbox feature.
|
284
|
+
[#939](https://github.com/CocoaPods/CocoaPods/issues/939)
|
285
|
+
|
286
|
+
Let’s face it, even though we have a great community that spends an amazing
|
287
|
+
amount of time on curating the specifications, the internet can be a hostile
|
288
|
+
place and the community is growing too large to take a naive approach any
|
289
|
+
longer.
|
290
|
+
|
291
|
+
As such, we have started leveraging OS X’s sandbox facilities to disallow
|
292
|
+
unsanctioned operations. This is still very experimental and therefore has to
|
293
|
+
be used explicitely, for now, but that does **not** mean we don’t want you to
|
294
|
+
start using it and **report issues**.
|
295
|
+
|
296
|
+
To use the sandbox, simply use the `sandbox-pod` command instead. E.g.:
|
297
|
+
|
298
|
+
$ sandbox-pod install
|
299
|
+
|
300
|
+
In case of issues, be sure to check `/var/log/system.log` for ‘deny’ messages.
|
301
|
+
For instance, here’s an example where the sandbox denies read access to `/`:
|
302
|
+
|
303
|
+
May 16 00:23:35 Khaos kernel[0]: Sandbox: ruby(98430) deny file-read-data /
|
304
|
+
|
305
|
+
**NOTE**: _The above example is actually one that we know of. We’re not sure
|
306
|
+
yet which process causes this, but there shouldn’t be a need for any process
|
307
|
+
to read data from the root path anyways._
|
308
|
+
|
309
|
+
**NOTE 2**: _At the moment the sandbox is not compatible with the `:path` option
|
310
|
+
when referencing Pods that are not stored within the directory of the Podfile._
|
311
|
+
|
312
|
+
* The naked `pod` command now defaults to `pod install`.
|
313
|
+
[#958](https://github.com/CocoaPods/CocoaPods/issues/958)
|
314
|
+
|
315
|
+
* CocoaPods will look for the Podfile in the ancestors paths if one is
|
316
|
+
not available in the working directory.
|
317
|
+
[#940](https://github.com/CocoaPods/CocoaPods/issues/940)
|
318
|
+
|
319
|
+
* Documentation generation has been removed from CocoaPods as it graduated
|
320
|
+
to CocoaDocs. This decision was taken because CocoaDocs is a much better
|
321
|
+
solution which doesn't clutter Xcode's docsets while still allowing
|
322
|
+
access to the docsets with Xcode and with Dash. Removing this feature
|
323
|
+
keeps the installer leaner and easier to develop and paves the way for the
|
324
|
+
upcoming sandbox. Private pods can use pre install hook to generate the
|
325
|
+
documentation. If there will be enough demand this feature might be
|
326
|
+
reintegrated as plugin (see
|
327
|
+
[#1037](https://github.com/CocoaPods/CocoaPods/issues/1037)).
|
328
|
+
|
329
|
+
* Improved performance of the copy resources script and thus build time of
|
330
|
+
the integrated targets. Contribution by [@onato](https://github.com/onato)
|
331
|
+
[#1050](https://github.com/CocoaPods/CocoaPods/issues/1050).
|
332
|
+
|
333
|
+
* The changelog for the current version is printed after CocoaPods is
|
334
|
+
installed/updated.
|
335
|
+
[#853](https://github.com/CocoaPods/CocoaPods/issues/853).
|
336
|
+
|
337
|
+
|
338
|
+
###### Bug fixes
|
339
|
+
|
340
|
+
* Inheriting `inhibit_warnings` per pod is now working
|
341
|
+
[#1032](https://github.com/CocoaPods/CocoaPods/issues/1032)
|
342
|
+
* Fix copy resources script for iOS < 6 and OS X < 10.8 by removing the
|
343
|
+
`--reference-external-strings-file`
|
344
|
+
flag. [#1030](https://github.com/CocoaPods/CocoaPods/pull/1030)
|
345
|
+
* Fixed issues with the `:head` option of the Podfile.
|
346
|
+
[#1046](https://github.com/CocoaPods/CocoaPods/issues/1046)
|
347
|
+
[#1039](https://github.com/CocoaPods/CocoaPods/issues/1039)
|
348
|
+
|
349
|
+
|
271
350
|
rdoc_options: []
|
272
351
|
require_paths:
|
273
352
|
- lib
|