cocoapods-bb-PodAssistant 0.3.6.2 → 0.3.7.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/lib/cocoapods-bb-PodAssistant/config/data_config.rb +19 -0
- data/lib/cocoapods-bb-PodAssistant/config/source_manager.rb +34 -17
- data/lib/cocoapods-bb-PodAssistant/gem_version.rb +1 -1
- data/lib/cocoapods-bb-PodAssistant/helpers/pod_module_helper.rb +3 -1
- data/lib/cocoapods-bb-PodAssistant/podfile.rb +15 -4
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c05511614be707f5cfee282c3d4beaac8d1aa1fadc7803e5b5d8cea957b5d557
|
4
|
+
data.tar.gz: 7bd4674f79a97cb62acb9c6bc7b28ee70c3c5fb8c2337cb00403d5bd021d2c1f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c909195ec59c9c1b0c10e5c2681cd04be0db0f82f9813ad82396d036105eb0dc978483a639d611718abd992bcadf51e78bd9f7da8573d807bee294ecfb825d4f
|
7
|
+
data.tar.gz: 7a81e1511ad9cc43bf7eb8f208f08e056fd88a04d270732a47566775db124e1b4c71ef6194c4bd34b2a64004cc81e7063262b120dd1e35da999659b18b625fd9
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module BB
|
2
|
+
class DataConfig
|
3
|
+
def self.config
|
4
|
+
@config ||= DataConfig.new
|
5
|
+
end
|
6
|
+
|
7
|
+
# 需要过滤忽略组件
|
8
|
+
def ignore_dependencies_pod_names
|
9
|
+
puts "<===获取业务方配置过滤组件数据:#{@ignore_pods_list}".yellow
|
10
|
+
return @ignore_pods_list
|
11
|
+
end
|
12
|
+
|
13
|
+
# 配置过滤忽略组件
|
14
|
+
def set_ignore_dependencies_pod_names(pods=[])
|
15
|
+
puts "==>业务方配置需要过滤组件数据:#{pods} cls:#{pods.class}".yellow
|
16
|
+
@ignore_pods_list=pods
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -3,6 +3,7 @@ require 'cocoapods-bb-PodAssistant/config/stable_specs'
|
|
3
3
|
require 'cocoapods-bb-PodAssistant/helpers/stable_manager_helper'
|
4
4
|
require 'cocoapods-core'
|
5
5
|
require 'cocoapods-bb-PodAssistant/helpers/stable_env_helper'
|
6
|
+
require 'cocoapods-bb-PodAssistant/config/data_config'
|
6
7
|
|
7
8
|
# 数据源管理
|
8
9
|
module BB
|
@@ -392,7 +393,9 @@ module BB
|
|
392
393
|
end
|
393
394
|
# 矩阵产品需要过滤组件
|
394
395
|
def matrix_filter_pod_names(pods, ignore_dependencies_pod_names=[])
|
395
|
-
|
396
|
+
if ignore_dependencies_pod_names.nil? || ignore_dependencies_pod_names.length == 0
|
397
|
+
ignore_dependencies_pod_names=['BBSAdvert','BBSAdvertCompany'] # 如果业务方配置,以业务方为主,默认处理广告业务
|
398
|
+
end
|
396
399
|
find_ok_dependencies_pod_names=[]
|
397
400
|
filter_pod_names=[]
|
398
401
|
whitelist_pods={}
|
@@ -401,8 +404,14 @@ module BB
|
|
401
404
|
if ignore_dependencies_pod_names.length > 0
|
402
405
|
puts "业务方配置需要过滤数据:#{ignore_dependencies_pod_names} cls:#{ignore_dependencies_pod_names.class}".yellow
|
403
406
|
pods.each do |pod|
|
404
|
-
if pod.is_a?(Hash) #
|
407
|
+
if pod.is_a?(Hash) # 存在字典依赖关系
|
405
408
|
pod_name = pod.keys.first
|
409
|
+
elsif pod.is_a?(String) # 存在字符串依赖关系
|
410
|
+
pod_name = pod
|
411
|
+
else
|
412
|
+
pod_name = nil
|
413
|
+
end
|
414
|
+
if !pod_name.empty?
|
406
415
|
name, version = name_and_version_from_string(pod_name)
|
407
416
|
podCoreName = subspec_podname(name)
|
408
417
|
if ignore_dependencies_pod_names.include?(podCoreName) || find_ok_dependencies_pod_names.include?(name)
|
@@ -411,23 +420,30 @@ module BB
|
|
411
420
|
end
|
412
421
|
sub_pods=[]
|
413
422
|
data = pod[pod_name]
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
423
|
+
# puts "podCoreName:#{podCoreName} type:#{data.class} data:#{data}"
|
424
|
+
if data.is_a?(Array) # 存在数组依赖关系
|
425
|
+
data.each do | pod |
|
426
|
+
dependencies_pod_name = name_from_string(pod)
|
427
|
+
if dependencies_pod_name.include?(name) #subspecs
|
428
|
+
if !find_ok_dependencies_pod_names.include?(dependencies_pod_name)
|
429
|
+
find_ok_dependencies_pod_names.push(dependencies_pod_name)
|
430
|
+
end
|
419
431
|
end
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
432
|
+
if !sub_pods.include?(dependencies_pod_name)
|
433
|
+
sub_pods.push(dependencies_pod_name)
|
434
|
+
end
|
435
|
+
tmp_whitelist_pod_names = whitelist_pods[podCoreName]
|
436
|
+
if (podCoreName != name) && !tmp_whitelist_pod_names.include?(dependencies_pod_name)
|
437
|
+
dependencies_core_pod_name = subspec_podname(dependencies_pod_name)
|
438
|
+
if (podCoreName != dependencies_core_pod_name) && !whitelist.include?(dependencies_core_pod_name) && !filter_pod_names.include?(dependencies_core_pod_name)
|
439
|
+
filter_pod_names.push(dependencies_core_pod_name)
|
440
|
+
end
|
429
441
|
end
|
430
442
|
end
|
443
|
+
elsif data.is_a?(String) # 存在字符串依赖关系
|
444
|
+
if !whitelist.include?(podCoreName) && !filter_pod_names.include?(podCoreName)
|
445
|
+
filter_pod_names.push(podCoreName)
|
446
|
+
end
|
431
447
|
end
|
432
448
|
if podCoreName == name
|
433
449
|
whitelist_pods[podCoreName]=sub_pods
|
@@ -459,7 +475,8 @@ module BB
|
|
459
475
|
end
|
460
476
|
# 生成项目stable配置文件
|
461
477
|
# 策略:根据podfile.lock dependencies依赖记录pod core标签/分支数据,不存储subspec数据
|
462
|
-
def generate_localStable(
|
478
|
+
def generate_localStable()
|
479
|
+
ignore_dependencies_pod_names = BB::DataConfig.config.ignore_dependencies_pod_names
|
463
480
|
lockfile = podfile_lock
|
464
481
|
local_specs = {}
|
465
482
|
internal_data = lockfile.internal_data
|
@@ -21,8 +21,10 @@ module BB
|
|
21
21
|
# member_configs 项目成员工程配置
|
22
22
|
# ignore_local_stable 是否忽略本地stable配置,true 适合pod子组件
|
23
23
|
# skip_stable_check 是否跳过stable检测,true 采用标准pod合并操作
|
24
|
-
|
24
|
+
# ignore_dependencies_pod_names 过滤组件,不受stable版本控制
|
25
|
+
def initialize(all_modules, member_modules = {}, member_configs = [], ignore_local_stable = false, skip_stable_check = false, ignore_dependencies_pod_names=[])
|
25
26
|
@source_manager = BB::SourceManager.new()
|
27
|
+
BB::DataConfig.config.set_ignore_dependencies_pod_names(ignore_dependencies_pod_names)
|
26
28
|
#加载远程稳定仓库 和本地podfile 指定的仓库进行合并
|
27
29
|
if skip_stable_check == true
|
28
30
|
# 过滤带:remove数据
|
@@ -54,11 +54,17 @@ module Pod
|
|
54
54
|
source_manager.generate_pod_module_dependency(pod_names)
|
55
55
|
end
|
56
56
|
# pod组件合并操作(项目)
|
57
|
-
|
57
|
+
# 参数说明
|
58
|
+
# all_modules 业务使用组件
|
59
|
+
# member_modules 项目成员模块,一般用于切本地开发使用
|
60
|
+
# member_configs 项目成员工程配置
|
61
|
+
# skip_stable_check 是否跳过stable检测,true 采用标准pod合并操作
|
62
|
+
# ignore_dependencies_pod_names 过滤组件,不受stable版本控制
|
63
|
+
def project_pod_module_run(pod_modules, member_modules = {}, member_configs = [], skip_stable_check = false, ignore_dependencies_pod_names=[])
|
58
64
|
# Pod::UI.puts "Pod Module:#{pod_modules}"
|
59
65
|
time1 = Time.new
|
60
66
|
puts "[PodAssistant]项目pod组件组装开始操作时间:#{time1}".green
|
61
|
-
source = BB::PodModule.new(pod_modules, member_modules, member_configs, false, skip_stable_check)
|
67
|
+
source = BB::PodModule.new(pod_modules, member_modules, member_configs, false, skip_stable_check, ignore_dependencies_pod_names)
|
62
68
|
pod_box_module_run(source)
|
63
69
|
time2 = Time.new
|
64
70
|
puts "[PodAssistant]项目pod组件组装结束时间:#{time2}".green
|
@@ -67,11 +73,16 @@ module Pod
|
|
67
73
|
puts "项目pod组件组装操作耗时:#{time.to_s.send(:red)}秒".green
|
68
74
|
end
|
69
75
|
# pod组件合并操作(单组件)
|
70
|
-
|
76
|
+
# 参数说明
|
77
|
+
# all_modules 业务使用组件
|
78
|
+
# member_modules 项目成员模块,一般用于切本地开发使用
|
79
|
+
# member_configs 项目成员工程配置
|
80
|
+
# ignore_dependencies_pod_names 过滤组件,不受stable版本控制
|
81
|
+
def pod_module_run(pod_modules, member_modules = {}, member_configs = [], ignore_dependencies_pod_names=[])
|
71
82
|
# Pod::UI.puts "Pod Module:#{pod_modules}"
|
72
83
|
time1 = Time.new
|
73
84
|
puts "[PodAssistant]pod组件组装开始操作时间:#{time1}".green
|
74
|
-
source = BB::PodModule.new(pod_modules, member_modules, member_configs, true, true)
|
85
|
+
source = BB::PodModule.new(pod_modules, member_modules, member_configs, true, true, ignore_dependencies_pod_names)
|
75
86
|
pod_box_module_run(source)
|
76
87
|
time2 = Time.new
|
77
88
|
puts "[PodAssistant]pod组件组装结束时间:#{time2}".green
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-bb-PodAssistant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- humin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cocoapods-core
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.2.
|
47
|
+
version: 0.2.9.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.2.
|
54
|
+
version: 0.2.9.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: fastlane
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,16 +70,16 @@ dependencies:
|
|
70
70
|
name: bundler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -125,6 +125,7 @@ files:
|
|
125
125
|
- lib/cocoapods-bb-PodAssistant/command/stable/sync.rb
|
126
126
|
- lib/cocoapods-bb-PodAssistant/command/stable/update.rb
|
127
127
|
- lib/cocoapods-bb-PodAssistant/config/cache_path.rb
|
128
|
+
- lib/cocoapods-bb-PodAssistant/config/data_config.rb
|
128
129
|
- lib/cocoapods-bb-PodAssistant/config/source_manager.rb
|
129
130
|
- lib/cocoapods-bb-PodAssistant/config/stable_source.rb
|
130
131
|
- lib/cocoapods-bb-PodAssistant/config/stable_specs.rb
|
@@ -161,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
161
162
|
- !ruby/object:Gem::Version
|
162
163
|
version: '0'
|
163
164
|
requirements: []
|
164
|
-
rubygems_version: 3.5.
|
165
|
+
rubygems_version: 3.5.21
|
165
166
|
signing_key:
|
166
167
|
specification_version: 4
|
167
168
|
summary: A longer description of cocoapods-bb-PodAssistant.
|