cocoapods 0.33.1 → 0.34.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +171 -46
- data/README.md +9 -9
- data/bin/pod +5 -5
- data/bin/sandbox-pod +2 -6
- data/lib/cocoapods.rb +4 -4
- data/lib/cocoapods/command.rb +12 -10
- data/lib/cocoapods/command/init.rb +12 -13
- data/lib/cocoapods/command/inter_process_communication.rb +6 -17
- data/lib/cocoapods/command/lib.rb +27 -24
- data/lib/cocoapods/command/list.rb +9 -9
- data/lib/cocoapods/command/outdated.rb +4 -9
- data/lib/cocoapods/command/project.rb +57 -19
- data/lib/cocoapods/command/push.rb +0 -1
- data/lib/cocoapods/command/repo.rb +14 -15
- data/lib/cocoapods/command/repo/push.rb +24 -19
- data/lib/cocoapods/command/search.rb +12 -13
- data/lib/cocoapods/command/setup.rb +10 -9
- data/lib/cocoapods/command/spec.rb +67 -63
- data/lib/cocoapods/config.rb +21 -54
- data/lib/cocoapods/downloader.rb +0 -1
- data/lib/cocoapods/executable.rb +3 -8
- data/lib/cocoapods/external_sources.rb +2 -4
- data/lib/cocoapods/external_sources/abstract_external_source.rb +15 -10
- data/lib/cocoapods/external_sources/downloader_source.rb +0 -2
- data/lib/cocoapods/external_sources/path_source.rb +1 -4
- data/lib/cocoapods/external_sources/podspec_source.rb +1 -3
- data/lib/cocoapods/gem_version.rb +1 -2
- data/lib/cocoapods/generator/acknowledgements.rb +5 -8
- data/lib/cocoapods/generator/acknowledgements/markdown.rb +5 -7
- data/lib/cocoapods/generator/acknowledgements/plist.rb +9 -10
- data/lib/cocoapods/generator/bridge_support.rb +1 -1
- data/lib/cocoapods/generator/copy_resources_script.rb +10 -14
- data/lib/cocoapods/generator/dummy_source.rb +3 -3
- data/lib/cocoapods/generator/prefix_header.rb +15 -16
- data/lib/cocoapods/generator/target_environment_header.rb +122 -36
- data/lib/cocoapods/generator/xcconfig.rb +0 -4
- data/lib/cocoapods/generator/xcconfig/aggregate_xcconfig.rb +74 -65
- data/lib/cocoapods/generator/xcconfig/private_pod_xcconfig.rb +92 -95
- data/lib/cocoapods/generator/xcconfig/public_pod_xcconfig.rb +48 -51
- data/lib/cocoapods/generator/xcconfig/xcconfig_helper.rb +10 -10
- data/lib/cocoapods/hooks/installer_representation.rb +15 -18
- data/lib/cocoapods/hooks/library_representation.rb +4 -8
- data/lib/cocoapods/hooks/pod_representation.rb +1 -5
- data/lib/cocoapods/hooks_manager.rb +63 -0
- data/lib/cocoapods/installer.rb +60 -47
- data/lib/cocoapods/installer/analyzer.rb +60 -62
- data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +5 -8
- data/lib/cocoapods/installer/file_references_installer.rb +7 -10
- data/lib/cocoapods/installer/hooks_context.rb +74 -0
- data/lib/cocoapods/installer/migrator.rb +99 -0
- data/lib/cocoapods/installer/pod_source_installer.rb +9 -29
- data/lib/cocoapods/installer/target_installer.rb +7 -17
- data/lib/cocoapods/installer/target_installer/aggregate_target_installer.rb +40 -41
- data/lib/cocoapods/installer/target_installer/pod_target_installer.rb +43 -54
- data/lib/cocoapods/installer/user_project_integrator.rb +54 -10
- data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +66 -117
- data/lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb +116 -0
- data/lib/cocoapods/open_uri.rb +1 -2
- data/lib/cocoapods/project.rb +34 -8
- data/lib/cocoapods/resolver.rb +43 -21
- data/lib/cocoapods/sandbox.rb +80 -75
- data/lib/cocoapods/sandbox/file_accessor.rb +3 -8
- data/lib/cocoapods/sandbox/headers_store.rb +6 -7
- data/lib/cocoapods/sandbox/path_list.rb +7 -10
- data/lib/cocoapods/sources_manager.rb +81 -49
- data/lib/cocoapods/target.rb +18 -12
- data/lib/cocoapods/target/aggregate_target.rb +43 -18
- data/lib/cocoapods/target/pod_target.rb +37 -4
- data/lib/cocoapods/user_interface.rb +19 -18
- data/lib/cocoapods/user_interface/error_report.rb +23 -4
- data/lib/cocoapods/validator.rb +30 -33
- metadata +100 -73
- data/lib/cocoapods/command/help.rb +0 -25
@@ -1,6 +1,5 @@
|
|
1
1
|
module Pod
|
2
2
|
class Sandbox
|
3
|
-
|
4
3
|
# Resolves the file patterns of a specification against its root directory,
|
5
4
|
# taking into account any exclude pattern and the default extensions to use
|
6
5
|
# for directories.
|
@@ -8,7 +7,6 @@ module Pod
|
|
8
7
|
# @note The FileAccessor always returns absolute paths.
|
9
8
|
#
|
10
9
|
class FileAccessor
|
11
|
-
|
12
10
|
HEADER_EXTENSIONS = Xcodeproj::Constants::HEADER_FILES_EXTENSIONS
|
13
11
|
|
14
12
|
# @return [Sandbox::PathList] the directory where the source of the Pod
|
@@ -33,7 +31,7 @@ module Pod
|
|
33
31
|
@spec_consumer = spec_consumer
|
34
32
|
|
35
33
|
unless @spec_consumer
|
36
|
-
raise Informative,
|
34
|
+
raise Informative, 'Attempt to initialize File Accessor without a specification consumer.'
|
37
35
|
end
|
38
36
|
end
|
39
37
|
|
@@ -151,7 +149,7 @@ module Pod
|
|
151
149
|
# @return [Pathname] The path of the auto-detected README file.
|
152
150
|
#
|
153
151
|
def readme
|
154
|
-
path_list.glob(%w
|
152
|
+
path_list.glob(%w( readme{*,.*} )).first
|
155
153
|
end
|
156
154
|
|
157
155
|
# @return [Pathname] The path of the license file as indicated in the
|
@@ -161,7 +159,7 @@ module Pod
|
|
161
159
|
if spec_consumer.spec.root.license[:file]
|
162
160
|
path_list.root + spec_consumer.spec.root.license[:file]
|
163
161
|
else
|
164
|
-
path_list.glob(%w
|
162
|
+
path_list.glob(%w( licen{c,s}e{*,.*} )).first
|
165
163
|
end
|
166
164
|
end
|
167
165
|
|
@@ -229,9 +227,6 @@ module Pod
|
|
229
227
|
end
|
230
228
|
|
231
229
|
#-----------------------------------------------------------------------#
|
232
|
-
|
233
230
|
end
|
234
231
|
end
|
235
232
|
end
|
236
|
-
|
237
|
-
|
@@ -1,15 +1,13 @@
|
|
1
1
|
module Pod
|
2
2
|
class Sandbox
|
3
|
-
|
4
3
|
# Provides support for managing a header directory. It also keeps track of
|
5
4
|
# the header search paths.
|
6
5
|
#
|
7
6
|
class HeadersStore
|
8
|
-
|
9
7
|
# @return [Pathname] the absolute path of this header directory.
|
10
8
|
#
|
11
9
|
def root
|
12
|
-
|
10
|
+
sandbox.headers_root + @relative_path
|
13
11
|
end
|
14
12
|
|
15
13
|
# @return [Sandbox] the sandbox where this header directory is stored.
|
@@ -33,7 +31,8 @@ module Pod
|
|
33
31
|
# root with the `${PODS_ROOT}` variable.
|
34
32
|
#
|
35
33
|
def search_paths
|
36
|
-
|
34
|
+
headers_dir = root.relative_path_from(sandbox.root).dirname
|
35
|
+
@search_paths.uniq.map { |path| "${PODS_ROOT}/#{headers_dir}/#{path}" }
|
37
36
|
end
|
38
37
|
|
39
38
|
# Removes the directory as it is regenerated from scratch during each
|
@@ -58,7 +57,8 @@ module Pod
|
|
58
57
|
# headers directory.
|
59
58
|
#
|
60
59
|
# @param [Pathname] relative_header_path
|
61
|
-
# the path of the header file relative to the
|
60
|
+
# the path of the header file relative to the Pods project
|
61
|
+
# (`PODS_ROOT` variable of the xcconfigs).
|
62
62
|
#
|
63
63
|
# @note This method adds the files to the search paths.
|
64
64
|
#
|
@@ -70,7 +70,7 @@ module Pod
|
|
70
70
|
namespaced_path.mkpath unless File.exist?(namespaced_path)
|
71
71
|
|
72
72
|
relative_header_paths.map do |relative_header_path|
|
73
|
-
absolute_source = (
|
73
|
+
absolute_source = (sandbox.root + relative_header_path)
|
74
74
|
source = absolute_source.relative_path_from(namespaced_path)
|
75
75
|
Dir.chdir(namespaced_path) do
|
76
76
|
FileUtils.ln_sf(source, relative_header_path.basename)
|
@@ -91,7 +91,6 @@ module Pod
|
|
91
91
|
end
|
92
92
|
|
93
93
|
#-----------------------------------------------------------------------#
|
94
|
-
|
95
94
|
end
|
96
95
|
end
|
97
96
|
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
module Pod
|
2
2
|
class Sandbox
|
3
|
-
|
4
3
|
# The PathList class is designed to perform multiple glob matches against
|
5
4
|
# a given directory. Basically, it generates a list of all the children
|
6
5
|
# paths and matches the globs patterns against them, resulting in just one
|
@@ -11,7 +10,6 @@ module Pod
|
|
11
10
|
# {#read_file_system}
|
12
11
|
#
|
13
12
|
class PathList
|
14
|
-
|
15
13
|
# @return [Pathname] The root of the list whose files and directories
|
16
14
|
# are used to perform the matching operations.
|
17
15
|
#
|
@@ -46,15 +44,15 @@ module Pod
|
|
46
44
|
unless root.exist?
|
47
45
|
raise Informative, "Attempt to read non existent folder `#{root}`."
|
48
46
|
end
|
49
|
-
root_length = root.to_s.length+1
|
47
|
+
root_length = root.to_s.length + 1
|
50
48
|
escaped_root = escape_path_for_glob(root)
|
51
|
-
paths = Dir.glob(escaped_root +
|
49
|
+
paths = Dir.glob(escaped_root + '**/*', File::FNM_DOTMATCH)
|
52
50
|
absolute_dirs = paths.select { |path| File.directory?(path) }
|
53
51
|
relative_dirs = absolute_dirs.map { |p| p[root_length..-1] }
|
54
52
|
absolute_paths = paths.reject { |p| p == "#{root}/." || p == "#{root}/.." }
|
55
53
|
relative_paths = absolute_paths.map { |p| p[root_length..-1] }
|
56
54
|
@files = relative_paths - relative_dirs
|
57
|
-
@dirs = relative_dirs.map { |d| d.gsub(/\/\.\.?$/,'') }.reject { |d| d == '.' || d == '..' } .uniq
|
55
|
+
@dirs = relative_dirs.map { |d| d.gsub(/\/\.\.?$/, '') }.reject { |d| d == '.' || d == '..' } .uniq
|
58
56
|
end
|
59
57
|
|
60
58
|
#-----------------------------------------------------------------------#
|
@@ -67,7 +65,7 @@ module Pod
|
|
67
65
|
# paths.
|
68
66
|
#
|
69
67
|
def glob(patterns, options = {})
|
70
|
-
relative_glob(patterns, options).map {|p| root + p }
|
68
|
+
relative_glob(patterns, options).map { |p| root + p }
|
71
69
|
end
|
72
70
|
|
73
71
|
# @return [Array<Pathname>] The list of relative paths that are case
|
@@ -164,9 +162,9 @@ module Pod
|
|
164
162
|
end
|
165
163
|
|
166
164
|
if values_by_set.empty?
|
167
|
-
[
|
165
|
+
[pattern]
|
168
166
|
else
|
169
|
-
patterns = [
|
167
|
+
patterns = [pattern]
|
170
168
|
values_by_set.each do |set, values|
|
171
169
|
patterns = patterns.map do |old_pattern|
|
172
170
|
values.map do |value|
|
@@ -192,13 +190,12 @@ module Pod
|
|
192
190
|
result = path.to_s
|
193
191
|
characters_to_escape = ['[', ']', '{', '}', '?', '*']
|
194
192
|
characters_to_escape.each do |character|
|
195
|
-
result.gsub!(character, "\\#{character}"
|
193
|
+
result.gsub!(character, "\\#{character}")
|
196
194
|
end
|
197
195
|
Pathname.new(result)
|
198
196
|
end
|
199
197
|
|
200
198
|
#-----------------------------------------------------------------------#
|
201
|
-
|
202
199
|
end
|
203
200
|
end
|
204
201
|
end
|
@@ -1,32 +1,40 @@
|
|
1
1
|
module Pod
|
2
|
-
|
3
2
|
# Manages all the sources known to the running CocoaPods Instance.
|
4
3
|
#
|
5
4
|
class SourcesManager
|
6
|
-
|
7
5
|
class << self
|
8
|
-
|
9
6
|
include Config::Mixin
|
10
7
|
|
11
|
-
# @return [Source::Aggregate]
|
12
|
-
#
|
8
|
+
# @return [Source::Aggregate] The aggregate of all the sources with the
|
9
|
+
# known Pods.
|
13
10
|
#
|
14
11
|
def aggregate
|
15
|
-
|
12
|
+
dirs = config.repos_dir.children.select(&:directory?)
|
13
|
+
Source::Aggregate.new(dirs)
|
14
|
+
end
|
15
|
+
|
16
|
+
# @return [Array<Source>] The list of the sources with the given names.
|
17
|
+
#
|
18
|
+
# @param [Array<#to_s>] names
|
19
|
+
# The names of the sources.
|
20
|
+
#
|
21
|
+
def sources(names)
|
22
|
+
dirs = names.map { |name| source_dir(name) }
|
23
|
+
dirs.map { |repo| Source.new(repo) }
|
16
24
|
end
|
17
25
|
|
18
|
-
# @return [Array<Source>]
|
26
|
+
# @return [Array<Source>] The list of all the sources known to this
|
19
27
|
# installation of CocoaPods.
|
20
28
|
#
|
21
29
|
def all
|
22
|
-
|
30
|
+
dirs = config.repos_dir.children.select(&:directory?)
|
31
|
+
dirs.map { |repo| Source.new(repo) }
|
23
32
|
end
|
24
33
|
|
25
|
-
# @return [
|
26
|
-
# sets know to this installation of CocoaPods.
|
34
|
+
# @return [Source] The CocoaPods Master Repo source.
|
27
35
|
#
|
28
|
-
def
|
29
|
-
|
36
|
+
def master
|
37
|
+
sources(['master'])
|
30
38
|
end
|
31
39
|
|
32
40
|
# Search all the sources to match the set for the given dependency.
|
@@ -71,13 +79,16 @@ module Pod
|
|
71
79
|
end
|
72
80
|
set_names << name unless texts.grep(query_regexp).empty?
|
73
81
|
end
|
74
|
-
sets = set_names.sort.map
|
82
|
+
sets = set_names.sort.map do |name|
|
83
|
+
aggregate.representative_set(name)
|
84
|
+
end
|
75
85
|
else
|
76
86
|
sets = aggregate.search_by_name(query, false)
|
77
87
|
end
|
78
88
|
if sets.empty?
|
79
|
-
extra =
|
80
|
-
raise Informative, "Unable to find a pod with name#{extra}
|
89
|
+
extra = ', author, summary, or description' if full_text_search
|
90
|
+
raise Informative, "Unable to find a pod with name#{extra}" \
|
91
|
+
"matching `#{query}`"
|
81
92
|
end
|
82
93
|
sets
|
83
94
|
end
|
@@ -108,7 +119,9 @@ module Pod
|
|
108
119
|
search_index = aggregate.generate_search_index
|
109
120
|
end
|
110
121
|
|
111
|
-
File.open(search_index_path, 'w')
|
122
|
+
File.open(search_index_path, 'w') do |file|
|
123
|
+
file.write(search_index.to_yaml)
|
124
|
+
end
|
112
125
|
@updated_search_index = search_index
|
113
126
|
end
|
114
127
|
@updated_search_index
|
@@ -124,10 +137,7 @@ module Pod
|
|
124
137
|
Config.instance.search_index_file
|
125
138
|
end
|
126
139
|
|
127
|
-
public
|
128
|
-
|
129
140
|
# @!group Updating Sources
|
130
|
-
#-----------------------------------------------------------------------#
|
131
141
|
|
132
142
|
extend Executable
|
133
143
|
executable :git
|
@@ -141,23 +151,22 @@ module Pod
|
|
141
151
|
#
|
142
152
|
def update(source_name = nil, show_output = false)
|
143
153
|
if source_name
|
144
|
-
|
145
|
-
raise Informative, "Unable to find the `#{source_name}` repo." unless specified_source
|
146
|
-
raise Informative, "The `#{source_name}` repo is not a git repo." unless git_repo?(specified_source.data_provider.repo)
|
147
|
-
sources = [specified_source]
|
154
|
+
sources = [git_source_named(source_name)]
|
148
155
|
else
|
149
|
-
sources =
|
156
|
+
sources = git_sources
|
150
157
|
end
|
151
158
|
|
152
159
|
sources.each do |source|
|
153
160
|
UI.section "Updating spec repo `#{source.name}`" do
|
154
161
|
Dir.chdir(source.data_provider.repo) do
|
155
162
|
begin
|
156
|
-
output = git!(
|
163
|
+
output = git!('pull --ff-only')
|
157
164
|
UI.puts output if show_output && !config.verbose?
|
158
165
|
rescue Informative => e
|
159
|
-
|
160
|
-
"
|
166
|
+
UI.warn 'CocoaPods was not able to update the ' \
|
167
|
+
"`#{source.name}` repo. If this is an unexpected issue " \
|
168
|
+
'and persists you can inspect it running ' \
|
169
|
+
'`pod repo update --verbose`'
|
161
170
|
end
|
162
171
|
end
|
163
172
|
check_version_information(source.data_provider.repo)
|
@@ -165,18 +174,6 @@ module Pod
|
|
165
174
|
end
|
166
175
|
end
|
167
176
|
|
168
|
-
# Returns whether a git repo's remote is reachable.
|
169
|
-
#
|
170
|
-
# @param [Pathname] dir
|
171
|
-
# The directory where the source is stored.
|
172
|
-
#
|
173
|
-
# @return [Bool] Whether the given source's remote is reachable.
|
174
|
-
#
|
175
|
-
def git_remote_reachable?(dir)
|
176
|
-
Dir.chdir(dir) { git('ls-remote') }
|
177
|
-
$?.success?
|
178
|
-
end
|
179
|
-
|
180
177
|
# Returns whether a source is a GIT repo.
|
181
178
|
#
|
182
179
|
# @param [Pathname] dir
|
@@ -204,10 +201,10 @@ module Pod
|
|
204
201
|
versions = version_information(dir)
|
205
202
|
unless repo_compatible?(dir)
|
206
203
|
min, max = versions['min'], versions['max']
|
207
|
-
version_msg = ( min == max
|
204
|
+
version_msg = ( min == max) ? min : "#{min} - #{max}"
|
208
205
|
raise Informative, "The `#{dir.basename}` repo requires " \
|
209
206
|
"CocoaPods #{version_msg} (currently using #{Pod::VERSION})\n".red +
|
210
|
-
|
207
|
+
'Update CocoaPods, or checkout the appropriate tag in the repo.'
|
211
208
|
end
|
212
209
|
|
213
210
|
needs_sudo = path_writable?(__FILE__)
|
@@ -269,8 +266,7 @@ module Pod
|
|
269
266
|
yaml_file = dir + 'CocoaPods-version.yml'
|
270
267
|
return {} unless yaml_file.exist?
|
271
268
|
begin
|
272
|
-
|
273
|
-
YAMLHelper.load(yaml)
|
269
|
+
YAMLHelper.load_file(yaml_file)
|
274
270
|
rescue Informative => e
|
275
271
|
raise Informative, "There was an error reading '#{yaml_file}'.\n" \
|
276
272
|
'Please consult http://blog.cocoapods.org/' \
|
@@ -279,10 +275,7 @@ module Pod
|
|
279
275
|
end
|
280
276
|
end
|
281
277
|
|
282
|
-
public
|
283
|
-
|
284
278
|
# @!group Master repo
|
285
|
-
#-----------------------------------------------------------------------#
|
286
279
|
|
287
280
|
# @return [Pathname] The path of the master repo.
|
288
281
|
#
|
@@ -299,15 +292,54 @@ module Pod
|
|
299
292
|
master_repo_dir.exist? && repo_compatible?(master_repo_dir)
|
300
293
|
end
|
301
294
|
|
302
|
-
#-----------------------------------------------------------------------#
|
303
|
-
|
304
295
|
private
|
305
296
|
|
297
|
+
# @return [Bool] Whether the given path is writable by the current user.
|
298
|
+
#
|
299
|
+
# @param [#to_s] path
|
300
|
+
# The path.
|
301
|
+
#
|
306
302
|
def path_writable?(path)
|
307
303
|
Pathname(path).dirname.writable?
|
308
304
|
end
|
309
305
|
|
306
|
+
# @return [Source] The git source with the given name. If no git source
|
307
|
+
# with given name is found it raises.
|
308
|
+
#
|
309
|
+
# @param [String] name
|
310
|
+
# The name of the source.
|
311
|
+
#
|
312
|
+
def git_source_named(name)
|
313
|
+
specified_source = aggregate.sources.find { |s| s.name == name }
|
314
|
+
unless specified_source
|
315
|
+
raise Informative, "Unable to find the `#{name}` repo."
|
316
|
+
end
|
317
|
+
unless git_repo?(specified_source.data_provider.repo)
|
318
|
+
raise Informative, "The `#{name}` repo is not a git repo."
|
319
|
+
end
|
320
|
+
specified_source
|
321
|
+
end
|
322
|
+
|
323
|
+
# @return [Source] The list of the git sources.
|
324
|
+
#
|
325
|
+
def git_sources
|
326
|
+
all.select do |source|
|
327
|
+
git_repo?(source.data_provider.repo)
|
328
|
+
end
|
329
|
+
end
|
330
|
+
|
331
|
+
# @return [Pathname] The path of the source with the given name.
|
332
|
+
#
|
333
|
+
# @param [String] name
|
334
|
+
# The name of the source.
|
335
|
+
#
|
336
|
+
def source_dir(name)
|
337
|
+
if dir = config.repos_dir + name
|
338
|
+
dir
|
339
|
+
else
|
340
|
+
raise Informative, "Unable to find the `#{name}` repo."
|
341
|
+
end
|
342
|
+
end
|
310
343
|
end
|
311
344
|
end
|
312
345
|
end
|
313
|
-
|
data/lib/cocoapods/target.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
module Pod
|
2
|
-
|
3
2
|
# Model class which describes a Pods target.
|
4
3
|
#
|
5
4
|
# The Target class stores and provides the information necessary for
|
@@ -7,7 +6,6 @@ module Pod
|
|
7
6
|
# This class is used to represent both the targets and their libraries.
|
8
7
|
#
|
9
8
|
class Target
|
10
|
-
|
11
9
|
# @return [PBXNativeTarget] the target definition of the Podfile that
|
12
10
|
# generated this target.
|
13
11
|
#
|
@@ -73,48 +71,56 @@ module Pod
|
|
73
71
|
# @return [Pathname] the folder where to store the support files of this
|
74
72
|
# library.
|
75
73
|
#
|
76
|
-
def
|
77
|
-
|
74
|
+
def support_files_dir
|
75
|
+
sandbox.target_support_files_dir(name)
|
78
76
|
end
|
79
77
|
|
78
|
+
# @param [String] variant
|
79
|
+
# The variant of the xcconfig. Used to differentiate build
|
80
|
+
# configurations.
|
81
|
+
#
|
80
82
|
# @return [Pathname] the absolute path of the xcconfig file.
|
81
83
|
#
|
82
|
-
def xcconfig_path
|
83
|
-
|
84
|
+
def xcconfig_path(variant = nil)
|
85
|
+
if variant
|
86
|
+
support_files_dir + "#{label}.#{variant.downcase}.xcconfig"
|
87
|
+
else
|
88
|
+
support_files_dir + "#{label}.xcconfig"
|
89
|
+
end
|
84
90
|
end
|
85
91
|
|
86
92
|
# @return [Pathname] the absolute path of the private xcconfig file.
|
87
93
|
#
|
88
94
|
def xcconfig_private_path
|
89
|
-
|
95
|
+
support_files_dir + "#{label}-Private.xcconfig"
|
90
96
|
end
|
91
97
|
|
92
98
|
# @return [Pathname] the absolute path of the header file which contains
|
93
99
|
# the information about the installed pods.
|
94
100
|
#
|
95
101
|
def target_environment_header_path
|
96
|
-
|
102
|
+
name = target_definition.label
|
103
|
+
sandbox.target_support_files_dir(name) + "#{name}-environment.h"
|
97
104
|
end
|
98
105
|
|
99
106
|
# @return [Pathname] the absolute path of the prefix header file.
|
100
107
|
#
|
101
108
|
def prefix_header_path
|
102
|
-
|
109
|
+
support_files_dir + "#{label}-prefix.pch"
|
103
110
|
end
|
104
111
|
|
105
112
|
# @return [Pathname] the absolute path of the bridge support file.
|
106
113
|
#
|
107
114
|
def bridge_support_path
|
108
|
-
|
115
|
+
support_files_dir + "#{label}.bridgesupport"
|
109
116
|
end
|
110
117
|
|
111
118
|
# @return [Pathname] the path of the dummy source generated by CocoaPods
|
112
119
|
#
|
113
120
|
def dummy_source_path
|
114
|
-
|
121
|
+
support_files_dir + "#{label}-dummy.m"
|
115
122
|
end
|
116
123
|
|
117
124
|
#-------------------------------------------------------------------------#
|
118
|
-
|
119
125
|
end
|
120
126
|
end
|