motion-cocoapods 1.6.0 → 1.7.0
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/lib/motion/project/cocoapods.rb +34 -17
- data/lib/motion/project/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f654cd843c3fb327bc7e79e077f4baf50c832689
|
4
|
+
data.tar.gz: c85e57fad5afed873f20d4129674e552c8849e6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ef83e2d367daf17a544b04224f0efa1788c94fda4382abe1ed2a79e404bfbefb387dfad96442f01b7858e6d6691a1e909e9ccc5333b5844743e8f11d33dbcea
|
7
|
+
data.tar.gz: 884168eb5c190f7e3649119883b5c10d538bdca586abf2a3de91013fe13c8213616a95d0f6c03a2f5a6a052737eb3cdf1c1b7e203e7f651e8c3fa5a4358e69b8
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2012-
|
1
|
+
# Copyright (c) 2012-2014, Laurent Sansonetti <lrz@hipbyte.com>
|
2
2
|
# All rights reserved.
|
3
3
|
#
|
4
4
|
# Redistribution and use in source and binary forms, with or without
|
@@ -113,17 +113,11 @@ module Motion::Project
|
|
113
113
|
}.compact)
|
114
114
|
@config.libs.uniq!
|
115
115
|
|
116
|
-
@config.vendor_project(PODS_ROOT, :xcode, {
|
117
|
-
:target => 'Pods',
|
118
|
-
:headers_dir => 'Headers/Public',
|
119
|
-
:products => pods_libs.map { |lib_name| "lib#{lib_name}.a" }
|
120
|
-
}.merge(@vendor_options))
|
121
|
-
|
122
116
|
framework_search_paths = []
|
123
117
|
if search_paths = xcconfig['FRAMEWORK_SEARCH_PATHS']
|
124
118
|
search_paths = search_paths.strip
|
125
119
|
unless search_paths.empty?
|
126
|
-
search_paths.scan(
|
120
|
+
search_paths.scan(/"([^"]+)"/) do |search_path|
|
127
121
|
path = search_path.first.gsub!(/(\$\(PODS_ROOT\))|(\$\{PODS_ROOT\})/, "#{@config.project_dir}/#{PODS_ROOT}")
|
128
122
|
framework_search_paths << path if path
|
129
123
|
end
|
@@ -135,14 +129,14 @@ module Motion::Project
|
|
135
129
|
end
|
136
130
|
end
|
137
131
|
end
|
138
|
-
|
132
|
+
|
133
|
+
header_dirs = ['Headers/Public']
|
134
|
+
frameworks = ldflags.scan(/-framework\s+"?([^\s"]+)"?/).map { |m| m[0] }
|
139
135
|
|
140
136
|
case @config.deploy_platform
|
141
137
|
when 'MacOSX'
|
142
138
|
@config.framework_search_paths.concat(framework_search_paths)
|
143
|
-
@config.
|
144
|
-
@config.frameworks.uniq!
|
145
|
-
|
139
|
+
@config.framework_search_paths.uniq!
|
146
140
|
framework_search_paths.each do |framework_search_path|
|
147
141
|
frameworks.reject! do |framework|
|
148
142
|
path = File.join(framework_search_path, "#{framework}.framework")
|
@@ -155,6 +149,7 @@ module Motion::Project
|
|
155
149
|
end
|
156
150
|
end
|
157
151
|
when 'iPhoneOS'
|
152
|
+
pods_root = cp_config.installation_root + 'Pods'
|
158
153
|
# If we would really specify these as ‘frameworks’ then the linker
|
159
154
|
# would not link the archive into the application, because it does not
|
160
155
|
# see any references to any of the symbols in the archive. Treating it
|
@@ -165,6 +160,13 @@ module Motion::Project
|
|
165
160
|
path = File.join(framework_search_path, "#{framework}.framework")
|
166
161
|
if File.exist?(path)
|
167
162
|
@config.libs << "-force_load '#{File.join(path, framework)}'"
|
163
|
+
# This is needed until (and if) CocoaPods links framework
|
164
|
+
# headers into `Headers/Public` by default:
|
165
|
+
#
|
166
|
+
# https://github.com/CocoaPods/CocoaPods/pull/2722
|
167
|
+
#
|
168
|
+
header_dir = Pathname.new(path) + 'Headers'
|
169
|
+
header_dirs << header_dir.realpath.relative_path_from(pods_root).to_s
|
168
170
|
true
|
169
171
|
else
|
170
172
|
false
|
@@ -178,6 +180,12 @@ module Motion::Project
|
|
178
180
|
|
179
181
|
@config.weak_frameworks.concat(ldflags.scan(/-weak_framework\s+([^\s]+)/).map { |m| m[0] })
|
180
182
|
@config.weak_frameworks.uniq!
|
183
|
+
|
184
|
+
@config.vendor_project(PODS_ROOT, :xcode, {
|
185
|
+
:target => 'Pods',
|
186
|
+
:headers_dir => "{#{header_dirs.join(',')}}",
|
187
|
+
:products => pods_libs.map { |lib_name| "lib#{lib_name}.a" }
|
188
|
+
}.merge(@vendor_options))
|
181
189
|
end
|
182
190
|
end
|
183
191
|
|
@@ -238,17 +246,17 @@ module Motion::Project
|
|
238
246
|
end
|
239
247
|
end
|
240
248
|
|
241
|
-
|
249
|
+
PUBLIC_HEADERS_ROOT = File.join(PODS_ROOT, 'Headers/Public')
|
242
250
|
|
243
251
|
def copy_cocoapods_env_and_prefix_headers
|
244
|
-
headers = Dir.glob(["#{PODS_ROOT}/*.h", "#{PODS_ROOT}/*.pch"])
|
252
|
+
headers = Dir.glob(["#{PODS_ROOT}/*.h", "#{PODS_ROOT}/*.pch", "#{PODS_ROOT}/Target Support Files/**/*.h", "#{PODS_ROOT}/Target Support Files/**/*.pch"])
|
245
253
|
headers.each do |header|
|
246
254
|
src = File.basename(header)
|
247
255
|
dst = src.sub(/\.pch$/, '.h')
|
248
|
-
dst_path = File.join(
|
256
|
+
dst_path = File.join(PUBLIC_HEADERS_ROOT, "____#{dst}")
|
249
257
|
unless File.exist?(dst_path)
|
250
|
-
FileUtils.mkdir_p(
|
251
|
-
FileUtils.cp(
|
258
|
+
FileUtils.mkdir_p(PUBLIC_HEADERS_ROOT)
|
259
|
+
FileUtils.cp(header, dst_path)
|
252
260
|
end
|
253
261
|
end
|
254
262
|
end
|
@@ -256,6 +264,15 @@ module Motion::Project
|
|
256
264
|
# Helpers
|
257
265
|
#-------------------------------------------------------------------------#
|
258
266
|
|
267
|
+
# This is the output that gets shown in `rake config`, so it should be
|
268
|
+
# short and sweet.
|
269
|
+
#
|
270
|
+
def inspect
|
271
|
+
cp_config.lockfile.to_hash['PODS'].map do |pod|
|
272
|
+
pod.is_a?(Hash) ? pod.keys.first : pod
|
273
|
+
end.inspect
|
274
|
+
end
|
275
|
+
|
259
276
|
def cp_config
|
260
277
|
Pod::Config.instance
|
261
278
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motion-cocoapods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laurent Sansonetti
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cocoapods
|