cocoapods 0.37.2 → 0.38.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|