cocoapods-mtxx-bin 0.0.10 → 0.0.12

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: 40602fdc840e2eb27939c1f3eaffb2d008c35ac79834e9388a254b5663138510
4
- data.tar.gz: bde311b8c960a178b1c033715d60e22281b97a90143602649ed4edff83d5ac51
3
+ metadata.gz: 6887cb67f5682b2edff6ac1e6ba31233d4b58a2ae509fecf4fcbcecd5e7af693
4
+ data.tar.gz: ce7199feb46ac2a4e2e49b30b6ee2e99acf26f4300164f4e7a6689f520c7de31
5
5
  SHA512:
6
- metadata.gz: 6061d7be0b25cf7270f789cac3fa6984029a47ff4856c769615a96777a9b968b7de071d6eeb857729f15a18126293ff24571722b811e8ef807ac75116cf9a336
7
- data.tar.gz: 8c1d5822f00a15c3613b4b9bb1a2b23c92e95e478c5e98fee6b92746d3d126c18351f6c64ea11895735995b6843f08b5196ab2e13ffb8a07f0c0a29c3c0cd420
6
+ metadata.gz: cd5da7bb0b6476632cc6323ba276cf17264adcdfadd000aa1965333860905e43c74d3b8d5072414e81777f8cef92bea5c522057a473c5351e31b17626cf2d839
7
+ data.tar.gz: 8c4bc558c517cb54bb453026b1222f7f4ddadd67bffaba2c1a5b3868ff08288694b71a37daaa836ec36145c1da404246d93c4a60a2dd3dfb23bf8ffb5c88d8c1
@@ -1,5 +1,5 @@
1
1
  module CBin
2
- VERSION = "0.0.10"
2
+ VERSION = "0.0.12"
3
3
  end
4
4
 
5
5
  module Pod
@@ -0,0 +1,36 @@
1
+ module CBin
2
+ class PodSize
3
+ include Pod
4
+
5
+ # 存放大于阈值的Pod
6
+ @@pods = []
7
+ # 阈值,单位MB
8
+ @@size_threshold = 500
9
+
10
+ # 添加超过阈值的pod
11
+ def self.add_pod(pod)
12
+ if pod['size'].to_i < @@size_threshold * 1024
13
+ return
14
+ end
15
+ @@pods << pod
16
+ end
17
+
18
+ # 打印超过阈值的Pod库
19
+ def self.print_pods
20
+ if @@pods.empty?
21
+ return
22
+ end
23
+ UI.puts "\n"
24
+ UI.puts "以下Pod库下载大小大于阈值`#{@@size_threshold}MB`:".green
25
+ @@pods.map do |pod|
26
+ unit = 'KB'
27
+ size = pod['size'].to_i
28
+ if size >= 1024
29
+ unit = 'MB'
30
+ size = ('%.1f' % (size / 1024.0)).to_f
31
+ end
32
+ UI.puts " - #{pod['name']}:#{size}#{unit}".green
33
+ end
34
+ end
35
+ end
36
+ end
@@ -16,7 +16,7 @@ module Pod
16
16
  env_option :warn_for_unsecure_source, false
17
17
 
18
18
  # 是否多线程执行 install_pod_sources
19
- env_option :install_with_multi_threads, true
19
+ env_option :install_with_multi_threads, false
20
20
 
21
21
  # 是否多进程执行 update_repositories
22
22
  env_option :update_source_with_multi_threads, false
@@ -3,6 +3,7 @@ require 'parallel'
3
3
  require 'cocoapods'
4
4
  require 'xcodeproj'
5
5
  require 'cocoapods-mtxx-bin/native/pod_source_installer'
6
+ require 'cocoapods-mtxx-bin/helpers/pod_size_helper'
6
7
 
7
8
  module Pod
8
9
  class Installer
@@ -56,10 +57,21 @@ module Pod
56
57
  end
57
58
 
58
59
  # 写入lock文件
59
- alias old_write_lockfiles write_lockfiles
60
60
  def write_lockfiles
61
61
  start_time = Time.now
62
- old_write_lockfiles
62
+ @lockfile = generate_lockfile
63
+
64
+ UI.message "- Writing Lockfile in #{UI.path config.lockfile_path}" do
65
+ # No need to invoke Sandbox#update_changed_file here since this logic already handles checking if the
66
+ # contents of the file are the same.
67
+ @lockfile.write_to_disk(config.lockfile_path)
68
+ end
69
+
70
+ UI.message "- Writing Manifest in #{UI.path sandbox.manifest_path}" do
71
+ # No need to invoke Sandbox#update_changed_file here since this logic already handles checking if the
72
+ # contents of the file are the same.
73
+ @lockfile.write_to_disk(sandbox.manifest_path)
74
+ end
63
75
  cost_time_hash['write_lockfiles'] = Time.now - start_time
64
76
  end
65
77
 
@@ -71,6 +83,8 @@ module Pod
71
83
  cost_time_hash['perform_post_install_actions'] = Time.now - start_time
72
84
  # 打印耗时
73
85
  print_cost_time
86
+ # 打印大小大于阈值的库
87
+ CBin::PodSize.print_pods
74
88
  end
75
89
 
76
90
  # 打印耗时
@@ -80,7 +94,7 @@ module Pod
80
94
  UI.info "|#{'Stage'.center(30)}|#{'Time(s)'.center(15)}|".green
81
95
  UI.info '———————————————————————————————————————————————'.green
82
96
  cost_time_hash.each do |key, value|
83
- UI.info "|#{key.center(30)}|#{value.to_s.center(15)}|".green
97
+ UI.info "|#{key.center(30)}|#{('%.3f' % value).to_s.center(15)}|".green
84
98
  end
85
99
  UI.info '———————————————————————————————————————————————'.green
86
100
  end
@@ -159,6 +173,7 @@ module Pod
159
173
 
160
174
  module Downloader
161
175
  class Cache
176
+ require 'cocoapods-mtxx-bin/helpers/pod_size_helper'
162
177
  # 多线程锁
163
178
  @@lock = Mutex.new
164
179
 
@@ -180,6 +195,30 @@ module Pod
180
195
  version_file.open('w') { |f| f << Pod::VERSION }
181
196
  end
182
197
  end
198
+
199
+ def uncached_pod(request)
200
+ in_tmpdir do |target|
201
+ result, podspecs = download(request, target)
202
+ result.location = nil
203
+
204
+ # 记录下载大小大于阈值的库及大小
205
+ if File.exist?(target.to_s)
206
+ dir_size = `du -sk #{target.to_s}`.strip().split(' ')[0]
207
+ CBin::PodSize.add_pod({'name' => request.name, 'size' => dir_size})
208
+ end
209
+
210
+ podspecs.each do |name, spec|
211
+ destination = path_for_pod(request, :name => name, :params => result.checkout_options)
212
+ copy_and_clean(target, destination, spec)
213
+ write_spec(spec, path_for_spec(request, :name => name, :params => result.checkout_options))
214
+ if request.name == name
215
+ result.location = destination
216
+ end
217
+ end
218
+
219
+ result
220
+ end
221
+ end
183
222
  end
184
223
  end
185
224
  end
@@ -42,5 +42,28 @@ module Pod
42
42
  end
43
43
  result
44
44
  end
45
+
46
+ class << self
47
+ def generate_spec_repos(spec_repos)
48
+ result = Hash.new
49
+ spec_repos.map do |source, specs|
50
+ next unless source
51
+ next if specs.empty?
52
+ key = source.url || source.name
53
+
54
+ # save `trunk` as 'trunk' so that the URL itself can be changed without lockfile churn
55
+ key = Pod::TrunkSource::TRUNK_REPO_NAME if source.name == Pod::TrunkSource::TRUNK_REPO_NAME
56
+
57
+ value = specs.map { |s| s.root.name }.uniq
58
+ # 合并重复的source源,而不是替换
59
+ if result[key].nil?
60
+ result[key] = YAMLHelper.sorted_array(value)
61
+ else
62
+ result[key] = YAMLHelper.sorted_array(result[key].concat(value))
63
+ end
64
+ end
65
+ result.compact
66
+ end
67
+ end
45
68
  end
46
69
  end
@@ -133,7 +133,7 @@ module Pod
133
133
 
134
134
  start_time = Time.now
135
135
  @activated = Molinillo::Resolver.new(self, self).resolve(dependencies, locked_dependencies)
136
- UI.puts "Molinillo resolve耗时:#{Time.now - start_time}".green
136
+ UI.puts "Molinillo resolve耗时:#{'%.1f' % (Time.now - start_time)}s".green
137
137
  resolver_specs_by_target
138
138
  rescue Molinillo::ResolverError => e
139
139
  handle_resolver_error(e)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-mtxx-bin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jensen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-30 00:00:00.000000000 Z
11
+ date: 2022-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -135,6 +135,7 @@ files:
135
135
  - lib/cocoapods-mtxx-bin/helpers/framework_builder.rb
136
136
  - lib/cocoapods-mtxx-bin/helpers/library.rb
137
137
  - lib/cocoapods-mtxx-bin/helpers/library_builder.rb
138
+ - lib/cocoapods-mtxx-bin/helpers/pod_size_helper.rb
138
139
  - lib/cocoapods-mtxx-bin/helpers/sources_helper.rb
139
140
  - lib/cocoapods-mtxx-bin/helpers/spec_creator.rb
140
141
  - lib/cocoapods-mtxx-bin/helpers/spec_files_helper.rb