lg_pod_plugin 1.1.6.0 → 1.1.6.3
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/lg_pod_plugin/downloader/downloader.rb +1 -3
- data/lib/lg_pod_plugin/downloader/l_cache.rb +42 -41
- data/lib/lg_pod_plugin/downloader/request.rb +0 -30
- data/lib/lg_pod_plugin/installer/install.rb +28 -28
- data/lib/lg_pod_plugin/installer/main.rb +3 -1
- data/lib/lg_pod_plugin/installer/project.rb +1 -1
- data/lib/lg_pod_plugin/pod/release-pod.rb +9 -7
- data/lib/lg_pod_plugin/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75b2349a1ddeb538035e926a25be2f3a18589e307c158dce81e3282e9c656e5d
|
4
|
+
data.tar.gz: 284ee67f49b9d6dba2123aba1c0649f8c525a5528666f772568a81c24c489b87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd8f333635e20d8f19a76bb0077ba52e48dd92d700941b22584ec5c875044ff827dec95eba287f8af1f820ac592140b98d76869f29b5d38e5fd21678e9c4ca08
|
7
|
+
data.tar.gz: 99c8fe2a58f062dc236862e2af6802afa2d7832a8a3a0a9c4d2c1ba9a1c814c18fb51fd8bde6686e301e4a9d61a1baef1bb77f7c788f51d0ae347c6167c922a6
|
@@ -54,10 +54,8 @@ module LgPodPlugin
|
|
54
54
|
# 发现本地有缓存, 不需要更新缓存
|
55
55
|
pod_is_exist, destination, cache_pod_spec = LCache.new.pod_cache_exist(name, hash_map, podspec, self.request.released_pod)
|
56
56
|
if pod_is_exist
|
57
|
-
is_delete = self.request.params["is_delete"] ||= false
|
58
|
-
LProject.shared.need_update_pods.delete(name) if is_delete
|
59
57
|
LgPodPlugin.log_green "find the cache of `#{name}`, you can use it now."
|
60
|
-
|
58
|
+
return nil
|
61
59
|
else
|
62
60
|
LgPodPlugin.log_green "find the new commit of `#{name}`, Git downloading now."
|
63
61
|
# 本地 git 下载 pod 目录
|
@@ -17,7 +17,7 @@ module LgPodPlugin
|
|
17
17
|
if (File.exist?(destination) && !destination.children.empty?) && cache_pod_spec.exist?
|
18
18
|
return [true, destination, cache_pod_spec]
|
19
19
|
else
|
20
|
-
[false, destination, cache_pod_spec]
|
20
|
+
return [false, destination, cache_pod_spec]
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
@@ -58,12 +58,12 @@ module LgPodPlugin
|
|
58
58
|
Pathname.new(path.to_path + '.podspec.json')
|
59
59
|
end
|
60
60
|
|
61
|
-
def self.cached_spec(request)
|
62
|
-
|
63
|
-
|
64
|
-
rescue JSON::ParserError
|
65
|
-
|
66
|
-
end
|
61
|
+
# def self.cached_spec(request)
|
62
|
+
# path = path_for_spec(request)
|
63
|
+
# path.file? && Specification.from_file(path)
|
64
|
+
# rescue JSON::ParserError
|
65
|
+
# nil
|
66
|
+
# end
|
67
67
|
|
68
68
|
def self.get_local_spec(request, target)
|
69
69
|
result = Pod::Downloader::Response.new
|
@@ -86,7 +86,7 @@ module LgPodPlugin
|
|
86
86
|
[result, local_specs]
|
87
87
|
end
|
88
88
|
|
89
|
-
def self.
|
89
|
+
def self.group_subspecs_by_platform(spec)
|
90
90
|
specs_by_platform = {}
|
91
91
|
[spec, *spec.recursive_subspecs].each do |ss|
|
92
92
|
ss.available_platforms.each do |platform|
|
@@ -98,7 +98,7 @@ module LgPodPlugin
|
|
98
98
|
end
|
99
99
|
|
100
100
|
def self.copy_and_clean(source, destination, spec)
|
101
|
-
specs_by_platform =
|
101
|
+
specs_by_platform = group_subspecs_by_platform(spec)
|
102
102
|
destination.parent.mkpath
|
103
103
|
self.write_lock(destination) do
|
104
104
|
FileUtils.rm_rf(destination)
|
@@ -109,7 +109,8 @@ module LgPodPlugin
|
|
109
109
|
end
|
110
110
|
|
111
111
|
def self.clean_pod_unused_files(destination, spec)
|
112
|
-
specs_by_platform =
|
112
|
+
specs_by_platform = group_subspecs_by_platform(spec)
|
113
|
+
destination.parent.mkpath
|
113
114
|
self.write_lock(destination) do
|
114
115
|
Pod::Installer::PodSourcePreparer.new(spec, destination).prepare!
|
115
116
|
Pod::Sandbox::PodDirCleaner.new(destination, specs_by_platform).clean!
|
@@ -117,37 +118,37 @@ module LgPodPlugin
|
|
117
118
|
end
|
118
119
|
|
119
120
|
def self.write_lock(location, &block)
|
120
|
-
|
121
|
-
end
|
122
|
-
|
123
|
-
def self.lock(location, lock_type)
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
end
|
145
|
-
|
146
|
-
def self.valid_lock?(file, filename)
|
147
|
-
|
148
|
-
rescue Errno::ENOENT
|
149
|
-
|
150
|
-
end
|
121
|
+
Pod::Downloader::Cache.lock(location, File::LOCK_SH, &block)
|
122
|
+
end
|
123
|
+
|
124
|
+
# def self.lock(location, lock_type)
|
125
|
+
# raise ArgumentError, 'no block given' unless block_given?
|
126
|
+
# lockfile = "#{location}.lock"
|
127
|
+
# f = nil
|
128
|
+
# loop do
|
129
|
+
# f.close if f
|
130
|
+
# f = File.open(lockfile, File::CREAT, 0o644)
|
131
|
+
# f.flock(lock_type)
|
132
|
+
# break if self.valid_lock?(f, lockfile)
|
133
|
+
# end
|
134
|
+
# begin
|
135
|
+
# yield location
|
136
|
+
# ensure
|
137
|
+
# if lock_type == File::LOCK_SH
|
138
|
+
# f.flock(File::LOCK_EX)
|
139
|
+
# File.delete(lockfile) if self.valid_lock?(f, lockfile)
|
140
|
+
# else
|
141
|
+
# File.delete(lockfile)
|
142
|
+
# end
|
143
|
+
# f.close
|
144
|
+
# end
|
145
|
+
# end
|
146
|
+
|
147
|
+
# def self.valid_lock?(file, filename)
|
148
|
+
# file.stat.ino == File.stat(filename).ino
|
149
|
+
# rescue Errno::ENOENT
|
150
|
+
# false
|
151
|
+
# end
|
151
152
|
|
152
153
|
public
|
153
154
|
def self.write_spec(spec, path)
|
@@ -24,12 +24,6 @@ module LgPodPlugin
|
|
24
24
|
@lg_spec = pod.spec
|
25
25
|
end
|
26
26
|
self.preprocess_request
|
27
|
-
# require 'benchmark'
|
28
|
-
# col_width = 10
|
29
|
-
# Benchmark.bm(col_width) do |bm|
|
30
|
-
# bm.report("time") do
|
31
|
-
# end
|
32
|
-
# end
|
33
27
|
end
|
34
28
|
|
35
29
|
def preprocess_request
|
@@ -113,11 +107,6 @@ module LgPodPlugin
|
|
113
107
|
hash_map[:git] = git if git
|
114
108
|
if git && tag
|
115
109
|
hash_map[:tag] = tag
|
116
|
-
if tag != lock_tag
|
117
|
-
hash_map["is_delete"] = false
|
118
|
-
else
|
119
|
-
hash_map["is_delete"] = true
|
120
|
-
end
|
121
110
|
return hash_map
|
122
111
|
elsif git && branch
|
123
112
|
hash_map[:branch] = branch
|
@@ -127,7 +116,6 @@ module LgPodPlugin
|
|
127
116
|
new_commit = pod_info[:sha] ||= ""
|
128
117
|
if lock_branch == branch && new_commit == lock_commit
|
129
118
|
hash_map[:commit] = lock_commit
|
130
|
-
hash_map["is_delete"] = true
|
131
119
|
return hash_map
|
132
120
|
end
|
133
121
|
end
|
@@ -137,19 +125,7 @@ module LgPodPlugin
|
|
137
125
|
elsif lock_commit && !lock_commit.empty?
|
138
126
|
hash_map[:commit] = lock_commit
|
139
127
|
end
|
140
|
-
if !new_commit || !lock_commit || new_commit.empty? || lock_commit.empty?
|
141
|
-
hash_map["is_delete"] = false
|
142
|
-
elsif new_commit != lock_commit
|
143
|
-
hash_map["is_delete"] = false
|
144
|
-
else
|
145
|
-
hash_map["is_delete"] = true
|
146
|
-
end
|
147
128
|
elsif git && commit
|
148
|
-
if commit != lock_commit
|
149
|
-
hash_map["is_delete"] = false
|
150
|
-
else
|
151
|
-
hash_map["is_delete"] = true
|
152
|
-
end
|
153
129
|
hash_map[:commit] = commit
|
154
130
|
return hash_map
|
155
131
|
else
|
@@ -173,7 +149,6 @@ module LgPodPlugin
|
|
173
149
|
if new_branch
|
174
150
|
hash_map[:branch] = new_branch
|
175
151
|
end
|
176
|
-
hash_map["is_delete"] = true
|
177
152
|
return hash_map
|
178
153
|
end
|
179
154
|
end
|
@@ -182,11 +157,6 @@ module LgPodPlugin
|
|
182
157
|
if new_commit && !new_commit.empty?
|
183
158
|
hash_map[:commit] = new_commit
|
184
159
|
end
|
185
|
-
if !new_commit || new_commit.empty?
|
186
|
-
hash_map["is_delete"] = true
|
187
|
-
else
|
188
|
-
hash_map["is_delete"] = false
|
189
|
-
end
|
190
160
|
end
|
191
161
|
hash_map
|
192
162
|
end
|
@@ -21,7 +21,10 @@ module LgPodPlugin
|
|
21
21
|
def install(pod)
|
22
22
|
hash = pod.checkout_options
|
23
23
|
path = hash[:path]
|
24
|
-
|
24
|
+
unless path.nil?
|
25
|
+
LProject.shared.need_update_pods[pod.name] = "1"
|
26
|
+
return nil
|
27
|
+
end
|
25
28
|
@downloader = LDownloader.new(pod)
|
26
29
|
self.download_params = @downloader.pre_download_pod
|
27
30
|
return self.download_params
|
@@ -61,35 +64,32 @@ module LgPodPlugin
|
|
61
64
|
else
|
62
65
|
pod_is_exist = false
|
63
66
|
end
|
64
|
-
if pod_is_exist
|
65
|
-
|
66
|
-
|
67
|
+
return if pod_is_exist
|
68
|
+
|
69
|
+
git = checkout_options[:git]
|
70
|
+
return unless git
|
71
|
+
cache_podspec = request.lg_spec.spec if request.lg_spec
|
72
|
+
branch = checkout_options[:branch]
|
73
|
+
checkout_options[:name] = name if name
|
74
|
+
unless branch
|
75
|
+
branch = self.request.params[:branch] if request.params[:branch]
|
76
|
+
checkout_options[:branch] = branch if branch
|
77
|
+
end
|
78
|
+
lg_pod_path = LFileManager.cache_workspace(LProject.shared.workspace)
|
79
|
+
lg_pod_path.mkdir(0700) unless lg_pod_path.exist?
|
80
|
+
checkout_options[:path] = lg_pod_path
|
81
|
+
FileUtils.chdir lg_pod_path
|
82
|
+
git_clone = GitRepository.new(checkout_options)
|
83
|
+
download_params = git_clone.download
|
84
|
+
return unless download_params && File.exist?(download_params)
|
85
|
+
FileUtils.chdir download_params
|
86
|
+
if request.single_git
|
87
|
+
LgPodPlugin::LCache.cache_pod(name, download_params, { :git => git }, cache_podspec, request.released_pod)
|
67
88
|
else
|
68
|
-
|
69
|
-
return unless git
|
70
|
-
cache_podspec = request.lg_spec.spec if request.lg_spec
|
71
|
-
branch = checkout_options[:branch]
|
72
|
-
checkout_options[:name] = name if name
|
73
|
-
unless branch
|
74
|
-
branch = self.request.params[:branch] if request.params[:branch]
|
75
|
-
checkout_options[:branch] = branch if branch
|
76
|
-
end
|
77
|
-
lg_pod_path = LFileManager.cache_workspace(LProject.shared.workspace)
|
78
|
-
lg_pod_path.mkdir(0700) unless lg_pod_path.exist?
|
79
|
-
checkout_options[:path] = lg_pod_path
|
80
|
-
FileUtils.chdir lg_pod_path
|
81
|
-
git_clone = GitRepository.new(checkout_options)
|
82
|
-
download_params = git_clone.download
|
83
|
-
return unless download_params && File.exist?(download_params)
|
84
|
-
FileUtils.chdir download_params
|
85
|
-
if request.single_git
|
86
|
-
LgPodPlugin::LCache.cache_pod(name, download_params, { :git => git }, cache_podspec, request.released_pod)
|
87
|
-
else
|
88
|
-
LgPodPlugin::LCache.cache_pod(name, download_params, request.get_cache_key_params, cache_podspec, request.released_pod)
|
89
|
-
end
|
90
|
-
FileUtils.chdir(LFileManager.download_director)
|
91
|
-
FileUtils.rm_rf(download_params)
|
89
|
+
LgPodPlugin::LCache.cache_pod(name, download_params, request.get_cache_key_params, cache_podspec, request.released_pod)
|
92
90
|
end
|
91
|
+
FileUtils.chdir(LFileManager.download_director)
|
92
|
+
FileUtils.rm_rf(download_params)
|
93
93
|
|
94
94
|
end
|
95
95
|
|
@@ -44,7 +44,9 @@ module LgPodPlugin
|
|
44
44
|
installer = LPodInstaller.new
|
45
45
|
download_params = installer.install(pod)
|
46
46
|
if download_params
|
47
|
-
|
47
|
+
name = download_params["name"]
|
48
|
+
all_installers[name] = installer
|
49
|
+
LProject.shared.need_update_pods[name] = "1"
|
48
50
|
end
|
49
51
|
end
|
50
52
|
end
|
@@ -21,7 +21,7 @@ module LgPodPlugin
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def self.resolve_dependencies(lockfile, installer)
|
24
|
-
installer.resolve_dependencies
|
24
|
+
installer.send(:resolve_dependencies)
|
25
25
|
external_pods = LProject.shared.external_pods ||= {}
|
26
26
|
analysis_result = installer.send(:analysis_result)
|
27
27
|
return unless analysis_result
|
@@ -47,8 +47,7 @@ module LgPodPlugin
|
|
47
47
|
http = "https://ghproxy.com/" + http
|
48
48
|
source["http"] = http
|
49
49
|
end
|
50
|
-
|
51
|
-
requirements = {:http => http, :version => version}
|
50
|
+
requirements = {:http => http }
|
52
51
|
elsif git && tag
|
53
52
|
tag = tag.to_s unless LUtils.is_a_string? tag
|
54
53
|
requirements = { :git => git, :tag => tag }
|
@@ -74,14 +73,17 @@ module LgPodPlugin
|
|
74
73
|
# 通过 swift 可执行文件进行异步下载任务
|
75
74
|
LgPodPlugin::Concurrency.async_download_pods all_installers
|
76
75
|
end
|
76
|
+
|
77
77
|
|
78
|
-
def self.
|
79
|
-
installer.download_dependencies
|
78
|
+
def self.download_dependencies(installer)
|
79
|
+
installer.send(:download_dependencies)
|
80
80
|
installer.send(:validate_targets)
|
81
|
+
installer.send(:clean_sandbox)
|
81
82
|
installation_options = installer.send(:installation_options)
|
82
83
|
skip_pods_project_generation = installation_options.send(:skip_pods_project_generation)
|
83
84
|
if skip_pods_project_generation
|
84
85
|
installer.show_skip_pods_project_generation_message
|
86
|
+
installer.send(:run_podfile_post_install_hooks)
|
85
87
|
else
|
86
88
|
installer.integrate
|
87
89
|
end
|
@@ -132,7 +134,7 @@ module LgPodPlugin
|
|
132
134
|
raise Pod::Informative, "No `Podfile.lock' found in the project directory, run `pod install'."
|
133
135
|
end
|
134
136
|
end
|
135
|
-
|
137
|
+
|
136
138
|
def self.install_release_pod(update, repo_update, verbose, clean_install)
|
137
139
|
#切换工作目录到当前工程下, 开始执行pod install
|
138
140
|
workspace = LProject.shared.workspace
|
@@ -173,7 +175,7 @@ module LgPodPlugin
|
|
173
175
|
installer.clean_install = clean_install
|
174
176
|
installer.prepare
|
175
177
|
resolve_dependencies(lockfile, installer)
|
176
|
-
|
178
|
+
download_dependencies(installer)
|
177
179
|
end
|
178
180
|
|
179
181
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lg_pod_plugin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.6.
|
4
|
+
version: 1.1.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dongzb01
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cocoapods
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.12.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.12.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: claide
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,16 +76,16 @@ dependencies:
|
|
76
76
|
name: bundler
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- -
|
79
|
+
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 2.
|
81
|
+
version: 2.0.0
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- -
|
86
|
+
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 2.
|
88
|
+
version: 2.0.0
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: rake
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|