lg_pod_plugin 1.1.5.9 → 1.1.6.2

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: ebaf5437bed598ffa64a8ed94863d10c05c0cfcb848e9edbf726ad212662878b
4
- data.tar.gz: 1e10a6ad2ec5b02e8771a2580db0374d635998320aaa8739bb4bebcf80eba0ba
3
+ metadata.gz: 8ec02e7287d7905d93048a8620d22946077d9b60078df1531986db93559cd6d4
4
+ data.tar.gz: a13a7706ad353e97a931fcd96581f20d70e2c6aaef4d63c5dbf3eb1c7fa698a1
5
5
  SHA512:
6
- metadata.gz: 629fa53e19b009413466cd44b9c6ecf28bffcfd7e500524cdf449d4ef6ef0f298a925f7eb0390b734d0937f57712f7cc078227afbe60950d39a923f845b4c026
7
- data.tar.gz: 7772b927826ef6fe0476db3933e9863b27a98aced13853b58583d3141cdf89c09ff5655e2da90e2258f82e1697155aa2a6c0d24d1bb1729b288df6b6b93578fe
6
+ metadata.gz: b930234998ecfaa0376344d2e4c9efd74cb4be730bbd6e0379fad087718355e24805babe26443019a791df623fe1938c6e8d71def6480ec2b85f1505fd928c8a
7
+ data.tar.gz: ab48391439c46f2730f0133c9350ee256cc6bfb3690a142588da6633d6c0516b88c6d26e5e46b90ba3deafebe3ac9b78598b1a87b38c9290fc38c395da762bd9
@@ -4,10 +4,11 @@ module LgPodPlugin
4
4
  class LPodTarget
5
5
  attr_reader :name
6
6
  attr_reader :dependencies
7
+ attr_reader :internal_hash
7
8
  def initialize(target)
8
- internal_hash = target.send(:internal_hash)
9
- @name = internal_hash["name"]
10
- array = Array.new(internal_hash['dependencies'] ||= [])
9
+ @internal_hash = target.send(:internal_hash)
10
+ @name = @internal_hash["name"]
11
+ array = Array.new(@internal_hash['dependencies'] ||= [])
11
12
  dependencies = array.reject do |e|
12
13
  if LUtils.is_a_string?(e)
13
14
  true
@@ -29,5 +30,6 @@ module LgPodPlugin
29
30
  end
30
31
  @dependencies = external_pods
31
32
  end
33
+
32
34
  end
33
35
  end
@@ -49,13 +49,13 @@ module LgPodPlugin
49
49
  LgPodPlugin.log_green "Using `#{name}`"
50
50
  end
51
51
  hash_map = self.request.get_cache_key_params
52
+ self.request.checkout_options.delete(:branch) if commit
53
+ self.request.checkout_options[:commit] = commit if commit
52
54
  # 发现本地有缓存, 不需要更新缓存
53
55
  pod_is_exist, destination, cache_pod_spec = LCache.new.pod_cache_exist(name, hash_map, podspec, self.request.released_pod)
54
56
  if pod_is_exist
55
57
  is_delete = self.request.params["is_delete"] ||= false
56
58
  LProject.shared.need_update_pods.delete(name) if is_delete
57
- self.request.checkout_options.delete(:branch) if commit
58
- self.request.checkout_options[:commit] = commit if commit
59
59
  LgPodPlugin.log_green "find the cache of `#{name}`, you can use it now."
60
60
  nil
61
61
  else
@@ -106,8 +106,6 @@ module LgPodPlugin
106
106
  LgPodPlugin::LCache.cache_pod(name, download_params, self.request.get_cache_key_params,podspec, self.request.released_pod)
107
107
  FileUtils.chdir(LFileManager.download_director)
108
108
  FileUtils.rm_rf(download_params)
109
- self.request.checkout_options.delete(:branch) if commit
110
- self.request.checkout_options[:commit] = commit if commit
111
109
  end
112
110
  nil
113
111
  end
@@ -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
- path = path_for_spec(request)
63
- path.file? && Specification.from_file(path)
64
- rescue JSON::ParserError
65
- nil
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.group_sub_specs_by_platform(spec)
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 = group_sub_specs_by_platform(spec)
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 = group_sub_specs_by_platform(spec)
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
- self.lock(location, File::LOCK_EX, &block)
121
- end
122
-
123
- def self.lock(location, lock_type)
124
- raise ArgumentError, 'no block given' unless block_given?
125
- lockfile = "#{location}.lock"
126
- f = nil
127
- loop do
128
- f.close if f
129
- f = File.open(lockfile, File::CREAT, 0o644)
130
- f.flock(lock_type)
131
- break if self.valid_lock?(f, lockfile)
132
- end
133
- begin
134
- yield location
135
- ensure
136
- if lock_type == File::LOCK_SH
137
- f.flock(File::LOCK_EX)
138
- File.delete(lockfile) if self.valid_lock?(f, lockfile)
139
- else
140
- File.delete(lockfile)
141
- end
142
- f.close
143
- end
144
- end
145
-
146
- def self.valid_lock?(file, filename)
147
- file.stat.ino == File.stat(filename).ino
148
- rescue Errno::ENOENT
149
- false
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)
@@ -64,8 +64,6 @@ module LgPodPlugin
64
64
  if pod_is_exist
65
65
  is_delete = request.params["is_delete"] ||= false
66
66
  LProject.shared.need_update_pods.delete(name) if is_delete
67
- request.checkout_options.delete(:branch) if commit
68
- request.checkout_options[:commit] = commit if commit
69
67
  else
70
68
  git = checkout_options[:git]
71
69
  return unless git
@@ -91,8 +89,6 @@ module LgPodPlugin
91
89
  end
92
90
  FileUtils.chdir(LFileManager.download_director)
93
91
  FileUtils.rm_rf(download_params)
94
- request.checkout_options.delete(:branch) if commit
95
- request.checkout_options[:commit] = commit if commit
96
92
  end
97
93
 
98
94
  end
@@ -19,7 +19,7 @@ module LgPodPlugin
19
19
 
20
20
  public
21
21
  def self.run(command, options = {})
22
- self.clean_sandbox
22
+ clean_sandbox()
23
23
  workspace = Pathname(Dir.pwd)
24
24
  update = (command == "update")
25
25
  LSqliteDb.shared.init_database
@@ -16,6 +16,7 @@ module LgPodPlugin
16
16
  attr_reader :external_pods
17
17
  attr_reader :need_update_pods
18
18
  attr_accessor :cache_specs
19
+ attr_accessor :redirect_url_hash
19
20
  def setup(workspace,podfile_path, update, repo_update)
20
21
  @podfile = Pod::Podfile.from_file(podfile_path)
21
22
  @update = update
@@ -35,7 +36,8 @@ module LgPodPlugin
35
36
  @cache_specs = Hash.new
36
37
  @external_pods = Hash.new.merge!(external_pods)
37
38
  @need_update_pods = Hash.new.merge!(external_pods)
38
- self
39
+ @redirect_url_hash = Hash.new
40
+ return self
39
41
  end
40
42
 
41
43
  def self.shared
@@ -5,7 +5,7 @@ module LgPodPlugin
5
5
 
6
6
  class LURI
7
7
  public
8
- attr_reader :path
8
+ # attr_reader :path
9
9
  attr_reader :host
10
10
  attr_reader :scheme
11
11
  attr_reader :hostname
@@ -13,51 +13,47 @@ module LgPodPlugin
13
13
  attr_reader :uri
14
14
  public
15
15
  def initialize(git)
16
- begin
17
- uri = URI(git)
18
- rescue => exception
19
- if git.include?("git@") && git.include?(":")
20
- match = %r{(?<=git@).*?(?=:)}.match(git)
21
- host = match ? match[0] : ""
16
+ if git.include?("git@") && git.include?(":")
17
+ match = %r{(?<=git@).*?(?=:)}.match(git)
18
+ host = match ? match[0] : ""
19
+ if is_address(host)
22
20
  base_url = LUtils.get_gitlab_base_url(git)
23
21
  path = base_url.split(":").last
24
- uri = URI("http://#{host}/#{path}")
22
+ origin_uri = URI("http://#{host}/#{path}")
25
23
  else
26
- LgPodPlugin.log_red exception
27
- uri = nil
24
+ base_url = LUtils.get_gitlab_base_url(git)
25
+ path = base_url.split(":").last
26
+ origin_uri = URI("https://#{host}/#{path}")
28
27
  end
28
+ else
29
+ origin_uri = URI(git)
29
30
  end
30
- return unless uri
31
- if git.include?("ssh") || git.include?("git@gitlab") || git.include?("git@")
32
- redirect_url = get_redirect_url("https://#{uri.host}#{uri.path}")
33
- @uri = URI(redirect_url)
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
34
35
  else
35
- redirect_url = get_redirect_url("#{uri.scheme}://#{uri.host}#{uri.path}")
36
- @uri = URI(redirect_url)
36
+ @uri = URI(get_redirect_url(origin_uri.scheme + "://" + origin_uri.host))
37
+ LProject.shared.redirect_url_hash[origin_uri.host] = @uri
37
38
  end
38
- @host = @uri.host ||= ""
39
- @path = @uri.path ||= ""
40
- @scheme = @uri.scheme ||= ""
39
+ @host = @uri.host
40
+ @scheme = @uri.scheme ||= "https"
41
41
  @hostname = @scheme + "://" + @host
42
42
  end
43
43
 
44
44
  def get_redirect_url(host)
45
45
  redirect_url = Net::HTTP.get_response(URI(host))['location']
46
- begin
47
- uri = URI(redirect_url)
48
- return uri.scheme + "://" + uri.host
49
- rescue
50
- return host
51
- end
46
+ return host unless redirect_url
47
+ uri = URI(redirect_url)
48
+ return uri.scheme + "://" + uri.host
52
49
  end
53
50
 
54
-
55
51
  private
56
52
  #判断是否是 IP 地址
57
- # def is_address(host)
58
- # match = %r{^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$}.match(host)
59
- # !(match.nil?)
60
- # end
53
+ def is_address(host)
54
+ match = %r{^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$}.match(host)
55
+ !(match.nil?)
56
+ end
61
57
 
62
58
  # 获取 ip 地址
63
59
  # private
@@ -47,8 +47,7 @@ module LgPodPlugin
47
47
  http = "https://ghproxy.com/" + http
48
48
  source["http"] = http
49
49
  end
50
- version = attributes_hash["version"]
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
78
  def self.dependencies(installer)
79
79
  installer.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
@@ -1,3 +1,3 @@
1
1
  module LgPodPlugin
2
- VERSION = "1.1.5.9"
2
+ VERSION = "1.1.6.2"
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.5.9
4
+ version: 1.1.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - dongzb01
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-13 00:00:00.000000000 Z
11
+ date: 2023-03-09 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.11.3
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.11.3
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.3.7
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.3.7
88
+ version: 2.0.0
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: rake
91
91
  requirement: !ruby/object:Gem::Requirement