cocoapods-bb-bin 0.1.9.2 → 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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4926e04b2eaade743939e92c8de3707bdaf3444b06b9515aa45278b63c444df8
|
4
|
+
data.tar.gz: 677d14354d6f11f34a30e956c515f9b9db5040076cdbf2902a71ed9ff3badd65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc1d214967a7056d24836d7162bc5140c771575f1a4f0c59f90b91a47d782ba506069fadb22c35cdf2f4b13a1d6aca9e63595c4c51b068836135a19b30795c0d
|
7
|
+
data.tar.gz: c625ef1d42a31eef96e0f9fc492ddd21066dd59ff35d88a2529f227466ca533cdaf276dbecfe136870abc916e7448fc9dcc381ca958635174b7d8a3785b909ea
|
@@ -43,15 +43,22 @@ module CBin
|
|
43
43
|
end
|
44
44
|
|
45
45
|
@filename = file
|
46
|
+
# 拷贝二进制spec到源码spec by hm 22/1/19
|
47
|
+
`cp -fa #{file} #{sourceSpecFilePath}`
|
46
48
|
end
|
47
49
|
|
48
50
|
def clear_spec_file
|
49
51
|
File.delete(filename) if File.exist?(filename)
|
50
52
|
end
|
51
53
|
|
54
|
+
# 二进制spec路径
|
52
55
|
def filename
|
53
56
|
@filename ||= "#{CBin::Config::Builder.instance.binary_json_dir_name}/#{spec.name}.binary.podspec.json"
|
54
57
|
end
|
58
|
+
# 源码spec路径(指向二进制库)
|
59
|
+
def sourceSpecFilePath
|
60
|
+
@filename ||= "#{CBin::Config::Builder.instance.binary_json_dir_name}/#{spec.name}.podspec.json"
|
61
|
+
end
|
55
62
|
|
56
63
|
private
|
57
64
|
|
@@ -15,18 +15,16 @@ module Pod
|
|
15
15
|
class PodfileGenerator
|
16
16
|
# @return [Podfile] a podfile suitable for installing the given spec
|
17
17
|
#
|
18
|
-
# @param [Specification]
|
18
|
+
# @param [Array<Specification>] specs
|
19
19
|
#
|
20
|
-
|
21
|
-
|
22
|
-
def podfile_for_spec(spec)
|
20
|
+
def podfile_for_specs(specs)
|
23
21
|
generator = self
|
24
|
-
dir = configuration.
|
25
|
-
project_name = configuration.
|
22
|
+
dir = configuration.gen_dir_for_specs(specs)
|
23
|
+
project_name = configuration.project_name_for_specs(specs)
|
26
24
|
|
27
25
|
Pod::Podfile.new do
|
28
26
|
project "#{project_name}.xcodeproj"
|
29
|
-
workspace "#{
|
27
|
+
workspace "#{project_name}.xcworkspace"
|
30
28
|
|
31
29
|
plugin 'cocoapods-generate'
|
32
30
|
|
@@ -35,8 +33,8 @@ module Pod
|
|
35
33
|
generator.podfile_plugins.each do |name, options|
|
36
34
|
plugin(*[name, options].compact)
|
37
35
|
end
|
38
|
-
|
39
|
-
use_frameworks!(generator.
|
36
|
+
|
37
|
+
use_frameworks!(generator.use_frameworks_value)
|
40
38
|
|
41
39
|
if (supported_swift_versions = generator.supported_swift_versions)
|
42
40
|
supports_swift_versions(supported_swift_versions)
|
@@ -49,44 +47,51 @@ module Pod
|
|
49
47
|
|
50
48
|
self.defined_in_file = dir.join('CocoaPods.podfile.yaml')
|
51
49
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
50
|
+
test_specs_by_spec = Hash[specs.map do |spec|
|
51
|
+
[spec, spec.recursive_subspecs.select(&:test_specification?)]
|
52
|
+
end]
|
53
|
+
app_specs_by_spec = Hash[specs.map do |spec|
|
54
|
+
app_specs = if spec.respond_to?(:app_specification?)
|
55
|
+
spec.recursive_subspecs.select(&:app_specification?)
|
56
|
+
else
|
57
|
+
[]
|
58
|
+
end
|
59
|
+
[spec, app_specs]
|
60
|
+
end]
|
58
61
|
|
59
62
|
# Stick all of the transitive dependencies in an abstract target.
|
60
63
|
# This allows us to force CocoaPods to use the versions / sources / external sources
|
61
64
|
# that we want.
|
62
|
-
|
63
|
-
|
65
|
+
|
64
66
|
# 会导致多个dependencies出现, 注释by slj
|
65
67
|
# abstract_target 'Transitive Dependencies' do
|
66
|
-
# pods_for_transitive_dependencies =
|
67
|
-
#
|
68
|
-
#
|
69
|
-
#
|
70
|
-
#
|
71
|
-
#
|
68
|
+
# pods_for_transitive_dependencies = specs.flat_map do |spec|
|
69
|
+
# [spec.name]
|
70
|
+
# .concat(test_specs_by_spec.keys.map(&:name))
|
71
|
+
# .concat(test_specs_by_spec.values.flatten.flat_map { |ts| ts.dependencies.flat_map(&:name) })
|
72
|
+
# .concat(app_specs_by_spec.keys.map(&:name))
|
73
|
+
# .concat(app_specs_by_spec.values.flatten.flat_map { |as| as.dependencies.flat_map(&:name) })
|
74
|
+
# end
|
75
|
+
# pods_for_transitive_dependencies.uniq!
|
76
|
+
|
77
|
+
# spec_names = specs.map { |s| s.root.name }.to_set
|
72
78
|
# dependencies = generator
|
73
|
-
#
|
74
|
-
#
|
75
|
-
#
|
76
|
-
#
|
77
|
-
#
|
78
|
-
#
|
79
|
-
#
|
80
|
-
|
79
|
+
# .transitive_dependencies_by_pod
|
80
|
+
# .values_at(*pods_for_transitive_dependencies)
|
81
|
+
# .compact
|
82
|
+
# .flatten(1)
|
83
|
+
# .uniq
|
84
|
+
# .sort_by(&:name)
|
85
|
+
# .reject { |d| spec_names.include?(d.root_name) }
|
86
|
+
|
81
87
|
# dependencies.each do |dependency|
|
82
88
|
# pod_args = generator.pod_args_for_dependency(self, dependency)
|
83
89
|
# pod(*pod_args)
|
84
90
|
# end
|
85
91
|
# end
|
86
92
|
|
87
|
-
# Add platform-specific concrete targets that inherit the
|
88
|
-
|
89
|
-
spec_platform_names = spec.available_platforms.map(&:string_name).flatten.each.reject do |platform_name|
|
93
|
+
# Add platform-specific concrete targets that inherit the `pod` declaration for the local pod.
|
94
|
+
spec_platform_names = specs.flat_map { |s| s.available_platforms.map(&:string_name) }.uniq.each.reject do |platform_name|
|
90
95
|
!generator.configuration.platforms.nil? && !generator.configuration.platforms.include?(platform_name.downcase)
|
91
96
|
end
|
92
97
|
|
@@ -98,8 +103,16 @@ module Pod
|
|
98
103
|
|
99
104
|
# this block has to come _before_ inhibit_all_warnings! / use_modular_headers!,
|
100
105
|
# and the local `pod` declaration
|
101
|
-
#
|
102
|
-
|
106
|
+
# current_target_definition.instance_exec do
|
107
|
+
# transitive_dependencies = children.find { |c| c.name == 'Transitive Dependencies' }
|
108
|
+
|
109
|
+
# %w[use_modular_headers inhibit_warnings].each do |key|
|
110
|
+
# Pod::UI::puts "====key:#{key} value:#{value}"
|
111
|
+
# value = transitive_dependencies.send(:internal_hash).delete(key)
|
112
|
+
# next if value.blank?
|
113
|
+
# set_hash_value(key, value)
|
114
|
+
# end
|
115
|
+
# end
|
103
116
|
|
104
117
|
inhibit_all_warnings! if generator.inhibit_all_warnings?
|
105
118
|
# use_modular_headers! if generator.use_modular_headers?
|
@@ -112,15 +125,18 @@ module Pod
|
|
112
125
|
use_modular_headers!
|
113
126
|
end
|
114
127
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
{ testspecs: test_specs, appspecs: app_specs }.each do |key, specs|
|
120
|
-
pod_options[key] = specs.map { |s| s.name.sub(%r{^#{Regexp.escape spec.root.name}/}, '') }.sort unless specs.empty?
|
121
|
-
end
|
128
|
+
specs.each do |spec|
|
129
|
+
# This is the pod declaration for the local pod,
|
130
|
+
# it will be inherited by the concrete target definitions below
|
131
|
+
pod_options = generator.dependency_compilation_kwargs(spec.name)
|
122
132
|
|
123
|
-
|
133
|
+
path = spec.defined_in_file.relative_path_from(dir).to_s
|
134
|
+
pod_options[:path] = path
|
135
|
+
{ testspecs: test_specs_by_spec[spec], appspecs: app_specs_by_spec[spec] }.each do |key, subspecs|
|
136
|
+
pod_options[key] = subspecs.map { |s| s.name.sub(%r{^#{Regexp.escape spec.root.name}/}, '') }.sort unless subspecs.blank?
|
137
|
+
end
|
138
|
+
pod spec.name, **pod_options
|
139
|
+
end
|
124
140
|
|
125
141
|
if Pod::Config.instance.podfile
|
126
142
|
target_definitions['Pods'].instance_exec do
|
@@ -187,14 +203,16 @@ module Pod
|
|
187
203
|
|
188
204
|
# Implement local-sources option to set up dependencies to podspecs in the local filesystem.
|
189
205
|
next if generator.configuration.local_sources.empty?
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
206
|
+
specs.each do |spec|
|
207
|
+
generator.transitive_local_dependencies(spec, generator.configuration.local_sources).sort_by(&:first).each do |dependency, podspec_file|
|
208
|
+
pod_options = generator.dependency_compilation_kwargs(dependency.name)
|
209
|
+
pod_options[:path] = if podspec_file[0] == '/' # absolute path
|
210
|
+
podspec_file
|
211
|
+
else
|
212
|
+
'../../' + podspec_file
|
213
|
+
end
|
214
|
+
pod dependency.name, **pod_options
|
215
|
+
end
|
198
216
|
end
|
199
217
|
end
|
200
218
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-bb-bin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- humin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parallel
|
@@ -48,16 +48,22 @@ dependencies:
|
|
48
48
|
name: cocoapods-generate
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - "
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '2.2'
|
54
|
+
- - "<"
|
52
55
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
56
|
+
version: '3.0'
|
54
57
|
type: :runtime
|
55
58
|
prerelease: false
|
56
59
|
version_requirements: !ruby/object:Gem::Requirement
|
57
60
|
requirements:
|
58
|
-
- - "
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '2.2'
|
64
|
+
- - "<"
|
59
65
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
66
|
+
version: '3.0'
|
61
67
|
- !ruby/object:Gem::Dependency
|
62
68
|
name: cocoapods-bb-xcframework
|
63
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -197,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
203
|
- !ruby/object:Gem::Version
|
198
204
|
version: '0'
|
199
205
|
requirements: []
|
200
|
-
rubygems_version: 3.
|
206
|
+
rubygems_version: 3.3.5
|
201
207
|
signing_key:
|
202
208
|
specification_version: 4
|
203
209
|
summary: cocoapods-bb-bin is a plugin which helps develpers switching pods between
|