cocoapods-xcframework 0.1.1 → 0.2.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/cocoapods-framework/command/framework.rb +4 -2
- data/lib/cocoapods-framework/frameworker.rb +4 -2
- data/lib/cocoapods-framework/gem_version.rb +1 -1
- data/lib/cocoapods-framework/util/pod_util.rb +46 -2
- data/lib/cocoapods-framework/xbuilder.rb +2 -0
- data/lib/cocoapods-framework/xbuilder/xcodeproj_helper.rb +1 -11
- metadata +2 -10
- data/pkg/cocoapods-framework-0.0.1.gem +0 -0
- data/pkg/cocoapods-framework-0.0.2.gem +0 -0
- data/pkg/cocoapods-framework-0.0.3.gem +0 -0
- data/pkg/cocoapods-xcframework-0.0.4.gem +0 -0
- data/pkg/cocoapods-xcframework-0.0.6.gem +0 -0
- data/pkg/cocoapods-xcframework-0.0.7.gem +0 -0
- data/pkg/cocoapods-xcframework-0.0.8.gem +0 -0
- data/pkg/cocoapods-xcframework-0.1.0.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 524f3dacc9713030c4d5e2cd2d74d2ef6437a4301940484c12dd9596c89f85f5
|
4
|
+
data.tar.gz: 5eb3da5b46a72827d9af811173ac3c7b08f1403c6ea3310c4c9afc98dd4b0473
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfd6763d22e5d26f70c50daf23c4f6e872ab7748e1fbb91cde884df34f9997e83a55eb369710fe52aa4733043a6e0364e29e37dc644c5a9c5097ffd05b623b4e
|
7
|
+
data.tar.gz: 23380b32ba90686046afffa29fe2ca63c030e8a62b0fada553a9e28f5cc444ea074143638c0fc1c8cf8ea7b9291cf68289acf7d65e495805a119b6dcdd3690c0
|
@@ -32,7 +32,8 @@ module Pod
|
|
32
32
|
['--spec-sources=private,https://github.com/CocoaPods/Specs.git', 'The sources to pull dependent pods from (defaults to https://github.com/CocoaPods/Specs.git)'],
|
33
33
|
['--subspecs', 'Only include the given subspecs'],
|
34
34
|
['--use-modular-headers', 'pakcage uses modular headers during packaging'],
|
35
|
-
['--no-static-library', 'package not use static library']
|
35
|
+
['--no-static-library', 'package not use static library'],
|
36
|
+
['--enalbe-bitcode', 'package enable bitcode']
|
36
37
|
].concat super
|
37
38
|
end
|
38
39
|
|
@@ -46,6 +47,7 @@ module Pod
|
|
46
47
|
@use_modular_headers = argv.option('use-modular-headers', true)
|
47
48
|
@force = argv.flag?('force', true)
|
48
49
|
@use_static_library = argv.flag?('static-library',true)
|
50
|
+
@enable_bitcode = argv.flag?('enable-bitcode',false)
|
49
51
|
config.static_library_enable = @use_static_library
|
50
52
|
super
|
51
53
|
end
|
@@ -56,7 +58,7 @@ module Pod
|
|
56
58
|
end
|
57
59
|
|
58
60
|
def run
|
59
|
-
frameworker = Frameworker.new(@name, @source, @spec_sources, @subspecs, @configuration, @force, @use_modular_headers)
|
61
|
+
frameworker = Frameworker.new(@name, @source, @spec_sources, @subspecs, @configuration, @force, @use_modular_headers, @enable_bitcode)
|
60
62
|
frameworker.run
|
61
63
|
end
|
62
64
|
end
|
@@ -3,7 +3,7 @@ module Pod
|
|
3
3
|
include PodUtil
|
4
4
|
include DirUtil
|
5
5
|
include Config::Mixin
|
6
|
-
def initialize(name, source, spec_sources, subspecs, configuration, force, use_modular_headers)
|
6
|
+
def initialize(name, source, spec_sources, subspecs, configuration, force, use_modular_headers, enable_bitcode)
|
7
7
|
@name = name
|
8
8
|
@source = source
|
9
9
|
@spec_sources = spec_sources
|
@@ -11,6 +11,7 @@ module Pod
|
|
11
11
|
@configuration = configuration
|
12
12
|
@force = force
|
13
13
|
@use_modular_headers = use_modular_headers
|
14
|
+
@enable_bitcode = enable_bitcode
|
14
15
|
end
|
15
16
|
|
16
17
|
def run
|
@@ -36,7 +37,8 @@ module Pod
|
|
36
37
|
spec,
|
37
38
|
@subspecs,
|
38
39
|
@spec_sources,
|
39
|
-
@use_modular_headers
|
40
|
+
@use_modular_headers,
|
41
|
+
@enable_bitcode
|
40
42
|
)
|
41
43
|
|
42
44
|
perform_build(
|
@@ -1,6 +1,21 @@
|
|
1
1
|
module Pod
|
2
2
|
module PodUtil
|
3
3
|
include Config::Mixin
|
4
|
+
|
5
|
+
def to_native_platform name
|
6
|
+
case name
|
7
|
+
when 'iphoneos' then 'ios'
|
8
|
+
when 'macOS' then 'osx'
|
9
|
+
when 'appletvos' then 'tvos'
|
10
|
+
when 'watchos' then 'watchos'
|
11
|
+
when 'ios' then 'ios'
|
12
|
+
when 'macos' then 'osx'
|
13
|
+
when 'tvos' then 'tvos'
|
14
|
+
else
|
15
|
+
name
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
4
19
|
def muti_config_with_file(path)
|
5
20
|
return nil if path.nil?
|
6
21
|
path = Pathname.new(path)
|
@@ -48,7 +63,7 @@ module Pod
|
|
48
63
|
Sandbox.new(config.sandbox_root)
|
49
64
|
end
|
50
65
|
|
51
|
-
def installation_root sandbox, spec, subspecs, sources,use_frameworks = true,use_modular_headers = true
|
66
|
+
def installation_root sandbox, spec, subspecs, sources,use_frameworks = true,use_modular_headers = true, enable_bitcode = false
|
52
67
|
podfile = podfile_from_spec(
|
53
68
|
@path,
|
54
69
|
spec,
|
@@ -64,6 +79,9 @@ module Pod
|
|
64
79
|
|
65
80
|
unless installer.nil?
|
66
81
|
installer.pods_project.targets.each do |target|
|
82
|
+
if enable_bitcode
|
83
|
+
configuration.build_settings['ENABLE_BITCODE'] = 'YES'
|
84
|
+
end
|
67
85
|
if target.name == spec.name
|
68
86
|
target.build_configurations.each do |configuration|
|
69
87
|
configuration.build_settings['CLANG_MODULES_AUTOLINK'] = 'NO'
|
@@ -75,7 +93,7 @@ module Pod
|
|
75
93
|
installer
|
76
94
|
end
|
77
95
|
|
78
|
-
def installation_root_muti sandbox, configs, sources, use_frameworks = true, use_modular_headers = true
|
96
|
+
def installation_root_muti sandbox, configs, sources, use_frameworks = true, use_modular_headers = true, enable_bitcode = false
|
79
97
|
podfile = podfile_from_muti_configs(
|
80
98
|
configs,
|
81
99
|
sources,
|
@@ -91,6 +109,9 @@ module Pod
|
|
91
109
|
end
|
92
110
|
unless installer.nil?
|
93
111
|
installer.pods_project.targets.each do |target|
|
112
|
+
if enable_bitcode
|
113
|
+
configuration.build_settings['ENABLE_BITCODE'] = 'YES'
|
114
|
+
end
|
94
115
|
if specs.include? target.name
|
95
116
|
target.build_configurations.each do |configuration|
|
96
117
|
configuration.build_settings['CLANG_MODULES_AUTOLINK'] = 'NO'
|
@@ -202,5 +223,28 @@ module Pod
|
|
202
223
|
end
|
203
224
|
spec_hash
|
204
225
|
end
|
226
|
+
|
227
|
+
def fix_header_file spec_hash, xcframework_path
|
228
|
+
puts "Dir.glob(#{xcframework_path}/*/) : #{Dir.glob("#{xcframework_path}/*/")}"
|
229
|
+
Dir.glob("#{xcframework_path}/*/").each do |file|
|
230
|
+
['ios','macos','tvos', 'watchos'].each do |prefix|
|
231
|
+
last_path = file.split("/").last
|
232
|
+
if last_path =~ /#{prefix}/ and not last_path =~ /simulator/
|
233
|
+
platform = to_native_platform prefix
|
234
|
+
if spec_hash[platform]
|
235
|
+
spec_hash[platform]["public_header_files"] = "#{spec_hash[:vendored_frameworks]}/#{last_path}/*/Headers/*.h"
|
236
|
+
spec_hash[platform]["source_files"] = "#{spec_hash[:vendored_frameworks]}/#{last_path}/*/Headers/*.h"
|
237
|
+
else
|
238
|
+
spec_hash[platform] = {
|
239
|
+
"public_header_files" => "#{spec_hash[:vendored_frameworks]}/#{last_path}/*/Headers/*.h",
|
240
|
+
"source_files" => "#{spec_hash[:vendored_frameworks]}/#{last_path}/*/Headers/*.h"
|
241
|
+
}
|
242
|
+
end
|
243
|
+
end
|
244
|
+
end
|
245
|
+
end
|
246
|
+
puts spec_hash.to_json
|
247
|
+
spec_hash
|
248
|
+
end
|
205
249
|
end
|
206
250
|
end
|
@@ -159,6 +159,7 @@ module Pod
|
|
159
159
|
outputs_bundle target_dir
|
160
160
|
new_spec_hash = generic_new_podspec_hash @spec
|
161
161
|
new_spec_hash[:vendored_frameworks] = "#{@spec.name}.xcframework"
|
162
|
+
new_spec_hash = fix_header_file new_spec_hash, "#{target_dir}/#{@spec.name}.xcframework"
|
162
163
|
find_bundles(target_dir).each do |plat, value|
|
163
164
|
if new_spec_hash[plat]
|
164
165
|
new_spec_hash[plat]["resource_bundles"] = value
|
@@ -225,6 +226,7 @@ module Pod
|
|
225
226
|
podspec = Pod::Specification.from_file podspec_path
|
226
227
|
new_spec_hash = generic_new_podspec_hash podspec
|
227
228
|
new_spec_hash[:vendored_frameworks] = "#{podspec.name}.xcframework"
|
229
|
+
new_spec_hash = fix_header_file new_spec_hash, "#{target_dir}/#{@spec.name}.xcframework"
|
228
230
|
find_bundles("#{target_dir}/#{podspec.name}").each do |plat, value|
|
229
231
|
if new_spec_hash[plat]
|
230
232
|
new_spec_hash[plat]["resource_bundles"] = value
|
@@ -2,6 +2,7 @@ require 'xcodeproj'
|
|
2
2
|
module Pod
|
3
3
|
class XBuilder
|
4
4
|
module XcodeProjHelper
|
5
|
+
include PodUtil
|
5
6
|
def modify_xcode_project_sdk_to_simullator path
|
6
7
|
sdks = xcode_sdks
|
7
8
|
project = Xcodeproj::Project.open path
|
@@ -18,17 +19,6 @@ module Pod
|
|
18
19
|
project.save
|
19
20
|
end
|
20
21
|
|
21
|
-
def to_native_platform name
|
22
|
-
case name
|
23
|
-
when 'iphoneos' then 'ios'
|
24
|
-
when 'macOS' then 'osx'
|
25
|
-
when 'appletvos' then 'tvos'
|
26
|
-
when 'watchos' then 'watchos'
|
27
|
-
else
|
28
|
-
name
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
22
|
private
|
33
23
|
def xcode_sdks
|
34
24
|
return @x_sdks if @x_sdks
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-xcframework
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 戴易超
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cocoapods
|
@@ -92,14 +92,6 @@ files:
|
|
92
92
|
- lib/cocoapods-framework/xbuilder/xcodeproj_helper.rb
|
93
93
|
- lib/cocoapods_plugin.rb
|
94
94
|
- pic/allplatform.png
|
95
|
-
- pkg/cocoapods-framework-0.0.1.gem
|
96
|
-
- pkg/cocoapods-framework-0.0.2.gem
|
97
|
-
- pkg/cocoapods-framework-0.0.3.gem
|
98
|
-
- pkg/cocoapods-xcframework-0.0.4.gem
|
99
|
-
- pkg/cocoapods-xcframework-0.0.6.gem
|
100
|
-
- pkg/cocoapods-xcframework-0.0.7.gem
|
101
|
-
- pkg/cocoapods-xcframework-0.0.8.gem
|
102
|
-
- pkg/cocoapods-xcframework-0.1.0.gem
|
103
95
|
- spec/command/framework_spec.rb
|
104
96
|
- spec/spec_helper.rb
|
105
97
|
homepage: https://github.com/TyrantDante/cocoapods-framework
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|