lg_pod_plugin 1.1.7.4 → 1.1.8.1

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.
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.7.4
4
+ version: 1.1.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - dongzb01
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-24 00:00:00.000000000 Z
11
+ date: 2024-02-29 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.13.0
19
+ version: 1.14.2
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.13.0
26
+ version: 1.14.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: claide
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,20 +44,6 @@ dependencies:
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '2.0'
47
- - !ruby/object:Gem::Dependency
48
- name: activesupport
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - '='
52
- - !ruby/object:Gem::Version
53
- version: 7.0.8
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - '='
59
- - !ruby/object:Gem::Version
60
- version: 7.0.8
61
47
  - !ruby/object:Gem::Dependency
62
48
  name: bacon
63
49
  requirement: !ruby/object:Gem::Requirement
@@ -106,20 +92,20 @@ dependencies:
106
92
  requirements:
107
93
  - - "~>"
108
94
  - !ruby/object:Gem::Version
109
- version: '1.6'
95
+ version: '1.7'
110
96
  - - ">="
111
97
  - !ruby/object:Gem::Version
112
- version: 1.6.3
98
+ version: 1.7.2
113
99
  type: :runtime
114
100
  prerelease: false
115
101
  version_requirements: !ruby/object:Gem::Requirement
116
102
  requirements:
117
103
  - - "~>"
118
104
  - !ruby/object:Gem::Version
119
- version: '1.6'
105
+ version: '1.7'
120
106
  - - ">="
121
107
  - !ruby/object:Gem::Version
122
- version: 1.6.3
108
+ version: 1.7.2
123
109
  description: 拦截pod_install 方法, 并设置 pod 方法参数列表
124
110
  email:
125
111
  - 1060545231@qq.com
@@ -139,8 +125,6 @@ files:
139
125
  - lib/command/update.rb
140
126
  - lib/lg_pod_plugin.rb
141
127
  - lib/lg_pod_plugin/config/l_config.rb
142
- - lib/lg_pod_plugin/config/lockfile_model.rb
143
- - lib/lg_pod_plugin/config/podspec.rb
144
128
  - lib/lg_pod_plugin/config/target.rb
145
129
  - lib/lg_pod_plugin/db/database.rb
146
130
  - lib/lg_pod_plugin/downloader/downloader.rb
@@ -163,7 +147,6 @@ files:
163
147
  - lib/lg_pod_plugin/net/net-ping.rb
164
148
  - lib/lg_pod_plugin/pod/external_pod.rb
165
149
  - lib/lg_pod_plugin/pod/release-pod.rb
166
- - lib/lg_pod_plugin/utils/aes-crypt.rb
167
150
  - lib/lg_pod_plugin/utils/file_path.rb
168
151
  - lib/lg_pod_plugin/utils/l_util.rb
169
152
  - lib/lg_pod_plugin/utils/log.rb
@@ -188,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
171
  - !ruby/object:Gem::Version
189
172
  version: '0'
190
173
  requirements: []
191
- rubygems_version: 3.4.20
174
+ rubygems_version: 3.5.6
192
175
  signing_key:
193
176
  specification_version: 4
194
177
  summary: 封装了自定义podfile 中pod 方法
@@ -1,58 +0,0 @@
1
- require 'cocoapods-core'
2
-
3
- module LgPodPlugin
4
-
5
- class LockfileModel
6
- attr_accessor :lockfile
7
- attr_accessor :release_pods
8
- attr_accessor :external_sources_data
9
- attr_accessor :checkout_options_data
10
-
11
- def initialize
12
- end
13
-
14
- def self.from_file
15
- lockfile = LProject.shared.lockfile
16
- unless lockfile
17
- lockfile_model = LockfileModel.new
18
- lockfile_model.lockfile = nil
19
- lockfile_model.release_pods = {}
20
- lockfile_model.checkout_options_data = {}
21
- lockfile_model.external_sources_data = {}
22
- return lockfile_model
23
- end
24
- release_pods = Hash.new
25
- pods = lockfile.send(:generate_pod_names_and_versions)
26
- pods.each do |element|
27
- if LUtils.is_a_string?(element) || element.is_a?(Hash)
28
- key = element.is_a?(Hash) ? element.keys.first : element
29
- next unless key
30
- if key.include?(" ")
31
- pod_name = LUtils.pod_real_name(key.split(" ").first)
32
- else
33
- pod_name = key
34
- end
35
- tag = key[/(?<=\().*?(?=\))/]
36
- release_pods[pod_name] = tag
37
- else
38
- next
39
- end
40
- end
41
- lockfile_model = LockfileModel.new
42
- lockfile_model.lockfile = lockfile
43
- lockfile_model.release_pods = release_pods
44
- lockfile_model.checkout_options_data = lockfile.send(:checkout_options_data)
45
- lockfile_model.checkout_options_data = {} unless lockfile_model.checkout_options_data
46
- lockfile_model.external_sources_data = lockfile.send(:external_sources_data)
47
- lockfile_model.external_sources_data = {} unless lockfile_model.external_sources_data
48
- lockfile_model
49
- end
50
-
51
- def checkout_options_for_pod_named(name)
52
- return {} unless @lockfile
53
- hash = @lockfile.checkout_options_for_pod_named(name)
54
- hash ? hash : {}
55
- end
56
-
57
- end
58
- end
@@ -1,266 +0,0 @@
1
- require 'cocoapods'
2
- require 'cocoapods-core'
3
-
4
- module LgPodPlugin
5
-
6
- class PodSpec
7
- attr_reader :spec
8
- attr_accessor :json_files
9
- attr_accessor :source_files
10
-
11
- public
12
- def self.form_file(path)
13
- begin
14
- spec = Pod::Specification.from_file(path)
15
- return PodSpec.new(spec)
16
- rescue
17
- return nil
18
- end
19
- end
20
-
21
- public
22
- def prepare_command
23
- json = self.to_pretty_json
24
- return nil unless json
25
- hash = JSON.parse json
26
- hash["prepare_command"]
27
- end
28
-
29
- public
30
- def to_pretty_json(*a)
31
- require 'json'
32
- JSON.pretty_generate(self.spec.to_hash, *a) << "\n"
33
- end
34
-
35
-
36
- public
37
- def self.form_string(string, path)
38
- begin
39
- #Work around for Rubinius incomplete encoding in 1.9 mode
40
- if string.respond_to?(:encoding) && string.encoding.name != 'UTF-8'
41
- string = string.force_encoding("gb2312").force_encoding("utf-8")
42
- end
43
- spec = Pod::Specification.from_string string, path
44
- return PodSpec.new(spec)
45
- rescue
46
- return nil
47
- end
48
- end
49
-
50
- def self.form_pod_spec(spec)
51
- return PodSpec.new(spec)
52
- end
53
-
54
- def self.form_json(object)
55
- begin
56
- spec = Pod::Specification.from_json(object)
57
- return PodSpec.new(spec)
58
- rescue
59
- return nil
60
- end
61
- end
62
-
63
- def initialize(spec)
64
- if spec == nil
65
- @spec = nil
66
- @json_files = Hash.new
67
- @source_files = Hash.new
68
- return
69
- end
70
- set = Set[]
71
- @spec = spec
72
- attributes_hash = spec.send(:attributes_hash)
73
- return unless attributes_hash.is_a?(Hash)
74
- license = attributes_hash["license"]
75
- if license.is_a?(Hash)
76
- license_file = license["file"]
77
- set.add(license_file) if license_file
78
- else
79
- set.add("LICENSE")
80
- end
81
- # 解析主模块依赖信息
82
- set.merge(parse_subspec_with(attributes_hash))
83
- subspecs = spec.subspecs
84
- unless subspecs.is_a?(Array)
85
- self.source_files = parse_with_set set
86
- if self.source_files.has_key?("*")
87
- self.source_files.delete("*")
88
- self.source_files["All"] = "All"
89
- end
90
- self.json_files = spec.to_pretty_json
91
- return
92
- end
93
- subspecs.each do |sub_spec|
94
- sub_attributes_hash = sub_spec.send(:attributes_hash)
95
- next unless sub_attributes_hash && sub_attributes_hash.is_a?(Hash)
96
- sub_set = self.parse_subspec_with(sub_attributes_hash)
97
- next if sub_set.empty?
98
- set.merge(sub_set)
99
- end
100
- self.source_files = parse_with_set set
101
- if self.source_files.has_key?("*")
102
- self.source_files.delete("*")
103
- self.source_files["All"] = "All"
104
- end
105
- self.json_files = spec.to_pretty_json
106
- end
107
-
108
- public
109
- def write_to_file(path)
110
- LCache.write_spec(@spec, path)
111
- end
112
-
113
- def parse_with_set(set)
114
- new_hash = Hash.new
115
- set.each do |element|
116
- if element.start_with?("**/")
117
- new_hash["All"] = "All"
118
- elsif element.include?("/")
119
- str = element.split("/", 0).first
120
- new_hash[str] = str unless str.empty?
121
- elsif element.start_with?("**.") || element.start_with?("*.")
122
- new_hash["All"] = "All"
123
- elsif element.start_with?("*.framework") || element.include?("*.a")
124
- new_hash["All"] = "All"
125
- else
126
- new_hash[element] = element unless element.empty?
127
- end
128
- end
129
- new_hash
130
- end
131
-
132
- # 公共解析解析subspec
133
- def parse_subspec_with(hash)
134
- set = Set[]
135
- source_files = self.parse_source_files(hash["source_files"])
136
- set.merge(source_files) unless source_files.empty?
137
- resources = self.parse_resource_files(hash["resource"] ||= hash["resources"])
138
- set.merge(resources) unless resources.empty?
139
- resource_bundles = self.parse_resource_bundles(hash["resource_bundle"] ||= hash["resource_bundles"])
140
- set.merge(resource_bundles) unless resource_bundles.empty?
141
- project_header_files = self.parse_project_header_files(hash["project_header_files"])
142
- set.merge(resource_bundles) unless project_header_files.empty?
143
- private_header_files = self.parse_private_header_files(hash["private_header_files"])
144
- set.merge(private_header_files) unless private_header_files.empty?
145
- vendored_frameworks = self.parse_vendored_frameworks(hash["vendored_frameworks"])
146
- set.merge(vendored_frameworks) unless vendored_frameworks.empty?
147
- vendored_library = self.parse_vendored_library(hash["vendored_library"] ||= hash["vendored_libraries"])
148
- set.merge(vendored_library) unless vendored_library.empty?
149
- #parse_preserve_path
150
- preserve_paths = self.parse_preserve_path(hash["preserve_path"] ||= hash["preserve_paths"])
151
- set.merge(preserve_paths) unless preserve_paths.empty?
152
- module_map = self.parse_module_map(hash["module_map"])
153
- set.merge(module_map) unless module_map.empty?
154
- ios_hash = hash["ios"]
155
- if ios_hash && ios_hash.is_a?(Hash)
156
-
157
- ios_source_files = self.parse_source_files(ios_hash["source_files"])
158
- set.merge(ios_source_files) unless ios_source_files.empty?
159
-
160
- ios_resources = self.parse_resource_files(ios_hash["resource"] ||= ios_hash["resources"])
161
- set.merge(ios_resources) unless ios_resources.empty?
162
-
163
- ios_resource_bundles = self.parse_resource_bundles(ios_hash["resource_bundle"] ||= ios_hash["resource_bundles"])
164
- set.merge(ios_resource_bundles) unless ios_resource_bundles.empty?
165
-
166
- ios_project_header_files = self.parse_project_header_files(ios_hash["project_header_files"])
167
- set.merge(ios_project_header_files) unless ios_project_header_files.empty?
168
-
169
- ios_private_header_files = self.parse_private_header_files(ios_hash["private_header_files"])
170
- set.merge(ios_private_header_files) unless ios_private_header_files.empty?
171
-
172
- ios_vendored_frameworks = self.parse_vendored_frameworks(ios_hash["vendored_frameworks"])
173
- set.merge(ios_vendored_frameworks) unless ios_vendored_frameworks.empty?
174
-
175
- ios_vendored_library = self.parse_vendored_library(ios_hash["vendored_library"] ||= ios_hash["vendored_libraries"])
176
- set.merge(ios_vendored_library) unless ios_vendored_library.empty?
177
-
178
- ios_preserve_paths = self.parse_preserve_path(ios_hash["preserve_path"] ||= ios_hash["preserve_paths"])
179
- set.merge(ios_preserve_paths) unless ios_preserve_paths.empty?
180
-
181
- ios_module_map = self.parse_module_map(ios_hash["module_map"])
182
- set.merge(ios_module_map) unless ios_module_map.empty?
183
-
184
- end
185
- set
186
- end
187
-
188
- # 公共解析文件路径的方法
189
- def parse_public_source_files(source_files)
190
- return Array.new unless source_files
191
- array = Array.new
192
- if LUtils.is_a_string?(source_files)
193
- array.append(source_files) unless source_files.empty?
194
- elsif source_files.is_a?(Array)
195
- source_files.each do |element|
196
- next unless LUtils.is_a_string?(element)
197
- array.append(element) unless element.empty?
198
- end
199
- elsif source_files.is_a?(Hash)
200
- source_files.each do |_, val|
201
- if LUtils.is_a_string?(val)
202
- array.append(val) unless val.empty?
203
- elsif val.is_a?(Array)
204
- val.each do |element|
205
- next unless LUtils.is_a_string?(element)
206
- array.append(element) unless element.empty?
207
- end
208
- end
209
- end
210
- end
211
- array
212
- end
213
-
214
- # 解析source_files路径
215
- def parse_source_files(source_files)
216
- self.parse_public_source_files(source_files)
217
- end
218
-
219
- # 解析 resource所在路径
220
- def parse_resource_files(source_files)
221
- self.parse_public_source_files(source_files)
222
- end
223
-
224
- # 解析public_header_files字段的值
225
- def parse_public_header_files(source_files)
226
- self.parse_public_source_files(source_files)
227
- end
228
-
229
- # 解析 parse_resource_bundles
230
- def parse_resource_bundles(source_files)
231
- self.parse_public_source_files(source_files)
232
- end
233
-
234
- # 解析 project_header_files
235
- def parse_project_header_files(source_files)
236
- self.parse_public_source_files(source_files)
237
- end
238
-
239
- # 解析 private_header_files
240
- def parse_private_header_files(source_files)
241
- self.parse_public_source_files(source_files)
242
- end
243
-
244
- # 解析 vendored_frameworks
245
- def parse_vendored_frameworks(source_files)
246
- self.parse_public_source_files(source_files)
247
- end
248
-
249
- # 解析 parse_vendored_library
250
- def parse_vendored_library(source_files)
251
- self.parse_public_source_files(source_files)
252
- end
253
-
254
- # 解析 parse_preserve_path
255
- def parse_preserve_path(source_files)
256
- self.parse_public_source_files(source_files)
257
- end
258
-
259
- # 解析 module_map
260
- def parse_module_map(source_files)
261
- self.parse_public_source_files(source_files)
262
- end
263
-
264
- end
265
-
266
- end
@@ -1,82 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- # The encrypt_data and decrypt_data methods are Copyright (c) 2007 Brent Sowers
4
- # and have been included with prior permission.
5
- #
6
- # Copyright (c) 2012 Gurpartap Singh
7
- #
8
- # MIT License
9
- #
10
- # Permission is hereby granted, free of charge, to any person obtaining
11
- # a copy of this software and associated documentation files (the
12
- # "Software"), to deal in the Software without restriction, including
13
- # without limitation the rights to use, copy, modify, merge, publish,
14
- # distribute, sublicense, and/or sell copies of the Software, and to
15
- # permit persons to whom the Software is furnished to do so, subject to
16
- # the following conditions:
17
- #
18
- # The above copyright notice and this permission notice shall be
19
- # included in all copies or substantial portions of the Software.
20
- #
21
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
-
29
- require 'openssl'
30
-
31
- module AESCrypt
32
- def self.encrypt(message, password)
33
- Base64.encode64(self.encrypt_data(message.to_s.strip, password, nil, "AES-256-ECB"))
34
- end
35
-
36
- def self.decrypt(message, password)
37
- base64_decoded = Base64.decode64(message.to_s.strip)
38
- self.decrypt_data(base64_decoded, password, nil, "AES-256-ECB")
39
- end
40
-
41
- def self.key_digest(password)
42
- OpenSSL::Digest::SHA256.new(password).digest
43
- end
44
-
45
- # Decrypts a block of data (encrypted_data) given an encryption key
46
- # and an initialization vector (iv). Keys, iv's, and the data
47
- # returned are all binary strings. Cipher_type should be
48
- # "AES-256-CBC", "AES-256-ECB", or any of the cipher types
49
- # supported by OpenSSL. Pass nil for the iv if the encryption type
50
- # doesn't use iv's (like ECB).
51
- #:return: => String
52
- #:arg: encrypted_data => String
53
- #:arg: key => String
54
- #:arg: iv => String
55
- #:arg: cipher_type => String
56
- def self.decrypt_data(encrypted_data, key, iv, cipher_type)
57
- aes = OpenSSL::Cipher::Cipher.new(cipher_type)
58
- aes.decrypt
59
- aes.key = key
60
- aes.iv = iv if iv != nil
61
- aes.update(encrypted_data) + aes.final
62
- end
63
-
64
- # Encrypts a block of data given an encryption key and an
65
- # initialization vector (iv). Keys, iv's, and the data returned
66
- # are all binary strings. Cipher_type should be "AES-256-CBC",
67
- # "AES-256-ECB", or any of the cipher types supported by OpenSSL.
68
- # Pass nil for the iv if the encryption type doesn't use iv's (like
69
- # ECB).
70
- #:return: => String
71
- #:arg: data => String
72
- #:arg: key => String
73
- #:arg: iv => String
74
- #:arg: cipher_type => String
75
- def self.encrypt_data(data, key, iv, cipher_type)
76
- aes = OpenSSL::Cipher::Cipher.new(cipher_type)
77
- aes.encrypt
78
- aes.key = key
79
- aes.iv = iv if iv != nil
80
- aes.update(data) + aes.final
81
- end
82
- end