pod-pipeline 0.5.2 → 0.5.3

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: db51e93a3eb0a400e90b2beb2153de9519b2b548ad7ddccde9af2486bba61742
4
- data.tar.gz: 5bf678bfd5829e5022b0e693f69443faa9bcab9b0a53b43a7b10e1579c05e0a2
3
+ metadata.gz: fd5fd584f64a59dee8b4cd3689531c99fdf216de5303b00df371ea5a2199d81f
4
+ data.tar.gz: 90b7e415404252fc567d931b4e922109e5dbfe3c6882374a67ef89cd0f14246c
5
5
  SHA512:
6
- metadata.gz: 0d36354903bf2238d446620712e97087cda0e13b4e7303c24e5abce46c3c67b381c530ae379633bd429abb531a44c23d58fd4e67074cbdbc8902d5d25a03f106
7
- data.tar.gz: edd7a6d04f81316e3bfddc8b9fcc91e32e5579def299609240300ce0ecb31cc6f790d21c602bf4de998e81a32137e3baf62683953007a16ec9bd3de9cfab8be2
6
+ metadata.gz: 25d687633b6682b57b6fa3873405f551fe628fddea3f802e5f52c898d9f854907a189c10cec9cbce03a5e1f222ac9a51ba40ac5816c9d5d6871e9ce8d1681b99
7
+ data.tar.gz: 6b7c5325085f307cdbd6692186a7a083eef5bab5890d81fd2780816fb999a83c37702aecda49e53a5ff21866e9c2a85684bc990ef3b620d7c067c0776876c10d
@@ -22,7 +22,8 @@ module PPL
22
22
  ['--output=./', '项目构建的输出目录。(默认使用项目根目录)'],
23
23
  ['--configuration=Release', '项目构建的环境。(默认为Release)'],
24
24
  ['--arch=arm64,armv7,x86_64', '项目构建的架构。(默认为 arm64,armv7,x86_64)'],
25
- ['--combine=local,pod', '项目构建后合并依赖库的二进制文件,local为本地依赖库,pod为CocoaPods依赖库。(默认为 local)'],
25
+ ['--combine=local,pod', '项目构建后合并依赖库的二进制文件,local为本地依赖库,pod为CocoaPods依赖库。(默认为 不合并)'],
26
+ ['--combine-ignore=name1,name2', '项目构建后合并依赖库的二进制文件,标注不想合并的内容。'],
26
27
  ['--bundle-merge=merge', '是否合并所有资源包,参数为合并后的资源包名。(默认为 不合并)'],
27
28
  ].concat(super)
28
29
  end
@@ -33,6 +34,7 @@ module PPL
33
34
  @configuration = argv.option('configuration', '').split(',').first
34
35
  @archs = argv.option('arch', '').split(',')
35
36
  @combines = argv.option('combine', '').split(',')
37
+ @combine_ignore = argv.option('combine-ignore', '').split(',')
36
38
  @bundle_merge = argv.option('bundle-merge', '').split(',').first
37
39
 
38
40
  @projectPath = @path.count.zero? ? Pathname.pwd.to_s : @path.first
@@ -141,7 +143,7 @@ module PPL
141
143
  inputs << "#{@output}/Example/Pods/**/Frameworks/**/*.framework/*"
142
144
  end
143
145
 
144
- Binary.combine(binary, inputs)
146
+ Binary.combine(binary, inputs, @combine_ignore)
145
147
  Binary.thin(binary, @archs)
146
148
  end
147
149
 
@@ -163,7 +165,7 @@ module PPL
163
165
  inputs << "#{@output}/Example/Pods/**/Frameworks/**/*.bundle"
164
166
  end
165
167
 
166
- Bundle.cp(inputs, @build_path)
168
+ Bundle.cp(inputs, @build_path, @combine_ignore)
167
169
  end
168
170
 
169
171
  def merge_bundles
@@ -1,6 +1,6 @@
1
1
  module PPL
2
2
  class Binary
3
- def self.combine(output, inputs, ignore="")
3
+ def self.combine(output, inputs, ignore_list=[])
4
4
  puts "\n目标文件:#{output}\n"
5
5
 
6
6
  #获取合并文件的路径序列
@@ -8,17 +8,24 @@ module PPL
8
8
  inputs.each do |input|
9
9
  puts "\n合并路径:#{input}"
10
10
 
11
- Dir[input].each do |input_file|;
11
+ Dir[input].each do |input_file|
12
12
  #若 input_file 为目录 则跳过
13
13
  next if Dir.exists? input_file
14
- #若 input_file 为被忽略标记的文件 则跳过
15
- unless ignore.empty?
16
- next if File.basename(input_file).include? File.basename(ignore)
17
- end
18
14
  #若 input_file 为非二进制文件 则跳过
19
15
  info_log = `lipo -info "#{input_file}" > /dev/null 2>&1
20
16
  echo result:$?`
21
17
  next unless info_log.include? 'result:0'
18
+ #若 input_file 为被忽略标记的文件 则跳过
19
+ is_ignore = false
20
+ ignore_list.each { |ignore|
21
+ input_file_basename = File.basename(input_file)
22
+ ignore_basename = File.basename(ignore)
23
+ if input_file_basename == ignore_basename || input_file_basename == "lib#{ignore_basename}.a"
24
+ is_ignore = true
25
+ break
26
+ end
27
+ }
28
+ next if is_ignore
22
29
  #若 input_file 为序列中已存在的文件 则跳过
23
30
  next if input_file_queue.include? input_file
24
31
 
@@ -1,6 +1,6 @@
1
1
  module PPL
2
2
  class Bundle
3
- def self.cp(inputs, output)
3
+ def self.cp(inputs, output, ignore_list=[])
4
4
  puts "\n目标文件:#{output}\n"
5
5
 
6
6
  #获取合并文件的路径序列
@@ -10,7 +10,17 @@ module PPL
10
10
  Dir[input].each do |input_bundle|;
11
11
  #若 input_bundle 为输出目录 则跳过
12
12
  next if input_bundle.eql? output
13
-
13
+ #若 input_bundle 为被忽略标记的文件 则跳过
14
+ is_ignore = false
15
+ ignore_list.each { |ignore|
16
+ input_file_basename = File.basename(input_bundle)
17
+ ignore_basename = File.basename(ignore)
18
+ if input_file_basename == "#{ignore_basename}.bundle"
19
+ is_ignore = true
20
+ break
21
+ end
22
+ }
23
+ next if is_ignore
14
24
  #合并
15
25
  puts "合并资源包:" + input_bundle
16
26
  FileUtils.cp_r(input_bundle, output, :preserve => true)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pod-pipeline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - 郑贤达
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-27 00:00:00.000000000 Z
11
+ date: 2022-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods-core