cocoapods-binaryhqp 0.4.8 → 0.4.9

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: bdd23ae869768d260d8575fd1ef550c3d68efde0256099537f443d44c7a6b6c0
4
- data.tar.gz: d9288a1d9d6b3148adadccaf1608b51cb34280093a33e3bc29bc6f23d52c7cda
3
+ metadata.gz: 14566192d217044c6dc8d8b93af1d0296c14f092006c9880cf8beb689802cd34
4
+ data.tar.gz: 6e22703f0dad2e1f8cbdff851ad26d8b1033dd530e5c98c000e10d9900b65fcc
5
5
  SHA512:
6
- metadata.gz: da7673f9961783babc73636d91c44885e4821fb0fd98ede8ec8c877d59a447f2cd4f56e62f7a6cafc64c6e19b509d9a3e5a1193ec8d36bdb4b5343e8c86533bb
7
- data.tar.gz: 6f2a336589e0893c47ce358efe1e88dc567094a531ed07a81fd9e987001e2740dbc65b522f41f69db1722ee180aa393cddea806da628c004512b0ad7ae8b113d
6
+ metadata.gz: dc6a18e6324e3d5b6a37aed9a10c2477b3037752026439de9416fda800c234407b2cf3f8d9ac13496c14ab8a9dc588072d195ac508919c284a1a0d21b7773b6b
7
+ data.tar.gz: 93547fff043c799c6489041300733cb676f9daf1792df574181359178254cf8696295960740fb86e04a8f0cc09099037036e768dad581e185438fe434fec0018
data/.vscode/launch.json CHANGED
@@ -8,8 +8,8 @@
8
8
  "useBundler": true,
9
9
  "cwd": "${workspaceRoot}/demo", // pod 命令执行的路径
10
10
  "program": "/usr/local/bin/pod",
11
- "args": ["update", "--verbose","--sources=http://gitlab.9tong.com/ios-group/HQPFoundation/hqpspecs.git"], // `pod` 命令的参数
12
- // "args": ["install"]
11
+ // "args": ["update", "--verbose","--sources=http://gitlab.9tong.com/ios-group/HQPFoundation/hqpspecs.git"], // `pod` 命令的参数
12
+ "args": ["install", "--verbose"]
13
13
  }
14
14
  ]
15
15
  }
@@ -133,6 +133,8 @@ Pod::HooksManager.register('cocoapods-binaryhqp', :pre_install) do |installer_co
133
133
  # install
134
134
  lockfile = installer_context.lockfile
135
135
  binary_installer = Pod::Installer.new(prebuild_sandbox, prebuild_podfile, lockfile)
136
+
137
+ binary_installer.delete_standard_sand_box_pod(standard_sandbox)
136
138
 
137
139
  if binary_installer.have_exact_prebuild_cache? && !update
138
140
  binary_installer.install_when_cache_hit!
@@ -33,7 +33,7 @@ module Pod
33
33
  unchanged_pod_names.reverse_each do |name|
34
34
  mainfest_pod_version = local_manifest.version(name).to_s
35
35
  already_prebuild_version = prebuilded_framework_version(name) || "未找到"
36
- if already_prebuild_version != mainfest_pod_version
36
+ if not compare_version(mainfest_pod_version, already_prebuild_version)
37
37
  Pod::UI.puts("- #{name} 已编译版本 #{already_prebuild_version}, manifest中的版本: #{mainfest_pod_version}") if config.verbose
38
38
  changed_pod_names = changed_pod_names.push(name)
39
39
  unchanged_pod_names.delete(name)
@@ -42,12 +42,25 @@ module Pod
42
42
 
43
43
  changes[:changed] = changed_pod_names
44
44
  changes[:unchanged] = unchanged_pod_names
45
- Pod::UI.puts("需要重编译的framework : #{changed_pod_names.to_s}") if config.verbose
45
+ Pod::UI.puts("Pre 需要重编译的framework : #{changed_pod_names.to_s}") if config.verbose
46
46
  @prebuild_pods_changes = Analyzer::SpecsState.new(changes)
47
47
  # save the chagnes info for later stage
48
48
  Pod::Prebuild::Passer.prebuild_pods_changes = @prebuild_pods_changes
49
49
  @prebuild_pods_changes
50
50
  end
51
+
52
+ # compare version
53
+ # 1.2.0 == 1.2 => true
54
+ # 1.2.1 != 1.2.0 => false
55
+ def compare_version(first_version, second_version)
56
+ first_nums = first_version.split('.')
57
+ second_nums = second_version.split('.')
58
+
59
+ first_nums.pop until first_nums.last.to_i != 0
60
+ second_nums.pop until second_nums.last.to_i != 0
61
+
62
+ first_nums == second_nums
63
+ end
51
64
 
52
65
 
53
66
  public
@@ -57,19 +70,35 @@ module Pod
57
70
  changes = lockfile.detect_changes_with_podfile(podfile)
58
71
  unchanged_pod_names = changes[:unchanged]
59
72
  changed_pod_names = changes[:changed]
73
+ add_pod_names = changes[:added]
74
+ removed_pod_names = changes[:removed]
75
+
76
+
60
77
  unchanged_pod_names.reverse_each do |name|
61
78
  mainfest_pod_version = lockfile.version(name).to_s
62
79
  already_prebuild_version = prebuilded_framework_version(name) || "未找到"
63
- if already_prebuild_version != mainfest_pod_version
64
- Pod::UI.puts("- #{name} 已编译版本 #{already_prebuild_version}, manifest中的版本: #{mainfest_pod_version}") if config.verbose
80
+ if compare_version(mainfest_pod_version, already_prebuild_version)
81
+ # 已经编译了
82
+ removed_pod_names.delete(name) if removed_pod_names.include?(name)
83
+ add_pod_names.delete(name) if add_pod_names.include?(name)
84
+ changed_pod_names.delete(name) if changed_pod_names.include?(name)
85
+
86
+ else
87
+ # 未找到相对应的版本
88
+ if already_prebuild_version == "99999.99999.99999"
89
+ Pod::UI.puts("- #{name}: 未找到预编译文件, manifest中的版本: #{mainfest_pod_version}") if config.verbose
90
+ else
91
+ Pod::UI.puts("- #{name}: 已编译版 #{already_prebuild_version}, manifest中的版本: #{mainfest_pod_version}") if config.verbose
92
+ end
65
93
  changed_pod_names = changed_pod_names.push(name)
66
- unchanged_pod_names.delete(name)
94
+ unchanged_pod_names.delete(name) if unchanged_pod_names.include?(name)
67
95
  end
68
96
  end
69
-
97
+ changes[:removed] = removed_pod_names
98
+ changes[:added] = add_pod_names
70
99
  changes[:changed] = changed_pod_names
71
100
  changes[:unchanged] = unchanged_pod_names
72
- Pod::UI.puts("需要重编译的framework : #{changed_pod_names.to_s}") if config.verbose
101
+ Pod::UI.puts("post 需要重编译的framework : #{(changed_pod_names + removed_pod_names + add_pod_names ).to_a}") if config.verbose
73
102
  @prebuild_pods_changes = Analyzer::SpecsState.new(changes)
74
103
  # save the chagnes info for later stage
75
104
  Pod::Prebuild::Passer.prebuild_pods_changes = @prebuild_pods_changes
@@ -101,7 +130,7 @@ module Pod
101
130
  # 当前已编译的framework的版本
102
131
  def prebuilded_framework_version(name)
103
132
  path = self.sandbox.plist_path_for_target_name(name)
104
- framework_version = ""
133
+ framework_version = "99999.99999.99999"
105
134
  if Pathname.new(path).exist?
106
135
  plist_file = CFPropertyList::List.new(:file => path)
107
136
  data = CFPropertyList.native_types(plist_file.value)
@@ -115,7 +144,20 @@ module Pod
115
144
  def install_when_cache_hit!
116
145
  # just print log
117
146
  self.sandbox.exsited_framework_target_names.each do |name|
118
- UI.puts "Using #{name}"
147
+ UI.puts "Using #{name}" if config.verbose
148
+ end
149
+ end
150
+
151
+ def delete_standard_sand_box_pod(standard_sanbox)
152
+ if lockfile
153
+ changes = lockfile.detect_changes_with_podfile(podfile)
154
+ need_update_pods = (changes[:added] + changes[:changed] + changes[:removed]).to_a
155
+
156
+ need_update_pods.each do |pod_name|
157
+ pod_path = Pathname.new(standard_sanbox.root.to_s + "/#{pod_name}")
158
+ Pod::UI.puts("删除 #{pod_path.to_s}")
159
+ pod_path.rmtree if pod_path.exist?
160
+ end
119
161
  end
120
162
  end
121
163
 
@@ -163,8 +205,8 @@ module Pod
163
205
  end.flatten
164
206
 
165
207
  # add the dendencies
166
- dependency_targets = targets.map {|t| t.recursive_dependent_targets }.flatten.uniq || []
167
- targets = (targets + dependency_targets).uniq
208
+ # dependency_targets = targets.map {|t| t.recursive_dependent_targets }.flatten.uniq || []
209
+ # targets = (targets + dependency_targets).uniq
168
210
  else
169
211
  targets = self.pod_targets
170
212
  end
@@ -1,3 +1,3 @@
1
1
  module CocoapodsBinaryHqp
2
- VERSION = "0.4.8"
2
+ VERSION = "0.4.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-binaryhqp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.8
4
+ version: 0.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - leavez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-29 00:00:00.000000000 Z
11
+ date: 2021-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods