cocoapods-packager-next 2.0.0 → 2.0.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/cocoapods-packager-next.gemspec +2 -1
- data/lib/cocoapods-packager/builder.rb +32 -9
- data/lib/cocoapods_packager.rb +1 -1
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab20cc4922694c7ee7c1128e7f1966e6c885255ea77bd1bc4a3f9bf804848a35
|
4
|
+
data.tar.gz: fe2b58139807305344bd341b7b86c9b6a1f2ea8bd62e71c02edf3512f3def9d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aff27f5d69858aec0112dca5aa26814e2d2258e67c4e52cb9b28da760eb70b988270d2afc691caac8b7ea587f431029cfda1d6e96623cf21ed10b3eb9cf731a3
|
7
|
+
data.tar.gz: d5ac45f643bdf6377d40b73fdf3cfd42fc516ec264b0609c3018840228e412ac2a179bac6f5385777648d607fb04cc49080318fa4bc3f811e4b245d3598ddd12
|
@@ -7,7 +7,8 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = 'cocoapods-packager-next'
|
8
8
|
spec.version = Pod::Packager::VERSION
|
9
9
|
spec.authors = ['Kyle Fuller', 'Boris Bügling', 'Chenguang Wang']
|
10
|
-
spec.summary = '
|
10
|
+
spec.summary = 'An alternative to cocoapods-packager, adapted to the latest Xcode.
|
11
|
+
CocoaPods plugin which allows you to generate a framework or static library from a podspec.'
|
11
12
|
spec.homepage = 'https://github.com/wwwcg/cocoapods-packager-next'
|
12
13
|
spec.license = 'MIT'
|
13
14
|
spec.files = `git ls-files`.split($/)
|
@@ -144,10 +144,10 @@ module Pod
|
|
144
144
|
static_libs = static_libs_in_sandbox('build') + static_libs_in_sandbox('build-sim') + vendored_libraries
|
145
145
|
libs = ios_architectures.map do |arch|
|
146
146
|
library = "#{@static_sandbox_root}/build/package-#{arch}.a"
|
147
|
-
`libtool -arch_only #{arch} -static -o #{library} #{static_libs.join(' ')}`
|
148
|
-
library
|
149
|
-
end
|
150
|
-
|
147
|
+
`libtool -arch_only #{arch} -static -o #{library} #{static_libs.join(' ')} 2> /dev/null`
|
148
|
+
library if File.exist?(library)
|
149
|
+
end.compact
|
150
|
+
|
151
151
|
`lipo -create -output #{output} #{libs.join(' ')}`
|
152
152
|
end
|
153
153
|
|
@@ -198,13 +198,14 @@ module Pod
|
|
198
198
|
Dir.glob("#{headers_source_root}/**/*.h").
|
199
199
|
each { |h| `ditto #{h} #{@fwk.headers_path}/#{h.sub(headers_source_root, '')}` }
|
200
200
|
|
201
|
+
module_map = nil
|
201
202
|
# If custom 'module_map' is specified add it to the framework distribution
|
202
203
|
# otherwise check if a header exists that is equal to 'spec.name', if so
|
203
204
|
# create a default 'module_map' one using it.
|
204
|
-
if
|
205
|
+
if @spec.module_map
|
205
206
|
module_map_file = @file_accessors.flat_map(&:module_map).first
|
206
207
|
module_map = File.read(module_map_file) if Pathname(module_map_file).exist?
|
207
|
-
elsif File.exist?("#{@public_headers_root}/#{@spec.name}/#{@spec.name}.h")
|
208
|
+
elsif @spec.module_map.nil? && File.exist?("#{@public_headers_root}/#{@spec.name}/#{@spec.name}.h")
|
208
209
|
module_map = <<MAP
|
209
210
|
framework module #{@spec.name} {
|
210
211
|
umbrella header "#{@spec.name}.h"
|
@@ -277,16 +278,20 @@ MAP
|
|
277
278
|
|
278
279
|
def vendored_libraries
|
279
280
|
if @vendored_libraries
|
280
|
-
@vendored_libraries
|
281
|
+
return @vendored_libraries
|
281
282
|
end
|
282
283
|
file_accessors = if @exclude_deps
|
284
|
+
puts "Excluding dependencies"
|
283
285
|
@file_accessors
|
284
286
|
else
|
287
|
+
puts "Including dependencies"
|
285
288
|
@static_installer.pod_targets.flat_map(&:file_accessors)
|
286
289
|
end
|
287
290
|
libs = file_accessors.flat_map(&:vendored_static_frameworks).map { |f| f + f.basename('.*') } || []
|
288
291
|
libs += file_accessors.flat_map(&:vendored_static_libraries)
|
289
292
|
@vendored_libraries = libs.compact.map(&:to_s)
|
293
|
+
puts "Vendored libraries: #{@vendored_libraries}"
|
294
|
+
|
290
295
|
@vendored_libraries
|
291
296
|
end
|
292
297
|
|
@@ -304,10 +309,28 @@ MAP
|
|
304
309
|
end
|
305
310
|
|
306
311
|
def ios_architectures
|
307
|
-
|
312
|
+
xcode_version_string = `xcodebuild -version`.strip.split()[1]
|
313
|
+
xcode_version = Pod::Version.new(xcode_version_string)
|
314
|
+
UI.puts "current xcode version: #{xcode_version}"
|
315
|
+
archs = if xcode_version >= Pod::Version.new('14.0')
|
316
|
+
# i386 & armv7/armv7s has been deprecated in Xcode14
|
317
|
+
%w(x86_64 arm64 arm64e)
|
318
|
+
elsif xcode_version < Pod::Version.new('10.0')
|
319
|
+
%w(x86_64 i386 arm64 armv7 armv7s)
|
320
|
+
else
|
321
|
+
%w(x86_64 i386 arm64 arm64e armv7 armv7s)
|
322
|
+
end
|
323
|
+
UI.puts "Initial architectures: #{archs}"
|
324
|
+
|
308
325
|
vendored_libraries.each do |library|
|
309
|
-
|
326
|
+
library_archs = `lipo -info #{library}`.split
|
327
|
+
UI.puts "Architectures for #{library}: #{library_archs}"
|
328
|
+
|
329
|
+
archs = library_archs & archs
|
330
|
+
UI.puts "Intersected architectures: #{archs}"
|
310
331
|
end
|
332
|
+
|
333
|
+
UI.puts "Final architectures: #{archs}"
|
311
334
|
archs
|
312
335
|
end
|
313
336
|
|
data/lib/cocoapods_packager.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-packager-next
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kyle Fuller
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-01-
|
13
|
+
date: 2024-01-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: cocoapods
|
@@ -164,9 +164,8 @@ requirements: []
|
|
164
164
|
rubygems_version: 3.4.10
|
165
165
|
signing_key:
|
166
166
|
specification_version: 4
|
167
|
-
summary:
|
168
|
-
|
169
|
-
or static library from a podspec.
|
167
|
+
summary: An alternative to cocoapods-packager, adapted to the latest Xcode. CocoaPods
|
168
|
+
plugin which allows you to generate a framework or static library from a podspec.
|
170
169
|
test_files:
|
171
170
|
- spec/command/error_spec.rb
|
172
171
|
- spec/command/package_spec.rb
|