lg_pod_plugin 1.1.6.2 → 1.1.6.4

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: 8ec02e7287d7905d93048a8620d22946077d9b60078df1531986db93559cd6d4
4
- data.tar.gz: a13a7706ad353e97a931fcd96581f20d70e2c6aaef4d63c5dbf3eb1c7fa698a1
3
+ metadata.gz: aa46fff13f24c1345099a41de0fd69d57f52ea6d701944c964dc602fc71f82be
4
+ data.tar.gz: 1918987895e07fed61e3a07e521f571210472f0baade5aad98e91a0a19145dd7
5
5
  SHA512:
6
- metadata.gz: b930234998ecfaa0376344d2e4c9efd74cb4be730bbd6e0379fad087718355e24805babe26443019a791df623fe1938c6e8d71def6480ec2b85f1505fd928c8a
7
- data.tar.gz: ab48391439c46f2730f0133c9350ee256cc6bfb3690a142588da6633d6c0516b88c6d26e5e46b90ba3deafebe3ac9b78598b1a87b38c9290fc38c395da762bd9
6
+ metadata.gz: 81ff396511000ce3a021c365d2dd1d5959373e5d3005af4c768a09bd22fd203ba0e858ab9d79d4e128428b0cc358f1dbe23f6c32490316551d70dc1783d83cac
7
+ data.tar.gz: e8354d1b63266ec23978d13c6abcdac7a2a2b9e137f00cedc83ee1712fb19928d9c96fac552df26d9550b2eb2d77ed712c17b44ce01cba47395db1d2192ea34c
@@ -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
- nil
58
+ return nil
61
59
  else
62
60
  LgPodPlugin.log_green "find the new commit of `#{name}`, Git downloading now."
63
61
  # 本地 git 下载 pod 目录
@@ -121,35 +121,6 @@ module LgPodPlugin
121
121
  Pod::Downloader::Cache.lock(location, File::LOCK_SH, &block)
122
122
  end
123
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
152
-
153
124
  public
154
125
  def self.write_spec(spec, path)
155
126
  path.dirname.mkpath
@@ -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
@@ -88,105 +82,27 @@ module LgPodPlugin
88
82
 
89
83
  public
90
84
  def get_lock_params
91
- begin
92
- _release_pods = self.lockfile.release_pods ||= []
93
- _external_source = (self.lockfile.external_sources_data[self.name])
94
- _external_source = {} unless _external_source
95
- _checkout_options = self.lockfile.checkout_options_for_pod_named(self.name)
96
- rescue
97
- _release_pods = {}
98
- _external_source = {}
99
- _checkout_options = {}
100
- end
101
-
102
85
  git = self.checkout_options[:git]
103
86
  tag = self.checkout_options[:tag]
104
87
  commit = self.checkout_options[:commit]
105
88
  branch = self.checkout_options[:branch]
106
89
 
107
- lock_git = _external_source[:git] ||= _checkout_options[:git]
108
- lock_tag = _external_source[:tag] ||= _release_pods[self.name]
109
- lock_branch = _external_source[:branch] ||= ""
110
- lock_commit = _checkout_options[:commit] ||= ""
111
-
112
90
  hash_map = Hash.new
113
91
  hash_map[:git] = git if git
114
92
  if git && tag
115
93
  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
94
  return hash_map
122
95
  elsif git && branch
123
96
  hash_map[:branch] = branch
124
- if lock_commit && !lock_commit.empty? && !LProject.shared.update
125
- pod_info = LSqliteDb.shared.query_branch_with_sha(self.name, git, lock_commit)
126
- lock_branch = pod_info[:branch] if lock_branch.empty?
127
- new_commit = pod_info[:sha] ||= ""
128
- if lock_branch == branch && new_commit == lock_commit
129
- hash_map[:commit] = lock_commit
130
- hash_map["is_delete"] = true
131
- return hash_map
132
- end
133
- end
134
97
  _, new_commit = git_ls_remote_refs(self.name, git, branch)
135
- if new_commit && !new_commit.empty?
136
- hash_map[:commit] = new_commit
137
- elsif lock_commit && !lock_commit.empty?
138
- hash_map[:commit] = lock_commit
139
- 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
98
+ hash_map[:commit] = new_commit if new_commit
147
99
  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
100
  hash_map[:commit] = commit
154
101
  return hash_map
155
102
  else
156
- if lock_git && !LProject.shared.update
157
- id = LPodLatestRefs.get_pod_id(self.name, git)
158
- pod_info = LSqliteDb.shared.query_pod_refs(id)
159
- if pod_info&.commit
160
- if pod_info
161
- new_commit = pod_info.commit
162
- else
163
- new_commit = nil
164
- end
165
- if pod_info
166
- new_branch = pod_info.branch
167
- else
168
- new_branch = nil
169
- end
170
- if new_commit
171
- hash_map[:commit] = new_commit
172
- end
173
- if new_branch
174
- hash_map[:branch] = new_branch
175
- end
176
- hash_map["is_delete"] = true
177
- return hash_map
178
- end
179
- end
180
103
  new_branch, new_commit = git_ls_remote_refs(self.name, git, nil)
181
104
  hash_map[:branch] = new_branch if new_branch
182
- if new_commit && !new_commit.empty?
183
- hash_map[:commit] = new_commit
184
- end
185
- if !new_commit || new_commit.empty?
186
- hash_map["is_delete"] = true
187
- else
188
- hash_map["is_delete"] = false
189
- end
105
+ hash_map[:commit] = new_commit if new_commit
190
106
  end
191
107
  hash_map
192
108
  end
@@ -22,6 +22,7 @@ module LgPodPlugin
22
22
  else
23
23
  request_url += ("/commits/" + "HEAD")
24
24
  end
25
+ LgPodPlugin.log_blue "http reqeust: #{request_url}"
25
26
  begin
26
27
  uri = URI(request_url)
27
28
  res = Net::HTTP.get_response(uri)
@@ -178,11 +178,11 @@ module LgPodPlugin
178
178
  end
179
179
  return self.use_default_refs_heads git, branch
180
180
  end
181
- commit, _ = GithubAPI.request_github_refs_heads git, branch
181
+ commit, _ = self.use_default_refs_heads git, branch
182
182
  if commit
183
183
  return [commit, branch]
184
184
  else
185
- return self.use_default_refs_heads git, branch
185
+ return GithubAPI.request_github_refs_heads git, branch
186
186
  end
187
187
  end
188
188
 
@@ -21,7 +21,10 @@ module LgPodPlugin
21
21
  def install(pod)
22
22
  hash = pod.checkout_options
23
23
  path = hash[:path]
24
- return nil if path
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
- is_delete = request.params["is_delete"] ||= false
66
- LProject.shared.need_update_pods.delete(name) if is_delete
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
- git = checkout_options[:git]
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
- all_installers[download_params["name"]] = installer
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
@@ -35,7 +35,7 @@ module LgPodPlugin
35
35
  end
36
36
  @cache_specs = Hash.new
37
37
  @external_pods = Hash.new.merge!(external_pods)
38
- @need_update_pods = Hash.new.merge!(external_pods)
38
+ @need_update_pods = Hash.new
39
39
  @redirect_url_hash = Hash.new
40
40
  return self
41
41
  end
@@ -29,24 +29,25 @@ module LgPodPlugin
29
29
  origin_uri = URI(git)
30
30
  end
31
31
  return if origin_uri.nil?
32
- redirect_url = LProject.shared.redirect_url_hash[origin_uri.host]
33
- if redirect_url
34
- @uri = redirect_url
35
- else
36
- @uri = URI(get_redirect_url(origin_uri.scheme + "://" + origin_uri.host))
37
- LProject.shared.redirect_url_hash[origin_uri.host] = @uri
38
- end
32
+ @uri = origin_uri
33
+ # redirect_url = LProject.shared.redirect_url_hash[origin_uri.host]
34
+ # if redirect_url
35
+ # @uri = redirect_url
36
+ # else
37
+ # @uri = URI(get_redirect_url(origin_uri.scheme + "://" + origin_uri.host))
38
+ # LProject.shared.redirect_url_hash[origin_uri.host] = @uri
39
+ # end
39
40
  @host = @uri.host
40
41
  @scheme = @uri.scheme ||= "https"
41
42
  @hostname = @scheme + "://" + @host
42
43
  end
43
44
 
44
- def get_redirect_url(host)
45
- redirect_url = Net::HTTP.get_response(URI(host))['location']
46
- return host unless redirect_url
47
- uri = URI(redirect_url)
48
- return uri.scheme + "://" + uri.host
49
- end
45
+ # def get_redirect_url(host)
46
+ # redirect_url = Net::HTTP.get_response(URI(host))['location']
47
+ # return host unless redirect_url
48
+ # uri = URI(redirect_url)
49
+ # return uri.scheme + "://" + uri.host
50
+ # end
50
51
 
51
52
  private
52
53
  #判断是否是 IP 地址
@@ -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
@@ -75,8 +75,8 @@ module LgPodPlugin
75
75
  end
76
76
 
77
77
 
78
- def self.dependencies(installer)
79
- installer.download_dependencies
78
+ def self.download_dependencies(installer)
79
+ installer.send(:download_dependencies)
80
80
  installer.send(:validate_targets)
81
81
  installer.send(:clean_sandbox)
82
82
  installation_options = installer.send(:installation_options)
@@ -175,7 +175,7 @@ module LgPodPlugin
175
175
  installer.clean_install = clean_install
176
176
  installer.prepare
177
177
  resolve_dependencies(lockfile, installer)
178
- dependencies(installer)
178
+ download_dependencies(installer)
179
179
  end
180
180
 
181
181
  end
@@ -1,3 +1,3 @@
1
1
  module LgPodPlugin
2
- VERSION = "1.1.6.2"
2
+ VERSION = "1.1.6.4"
3
3
  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.2
4
+ version: 1.1.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - dongzb01
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-09 00:00:00.000000000 Z
11
+ date: 2023-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods