cocoapods 0.37.2 → 0.38.0.beta.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +136 -1
- data/lib/cocoapods.rb +0 -5
- data/lib/cocoapods/command.rb +3 -0
- data/lib/cocoapods/command/cache.rb +28 -0
- data/lib/cocoapods/command/cache/clean.rb +90 -0
- data/lib/cocoapods/command/cache/list.rb +69 -0
- data/lib/cocoapods/command/lib.rb +11 -4
- data/lib/cocoapods/command/list.rb +4 -4
- data/lib/cocoapods/command/outdated.rb +1 -10
- data/lib/cocoapods/command/project.rb +3 -2
- data/lib/cocoapods/command/spec.rb +0 -17
- data/lib/cocoapods/command/spec/cat.rb +1 -1
- data/lib/cocoapods/command/spec/create.rb +1 -0
- data/lib/cocoapods/command/spec/edit.rb +1 -1
- data/lib/cocoapods/command/spec/lint.rb +10 -4
- data/lib/cocoapods/config.rb +6 -0
- data/lib/cocoapods/downloader/cache.rb +48 -1
- data/lib/cocoapods/executable.rb +27 -6
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/copy_resources_script.rb +1 -0
- data/lib/cocoapods/generator/embed_frameworks_script.rb +23 -28
- data/lib/cocoapods/generator/header.rb +5 -1
- data/lib/cocoapods/generator/umbrella_header.rb +1 -1
- data/lib/cocoapods/generator/xcconfig/aggregate_xcconfig.rb +139 -33
- data/lib/cocoapods/generator/xcconfig/private_pod_xcconfig.rb +2 -2
- data/lib/cocoapods/generator/xcconfig/xcconfig_helper.rb +3 -3
- data/lib/cocoapods/installer.rb +64 -109
- data/lib/cocoapods/installer/analyzer.rb +167 -336
- data/lib/cocoapods/installer/analyzer/analysis_result.rb +46 -0
- data/lib/cocoapods/installer/analyzer/specs_state.rb +76 -0
- data/lib/cocoapods/installer/analyzer/target_inspection_result.rb +41 -0
- data/lib/cocoapods/installer/analyzer/target_inspector.rb +203 -0
- data/lib/cocoapods/installer/file_references_installer.rb +48 -13
- data/lib/cocoapods/installer/podfile_validator.rb +86 -0
- data/lib/cocoapods/installer/{hooks_context.rb → post_install_hooks_context.rb} +3 -3
- data/lib/cocoapods/installer/pre_install_hooks_context.rb +41 -0
- data/lib/cocoapods/installer/target_installer.rb +1 -7
- data/lib/cocoapods/installer/target_installer/aggregate_target_installer.rb +15 -17
- data/lib/cocoapods/installer/target_installer/pod_target_installer.rb +4 -4
- data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +16 -16
- data/lib/cocoapods/sandbox/file_accessor.rb +20 -2
- data/lib/cocoapods/sandbox/path_list.rb +15 -13
- data/lib/cocoapods/sandbox/podspec_finder.rb +1 -0
- data/lib/cocoapods/sources_manager.rb +2 -0
- data/lib/cocoapods/target.rb +7 -37
- data/lib/cocoapods/target/aggregate_target.rb +25 -1
- data/lib/cocoapods/target/pod_target.rb +106 -10
- data/lib/cocoapods/user_interface.rb +26 -0
- data/lib/cocoapods/user_interface/error_report.rb +6 -0
- data/lib/cocoapods/validator.rb +22 -0
- metadata +21 -16
- data/lib/cocoapods/generator/target_environment_header.rb +0 -171
- data/lib/cocoapods/hooks/installer_representation.rb +0 -133
- data/lib/cocoapods/hooks/library_representation.rb +0 -93
- data/lib/cocoapods/hooks/pod_representation.rb +0 -70
@@ -14,6 +14,7 @@ module Pod
|
|
14
14
|
spec_files.sort_by { |p| -p.to_path.split(File::SEPARATOR).size }.each do |file|
|
15
15
|
begin
|
16
16
|
spec = Specification.from_file(file)
|
17
|
+
spec.validate_cocoapods_version
|
17
18
|
@specs_by_name[spec.name] = spec
|
18
19
|
rescue => e
|
19
20
|
UI.warn "Unable to load a podspec from `#{file.basename}`, skipping:\n\n#{e}"
|
@@ -271,6 +271,8 @@ module Pod
|
|
271
271
|
"CocoaPods #{versions['last']} is available.".green,
|
272
272
|
"To update use: `#{install_message}`".green,
|
273
273
|
("[!] This is a test version we'd love you to try.".yellow if rc),
|
274
|
+
("Until we reach version 1.0 the features of CocoaPods can and will change.\n" \
|
275
|
+
'We strongly recommend that you use the latest version at all times.'.yellow unless rc),
|
274
276
|
'',
|
275
277
|
'For more information see http://blog.cocoapods.org'.green,
|
276
278
|
'and the CHANGELOG for this version http://git.io/BaH8pQ.'.green,
|
data/lib/cocoapods/target.rb
CHANGED
@@ -6,11 +6,6 @@ module Pod
|
|
6
6
|
# This class is used to represent both the targets and their libraries.
|
7
7
|
#
|
8
8
|
class Target
|
9
|
-
# @return [TargetDefinition] the target definition of the Podfile that
|
10
|
-
# generated this target.
|
11
|
-
#
|
12
|
-
attr_reader :target_definition
|
13
|
-
|
14
9
|
# @return [Sandbox] The sandbox where the Pods should be installed.
|
15
10
|
#
|
16
11
|
attr_reader :sandbox
|
@@ -21,6 +16,12 @@ module Pod
|
|
21
16
|
attr_accessor :host_requires_frameworks
|
22
17
|
alias_method :host_requires_frameworks?, :host_requires_frameworks
|
23
18
|
|
19
|
+
# Initialize a new target
|
20
|
+
#
|
21
|
+
def initialize
|
22
|
+
@archs = []
|
23
|
+
end
|
24
|
+
|
24
25
|
# @return [String] the name of the library.
|
25
26
|
#
|
26
27
|
def name
|
@@ -110,13 +111,7 @@ module Pod
|
|
110
111
|
#
|
111
112
|
attr_accessor :native_target
|
112
113
|
|
113
|
-
# @return [
|
114
|
-
#
|
115
|
-
def platform
|
116
|
-
@platform ||= target_definition.platform
|
117
|
-
end
|
118
|
-
|
119
|
-
# @return [String] The value for the ARCHS build setting.
|
114
|
+
# @return [Array<String>] The value for the ARCHS build setting.
|
120
115
|
#
|
121
116
|
attr_accessor :archs
|
122
117
|
|
@@ -167,14 +162,6 @@ module Pod
|
|
167
162
|
support_files_dir + "#{label}.modulemap"
|
168
163
|
end
|
169
164
|
|
170
|
-
# @return [Pathname] the absolute path of the header file which contains
|
171
|
-
# the information about the installed pods.
|
172
|
-
#
|
173
|
-
def target_environment_header_path
|
174
|
-
name = target_definition.label
|
175
|
-
sandbox.target_support_files_dir(name) + "#{name}-environment.h"
|
176
|
-
end
|
177
|
-
|
178
165
|
# @return [Pathname] the absolute path of the prefix header file.
|
179
166
|
#
|
180
167
|
def prefix_header_path
|
@@ -199,23 +186,6 @@ module Pod
|
|
199
186
|
support_files_dir + "#{label}-dummy.m"
|
200
187
|
end
|
201
188
|
|
202
|
-
# @return [String] The configuration build dir, if the target is integrated
|
203
|
-
# as framework.
|
204
|
-
#
|
205
|
-
# @note Namespace the pod target product with its target definition name.
|
206
|
-
# Pod target products are named after their specs. The namespacing
|
207
|
-
# cannot directly happen in the product name itself, because this
|
208
|
-
# must be equal to the module name and this will be used in source
|
209
|
-
# code, which should stay agnostic over the dependency manager.
|
210
|
-
# We need namespacing at all because multiple targets can exist for
|
211
|
-
# the same podspec and their products should not collide. This
|
212
|
-
# happens when multiple user targets require the same pod, because
|
213
|
-
# they could require different sets of subspecs.
|
214
|
-
#
|
215
|
-
def configuration_build_dir
|
216
|
-
"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/#{target_definition.label}"
|
217
|
-
end
|
218
|
-
|
219
189
|
#-------------------------------------------------------------------------#
|
220
190
|
|
221
191
|
private
|
@@ -3,12 +3,17 @@ module Pod
|
|
3
3
|
# of the single Pods. The client targets will then depend on this one.
|
4
4
|
#
|
5
5
|
class AggregateTarget < Target
|
6
|
+
# @return [TargetDefinition] the target definition of the Podfile that
|
7
|
+
# generated this target.
|
8
|
+
attr_reader :target_definition
|
9
|
+
|
6
10
|
# Initialize a new instance
|
7
11
|
#
|
8
12
|
# @param [TargetDefinition] target_definition @see target_definition
|
9
13
|
# @param [Sandbox] sandbox @see sandbox
|
10
14
|
#
|
11
15
|
def initialize(target_definition, sandbox)
|
16
|
+
super()
|
12
17
|
@target_definition = target_definition
|
13
18
|
@sandbox = sandbox
|
14
19
|
@pod_targets = []
|
@@ -30,6 +35,18 @@ module Pod
|
|
30
35
|
c99ext_identifier(label)
|
31
36
|
end
|
32
37
|
|
38
|
+
# @return [Platform] the platform for this target.
|
39
|
+
#
|
40
|
+
def platform
|
41
|
+
@platform ||= target_definition.platform
|
42
|
+
end
|
43
|
+
|
44
|
+
# @return [Podfile] The podfile which declares the dependency
|
45
|
+
#
|
46
|
+
def podfile
|
47
|
+
target_definition.podfile
|
48
|
+
end
|
49
|
+
|
33
50
|
# @return [Pathname] the folder where the client is stored used for
|
34
51
|
# computing the relative paths. If integrating it should be the
|
35
52
|
# folder where the user project is stored, otherwise it should
|
@@ -94,7 +111,7 @@ module Pod
|
|
94
111
|
#
|
95
112
|
def pod_targets_for_build_configuration(build_configuration)
|
96
113
|
pod_targets.select do |pod_target|
|
97
|
-
pod_target.include_in_build_config?(build_configuration)
|
114
|
+
pod_target.include_in_build_config?(target_definition, build_configuration)
|
98
115
|
end
|
99
116
|
end
|
100
117
|
|
@@ -182,6 +199,13 @@ module Pod
|
|
182
199
|
"${SRCROOT}/#{relative_to_srcroot(embed_frameworks_script_path)}"
|
183
200
|
end
|
184
201
|
|
202
|
+
# @return [String] The scoped configuration build dir, relevant if the
|
203
|
+
# target is integrated as framework.
|
204
|
+
#
|
205
|
+
def scoped_configuration_build_dir
|
206
|
+
"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/#{target_definition.label}"
|
207
|
+
end
|
208
|
+
|
185
209
|
private
|
186
210
|
|
187
211
|
# @!group Private Helpers
|
@@ -3,31 +3,87 @@ module Pod
|
|
3
3
|
# A pod can have one or more activated spec/subspecs.
|
4
4
|
#
|
5
5
|
class PodTarget < Target
|
6
|
-
# @return [Specification] the spec for the target.
|
6
|
+
# @return [Array<Specification>] the spec and subspecs for the target.
|
7
7
|
#
|
8
8
|
attr_reader :specs
|
9
9
|
|
10
|
+
# @return [Array<PBXNativeTarget>] the target definitions of the Podfile
|
11
|
+
# that generated this target.
|
12
|
+
#
|
13
|
+
attr_reader :target_definitions
|
14
|
+
|
10
15
|
# @return [HeadersStore] the header directory for the target.
|
11
16
|
#
|
12
17
|
attr_reader :build_headers
|
13
18
|
|
14
|
-
# @
|
15
|
-
#
|
19
|
+
# @return [Bool] whether the target needs to be scoped by target definition,
|
20
|
+
# because the spec is used with different subspec sets across them.
|
21
|
+
#
|
22
|
+
# @note For frameworks the target products of {PodTarget}s are named
|
23
|
+
# after their specs. The namespacing cannot directly happen in
|
24
|
+
# the product name itself, because this must be equal to the module
|
25
|
+
# name and this will be used in source code, which should stay
|
26
|
+
# agnostic over the dependency manager.
|
27
|
+
# We need namespacing because multiple targets can exist for the
|
28
|
+
# same podspec and their products should not collide. This
|
29
|
+
# duplication is needed when multiple user targets have the same
|
30
|
+
# dependency, but they require different sets of subspecs or they
|
31
|
+
# are on different platforms.
|
32
|
+
#
|
33
|
+
attr_reader :scoped
|
34
|
+
alias_method :scoped?, :scoped
|
35
|
+
|
36
|
+
# @param [Array<Specification>] @spec #see spec
|
37
|
+
# @param [Array<TargetDefinition>] target_definitions @see target_definitions
|
16
38
|
# @param [Sandbox] sandbox @see sandbox
|
39
|
+
# @param [Bool] scoped @see scoped
|
17
40
|
#
|
18
|
-
def initialize(specs,
|
41
|
+
def initialize(specs, target_definitions, sandbox, scoped = false)
|
42
|
+
raise "Can't initialize a PodTarget without specs!" if specs.nil? || specs.empty?
|
43
|
+
raise "Can't initialize a PodTarget without TargetDefinition!" if target_definitions.nil? || target_definitions.empty?
|
44
|
+
super()
|
19
45
|
@specs = specs
|
20
|
-
@
|
46
|
+
@target_definitions = target_definitions
|
21
47
|
@sandbox = sandbox
|
48
|
+
@scoped = scoped
|
22
49
|
@build_headers = Sandbox::HeadersStore.new(sandbox, 'Private')
|
23
50
|
@file_accessors = []
|
24
51
|
@resource_bundle_targets = []
|
25
52
|
end
|
26
53
|
|
54
|
+
# @return [Array<PodTarget>] a scoped copy for each target definition.
|
55
|
+
#
|
56
|
+
def scoped
|
57
|
+
target_definitions.map do |target_definition|
|
58
|
+
PodTarget.new(specs, [target_definition], sandbox, true).tap do |target|
|
59
|
+
target.file_accessors = file_accessors
|
60
|
+
target.user_build_configurations = user_build_configurations
|
61
|
+
target.native_target = native_target
|
62
|
+
target.archs = archs
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
27
67
|
# @return [String] the label for the target.
|
28
68
|
#
|
29
69
|
def label
|
30
|
-
|
70
|
+
if scoped?
|
71
|
+
"#{target_definitions.first.label}-#{root_spec.name}"
|
72
|
+
else
|
73
|
+
root_spec.name
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# @return [Platform] the platform for this target.
|
78
|
+
#
|
79
|
+
def platform
|
80
|
+
@platform ||= target_definitions.first.platform
|
81
|
+
end
|
82
|
+
|
83
|
+
# @return [Podfile] The podfile which declares the dependency.
|
84
|
+
#
|
85
|
+
def podfile
|
86
|
+
target_definitions.first.podfile
|
31
87
|
end
|
32
88
|
|
33
89
|
# @return [String] The name to use for the source code module constructed
|
@@ -103,13 +159,16 @@ module Pod
|
|
103
159
|
end
|
104
160
|
|
105
161
|
# Checks if the target should be included in the build configuration with
|
106
|
-
# the given name.
|
162
|
+
# the given name of a given target definition.
|
163
|
+
#
|
164
|
+
# @param [TargetDefinition] target_definition
|
165
|
+
# The target definition to check.
|
107
166
|
#
|
108
167
|
# @param [String] configuration_name
|
109
168
|
# The name of the build configuration.
|
110
169
|
#
|
111
|
-
def include_in_build_config?(configuration_name)
|
112
|
-
whitelists = target_definition_dependencies.map do |dependency|
|
170
|
+
def include_in_build_config?(target_definition, configuration_name)
|
171
|
+
whitelists = target_definition_dependencies(target_definition).map do |dependency|
|
113
172
|
target_definition.pod_whitelisted_for_configuration?(dependency.name, configuration_name)
|
114
173
|
end.uniq
|
115
174
|
|
@@ -125,14 +184,51 @@ module Pod
|
|
125
184
|
end
|
126
185
|
end
|
127
186
|
|
187
|
+
# Checks if warnings should be inhibited for this pod.
|
188
|
+
#
|
189
|
+
# @return [Bool]
|
190
|
+
#
|
191
|
+
def inhibit_warnings?
|
192
|
+
whitelists = target_definitions.map do |target_definition|
|
193
|
+
target_definition.inhibits_warnings_for_pod?(root_spec.name)
|
194
|
+
end.uniq
|
195
|
+
|
196
|
+
if whitelists.empty?
|
197
|
+
return false
|
198
|
+
elsif whitelists.count == 1
|
199
|
+
whitelists.first
|
200
|
+
else
|
201
|
+
UI.warn "The pod `#{pod_name}` is linked to different targets " \
|
202
|
+
"(#{target_definitions.map(&:label)}), which contain different " \
|
203
|
+
'settings to inhibit warnings. CocoaPods does not currently ' \
|
204
|
+
'support different settings and will fall back to your preference ' \
|
205
|
+
'set in the root target definition.'
|
206
|
+
return podfile.root_target_definitions.first.inhibits_warnings_for_pod?(root_spec.name)
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
# @return [String] The configuration build dir, relevant if the target is
|
211
|
+
# integrated as framework.
|
212
|
+
#
|
213
|
+
def configuration_build_dir
|
214
|
+
if scoped?
|
215
|
+
"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/#{target_definitions.first.label}"
|
216
|
+
else
|
217
|
+
'$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)'
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
128
221
|
private
|
129
222
|
|
223
|
+
# @param [TargetDefinition] target_definition
|
224
|
+
# The target definition to check.
|
225
|
+
#
|
130
226
|
# @return [Array<Dependency>] The dependency of the target definition for
|
131
227
|
# this Pod. Return an empty array if the Pod is not a direct
|
132
228
|
# dependency of the target definition but the dependency of one or
|
133
229
|
# more Pods.
|
134
230
|
#
|
135
|
-
def target_definition_dependencies
|
231
|
+
def target_definition_dependencies(target_definition)
|
136
232
|
target_definition.dependencies.select do |dependency|
|
137
233
|
Specification.root_name(dependency.name) == pod_name
|
138
234
|
end
|
@@ -285,6 +285,32 @@ module Pod
|
|
285
285
|
end
|
286
286
|
end
|
287
287
|
|
288
|
+
# Presents a choice among the elements of an array to the user.
|
289
|
+
#
|
290
|
+
# @param [Array<#to_s>] array
|
291
|
+
# The list of the elements among which the user should make his
|
292
|
+
# choice.
|
293
|
+
#
|
294
|
+
# @param [String] message
|
295
|
+
# The message to display to the user.
|
296
|
+
#
|
297
|
+
# @return [Fixnum] The index of the chosen array item.
|
298
|
+
#
|
299
|
+
def choose_from_array(array, message)
|
300
|
+
array.each_with_index do |item, index|
|
301
|
+
UI.puts "#{ index + 1 }: #{ item }"
|
302
|
+
end
|
303
|
+
|
304
|
+
UI.puts message
|
305
|
+
|
306
|
+
index = UI.gets.chomp.to_i - 1
|
307
|
+
if index < 0 || index > array.count - 1
|
308
|
+
raise Informative, "#{ index + 1 } is invalid [1-#{ array.count }]"
|
309
|
+
else
|
310
|
+
index
|
311
|
+
end
|
312
|
+
end
|
313
|
+
|
288
314
|
public
|
289
315
|
|
290
316
|
# @!group Basic methods
|
data/lib/cocoapods/validator.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'active_support/core_ext/array'
|
2
|
+
require 'active_support/core_ext/string/inflections'
|
3
|
+
|
1
4
|
module Pod
|
2
5
|
# Validates a Specification.
|
3
6
|
#
|
@@ -89,6 +92,8 @@ module Pod
|
|
89
92
|
platform_message = '[iOS] '
|
90
93
|
elsif result.platforms == [:osx]
|
91
94
|
platform_message = '[OSX] '
|
95
|
+
elsif result.platforms == [:watchos]
|
96
|
+
platform_message = '[watchOS] '
|
92
97
|
end
|
93
98
|
|
94
99
|
subspecs_message = ''
|
@@ -111,6 +116,23 @@ module Pod
|
|
111
116
|
UI.puts
|
112
117
|
end
|
113
118
|
|
119
|
+
def failure_reason
|
120
|
+
results_by_type = results.group_by(&:type)
|
121
|
+
results_by_type.default = []
|
122
|
+
return nil if validated?
|
123
|
+
reasons = []
|
124
|
+
if (size = results_by_type[:error].size) && size > 0
|
125
|
+
reasons << "#{size} #{'error'.pluralize(size)}"
|
126
|
+
end
|
127
|
+
if !allow_warnings && (size = results_by_type[:warning].size) && size > 0
|
128
|
+
reason = "#{size} #{'warning'.pluralize(size)}"
|
129
|
+
pronoun = size == 1 ? 'it' : 'them'
|
130
|
+
reason << " (but you can use `--allow-warnings` to ignore #{pronoun})" if reasons.empty?
|
131
|
+
reasons << reason
|
132
|
+
end
|
133
|
+
reasons.to_sentence
|
134
|
+
end
|
135
|
+
|
114
136
|
#-------------------------------------------------------------------------#
|
115
137
|
|
116
138
|
# @!group Configuration
|
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.38.0.beta.1
|
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-
|
14
|
+
date: 2015-06-26 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: cocoapods-core
|
@@ -19,56 +19,56 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.
|
22
|
+
version: 0.38.0.beta.1
|
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.
|
29
|
+
version: 0.38.0.beta.1
|
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
|
-
version: 0.8.
|
36
|
+
version: 0.8.2
|
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
|
-
version: 0.8.
|
43
|
+
version: 0.8.2
|
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
|
-
version: 0.
|
50
|
+
version: 0.25.0
|
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
|
-
version: 0.
|
57
|
+
version: 0.25.0
|
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
|
-
version: 0.9.
|
64
|
+
version: 0.9.1
|
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
|
-
version: 0.9.
|
71
|
+
version: 0.9.1
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: cocoapods-plugins
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
@@ -247,6 +247,9 @@ files:
|
|
247
247
|
- bin/sandbox-pod
|
248
248
|
- lib/cocoapods.rb
|
249
249
|
- lib/cocoapods/command.rb
|
250
|
+
- lib/cocoapods/command/cache.rb
|
251
|
+
- lib/cocoapods/command/cache/clean.rb
|
252
|
+
- lib/cocoapods/command/cache/list.rb
|
250
253
|
- lib/cocoapods/command/init.rb
|
251
254
|
- lib/cocoapods/command/inter_process_communication.rb
|
252
255
|
- lib/cocoapods/command/lib.rb
|
@@ -291,26 +294,28 @@ files:
|
|
291
294
|
- lib/cocoapods/generator/info_plist_file.rb
|
292
295
|
- lib/cocoapods/generator/module_map.rb
|
293
296
|
- lib/cocoapods/generator/prefix_header.rb
|
294
|
-
- lib/cocoapods/generator/target_environment_header.rb
|
295
297
|
- lib/cocoapods/generator/umbrella_header.rb
|
296
298
|
- lib/cocoapods/generator/xcconfig.rb
|
297
299
|
- lib/cocoapods/generator/xcconfig/aggregate_xcconfig.rb
|
298
300
|
- lib/cocoapods/generator/xcconfig/private_pod_xcconfig.rb
|
299
301
|
- lib/cocoapods/generator/xcconfig/public_pod_xcconfig.rb
|
300
302
|
- lib/cocoapods/generator/xcconfig/xcconfig_helper.rb
|
301
|
-
- lib/cocoapods/hooks/installer_representation.rb
|
302
|
-
- lib/cocoapods/hooks/library_representation.rb
|
303
|
-
- lib/cocoapods/hooks/pod_representation.rb
|
304
303
|
- lib/cocoapods/hooks_manager.rb
|
305
304
|
- lib/cocoapods/installer.rb
|
306
305
|
- lib/cocoapods/installer/analyzer.rb
|
306
|
+
- lib/cocoapods/installer/analyzer/analysis_result.rb
|
307
307
|
- lib/cocoapods/installer/analyzer/locking_dependency_analyzer.rb
|
308
308
|
- lib/cocoapods/installer/analyzer/sandbox_analyzer.rb
|
309
|
+
- lib/cocoapods/installer/analyzer/specs_state.rb
|
310
|
+
- lib/cocoapods/installer/analyzer/target_inspection_result.rb
|
311
|
+
- lib/cocoapods/installer/analyzer/target_inspector.rb
|
309
312
|
- lib/cocoapods/installer/file_references_installer.rb
|
310
|
-
- lib/cocoapods/installer/hooks_context.rb
|
311
313
|
- lib/cocoapods/installer/migrator.rb
|
312
314
|
- lib/cocoapods/installer/pod_source_installer.rb
|
313
315
|
- lib/cocoapods/installer/pod_source_preparer.rb
|
316
|
+
- lib/cocoapods/installer/podfile_validator.rb
|
317
|
+
- lib/cocoapods/installer/post_install_hooks_context.rb
|
318
|
+
- lib/cocoapods/installer/pre_install_hooks_context.rb
|
314
319
|
- lib/cocoapods/installer/target_installer.rb
|
315
320
|
- lib/cocoapods/installer/target_installer/aggregate_target_installer.rb
|
316
321
|
- lib/cocoapods/installer/target_installer/pod_target_installer.rb
|
@@ -354,7 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
354
359
|
version: '0'
|
355
360
|
requirements: []
|
356
361
|
rubyforge_project:
|
357
|
-
rubygems_version: 2.4.
|
362
|
+
rubygems_version: 2.4.8
|
358
363
|
signing_key:
|
359
364
|
specification_version: 3
|
360
365
|
summary: The Cocoa library package manager.
|