cocoapods-meitu-bin 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 471b86e9797ce3ab7f09877755b0c3473baa5ea31ff3d3f19694dd829059b033
4
- data.tar.gz: eef8b276868277386cc2153030a0f8dab00ee0fba7d4574d05c04406879e3aa7
3
+ metadata.gz: d866fcda4827c97d86810fa175e8f2e94ba8b9b7cb5fddba738168a39de9e209
4
+ data.tar.gz: 1ba573957dfc51fa2cc2b4f42ab483864b78d4f57c59280be20d31b758950d9a
5
5
  SHA512:
6
- metadata.gz: 56f89da57ab03d6622b7c2f5649bd45a68fc89c6dd9847fafcf547da1d6a80255cb33c22ac12629d49e4d272b977d19911fe9a318721e6c7425775464dd3e3e0
7
- data.tar.gz: 41be7d7d12089f6a6c8c74f45d4eda244f478c20634ea27d553b74bccc104b0c6cc6840b91320addf3bd97cf1c51915ea814a66096d0efd53b9f97d63d79ce73
6
+ metadata.gz: 828c4415a0cb11b9d920a804e59285e1b41d215d96804917e641e8c0438165c565c519ea715bbccc4381aaf1a90c63067166bc9777548f954cd7c00116270866
7
+ data.tar.gz: 1ad302d1311dca387411bd59ba4333a17ffcd81f59bed55059dfee8d70b9f74d53679394fe94696c7fd9b30261ac9b03a98bdf6fcffe5e31eb031135d16b7f47
@@ -16,6 +16,7 @@ require 'cocoapods-meitu-bin/command/bin/source'
16
16
  require 'cocoapods-meitu-bin/helpers'
17
17
  require 'cocoapods-meitu-bin/helpers/framework_builder'
18
18
  require 'cocoapods-meitu-bin/native/clean'
19
+ require 'cocoapods-meitu-bin/native/verify'
19
20
  module Pod
20
21
  class Command
21
22
  # This is an example of a cocoapods plugin adding a top-level subcommand
@@ -1,5 +1,5 @@
1
1
  module CBin
2
- VERSION = "1.4.0"
2
+ VERSION = "1.4.1"
3
3
  end
4
4
 
5
5
  module Pod
@@ -0,0 +1,107 @@
1
+ # 用于效验podfile相关准确性
2
+ module Pod
3
+ class Command
4
+ class Bin < Command
5
+ class Verify < Bin
6
+ # self.abstract_command = true
7
+ self.summary = '效验podfile相关准确性'
8
+ self.description = <<-DESC
9
+ #{summary},效验podfile相关准确性
10
+ DESC
11
+
12
+ def self.options
13
+ [
14
+ %w[--verify-podfile podfile是否正确且相关依赖正常],
15
+ %w[--verify-podfile-branch 效验podfile是否包含:branch=>'xxx'语法],
16
+ ].concat(super).uniq
17
+ end
18
+
19
+ def initialize(argv)
20
+ @verify_podfile = argv.flag?('verify-podfile', false)
21
+ @verify_podfile_branch = argv.flag?('verify-podfile-branch', false)
22
+ super
23
+ end
24
+
25
+ def run
26
+ # Pod::UI.puts "共删除#{size}二进制版本pod缓存".red
27
+
28
+ if @verify_podfile
29
+ analyzing_dependencies
30
+ end
31
+ if @verify_podfile_branch
32
+ verify_podfile_branch
33
+ end
34
+ end
35
+
36
+ private
37
+ def verify_podfile
38
+ begin
39
+ podfile
40
+ rescue Pod::DSLError => error
41
+ info ="podfile文件效验失败:#{error}"
42
+ raise Pod::DSLError.new(info, path, error, contents)
43
+ end
44
+ begin
45
+ analyzing_dependencies
46
+ rescue Pod::DSLError => error
47
+ # puts "podfile依赖分析失败:#{error}"
48
+ info = "podfile依赖分析失败:#{error}"
49
+ raise Pod::DSLError.new(info, path, error, contents)
50
+ end
51
+ end
52
+ def verify_podfile_branch
53
+ begin
54
+ podfile
55
+ rescue Pod::DSLError => error
56
+ info = "podfile文件效验失败:#{error.message}"
57
+ raise Pod::DSLError.new(info, path, error, contents)
58
+ end
59
+ podfile_obj = podfile
60
+ branch_list = []
61
+ podfile_obj.target_definitions.each do |target_name, target_definition|
62
+ target_definition.dependencies.each do |dependency|
63
+ if dependency.external_source
64
+ if dependency.external_source[:branch]
65
+ branch = dependency.external_source[:branch]
66
+ branch_list << "#{dependency.name}:#{branch}"
67
+ end
68
+ end
69
+ end
70
+ end
71
+ if branch_list.count > 0
72
+ Pod::UI.puts "podfile包含以下branch:#{branch_list}".red
73
+ Pod::UI.puts "请检查podfile是否包含 :branch => 'xxx' 语法".red
74
+
75
+ raise Pod::DSLError.new("合入develop分支不能使用branch,podfile包含branch,请检查:#{branch_list}", nil, nil, nil)
76
+ end
77
+ end
78
+ def analyzing_dependencies
79
+ analyzer = Pod::Installer::Analyzer.new(
80
+ sandbox,
81
+ podfile,
82
+ lockfile
83
+ )
84
+ analyzer.update_repositories
85
+ analyzer.analyze(true)
86
+ end
87
+ def podfile
88
+ @podfile ||= Pod::Config.instance.podfile
89
+ end
90
+
91
+ # 获取 podfile.lock
92
+ def lockfile
93
+ @lockfile ||= Pod::Config.instance.lockfile
94
+ end
95
+
96
+ # 获取 sandbox
97
+ def sandbox
98
+ @sandbox ||= Pod::Config.instance.sandbox
99
+ end
100
+ def clean_all_binary
101
+ # Your method implementation here
102
+
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -203,6 +203,13 @@ Pod::HooksManager.register('cocoapods-meitu-bin', :pre_install) do |_context|
203
203
  Pod::UI.puts "当前configuration: `#{ENV['configuration'] || Pod::Config.instance.podfile.configuration}`".green
204
204
  # pod bin repo update 更新二进制私有源
205
205
  Pod::Command::Bin::Repo::Update.new(CLAide::ARGV.new($ARGV)).run
206
+ #获取analyzer中所有git 且branch 指向的pod
207
+ Pod::Config.instance.podfile.dependencies.map do |dependency|
208
+ if dependency.external_source && dependency.external_source[:git] && (dependency.external_source[:branch] || (dependency.external_source.size == 1))
209
+ #brash 指定的组件添加到全局PodUpdateConfig配置中,执行pod install 需要更新的分支最新提交
210
+ PodUpdateConfig.add_value(dependency.name)
211
+ end
212
+ end
206
213
  content = File.read(Pod::Config.instance.podfile_path)
207
214
  if content
208
215
  if content.include?("target \"MTXX\"")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-meitu-bin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jensen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-05 00:00:00.000000000 Z
11
+ date: 2023-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -164,6 +164,7 @@ files:
164
164
  - lib/cocoapods-meitu-bin/native/specification.rb
165
165
  - lib/cocoapods-meitu-bin/native/target_validator.rb
166
166
  - lib/cocoapods-meitu-bin/native/validator.rb
167
+ - lib/cocoapods-meitu-bin/native/verify.rb
167
168
  - lib/cocoapods-meitu-bin/source_provider_hook.rb
168
169
  - lib/cocoapods_plugin.rb
169
170
  - spec/command/bin_spec.rb