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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4b61db7b5001df6188133eaf111f4570d0580fe4e71bc3e89863f2245d9c3ff
4
- data.tar.gz: 14afb884ec6e4247b37f95b0002c2dd19098c75cf464fe07d3c79565f83916a0
3
+ metadata.gz: 64cfe9f5818b1ad35a426e047a1639889db338c028923af2e2cbc9c4e31556da
4
+ data.tar.gz: ce53c502a2bbbeb261dfe3dc048a8e423848f7f29633956447c0abe1b474712d
5
5
  SHA512:
6
- metadata.gz: b2ee449bb57c15cc6d9cd7d5566aa91af414c34a3c2aabc1a2e858650447b93df9bba3d705d248beffed8bee615b31cfc2db935c525b6eed2178658f7ab2a655
7
- data.tar.gz: c3f587b3ed1ccb1ca27a902db900346767bb012e082f45a6f1aa8a60b17d6da913fa6cf926645b966020fc813517470a1b85d621f51a3849b255683da87bdcde
6
+ metadata.gz: 6a6f5bc095f471f44cb2effd225be4bcf1c10622374adbe7f00d2b7953f0be3b09f763307ba167456169ba862e629e0cdf3e5596228f093461ee98fb35c3b21d
7
+ data.tar.gz: e081fa09f5ba85d7a9a581b30a8fabf9e83ce89c200bd020b3a9bdc0a8b6b955cf61b01fd1c0279ea2dbec406f77b6b790fd42397a2989632a3eb8fa918c5f28
@@ -1,6 +1,6 @@
1
1
  require 'singleton'
2
- # arch = %x(ruby -v)
3
2
  require 'sqlite3'
3
+
4
4
  module LgPodPlugin
5
5
 
6
6
  class ProjectModel
@@ -15,27 +15,18 @@ module LgPodPlugin
15
15
  # 预下载处理
16
16
  def pre_download_pod
17
17
  name = self.request.name
18
- if self.request.lg_spec
19
- podspec = self.request.lg_spec.spec
20
- else
21
- podspec = nil
22
- end
18
+ podspec = self.request.podspec
23
19
  checkout_options = Hash.new.merge!(self.request.checkout_options)
24
20
  http = checkout_options[:http]
25
21
  git = checkout_options[:git]
26
22
  tag = checkout_options[:tag]
27
23
  branch = checkout_options[:branch]
28
24
  checkout_options[:name] = name if name
29
- checkout_options[:spec] = self.request.lg_spec if podspec
30
25
  unless branch
31
26
  branch = self.request.params[:branch] if self.request.params[:branch]
32
27
  checkout_options[:branch] = branch if branch
33
28
  end
34
29
  commit = checkout_options[:commit]
35
- # unless commit
36
- # commit = self.request.params[:commit] if self.request.params[:commit]
37
- # checkout_options[:commit] = commit if commit
38
- # end
39
30
  if branch
40
31
  LgPodPlugin.log_green "Using `#{name}` (#{branch})"
41
32
  elsif tag
@@ -49,10 +40,13 @@ module LgPodPlugin
49
40
  LgPodPlugin.log_green "Using `#{name}`"
50
41
  end
51
42
  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
54
- # 发现本地有缓存, 不需要更新缓存
55
- pod_is_exist, destination, cache_pod_spec = LCache.new.pod_cache_exist(name, hash_map, podspec, self.request.released_pod)
43
+ if request.single_git
44
+ commit = hash_map[:commit] unless commit
45
+ checkout_options[:commit] = commit if commit
46
+ pod_is_exist, destination, cache_pod_spec = LCache.new.pod_cache_exist(name, {:git => git}, podspec, self.request.released_pod)
47
+ else
48
+ pod_is_exist, destination, cache_pod_spec = LCache.new.pod_cache_exist(name, hash_map, podspec, self.request.released_pod)
49
+ end
56
50
  if pod_is_exist
57
51
  LgPodPlugin.log_green "find the cache of `#{name}`, you can use it now."
58
52
  return nil
@@ -62,42 +56,9 @@ module LgPodPlugin
62
56
  # 本地 git 下载 pod 目录
63
57
  download_params = self.pre_download_git_repository(checkout_options)
64
58
  if download_params && download_params.is_a?(Hash)
59
+ download_params["dirname"] = destination.dirname
65
60
  download_params["destination"] = destination
66
61
  download_params["cache_pod_spec_path"] = cache_pod_spec
67
- podspec = download_params["podspec"]
68
- podspec_content = download_params["podspec_content"]
69
- if podspec
70
- podspec_json = podspec.to_pretty_json
71
- download_params["podspec_json"] = podspec_json if podspec
72
- download_params["prepare_command"] = podspec.prepare_command if podspec
73
- download_params.delete("podspec")
74
- unless self.request.lg_spec
75
- self.request.lg_spec = podspec
76
- end
77
- elsif podspec_content
78
- path = download_params["path"]
79
- podspec_path = path + "/#{name}.podspec"
80
- begin
81
- File.open(podspec_path,"w+") do|f|
82
- f.write podspec_content
83
- end
84
- end
85
- if File.exist?(podspec_path)
86
- lg_spec = LgPodPlugin::PodSpec.form_file podspec_path
87
- if lg_spec
88
- self.request.lg_spec = lg_spec
89
- download_params["podspec_json"] = lg_spec.to_pretty_json
90
- download_params["source_files"] = lg_spec.source_files.keys
91
- download_params["prepare_command"] = lg_spec.prepare_command if lg_spec.prepare_command
92
- download_params.delete("podspec_content")
93
- else
94
- download_params["source_files"] = ["All"]
95
- download_params["prepare_command"] = nil
96
- download_params["podspec_json"] = podspec_content
97
- download_params.delete("podspec_content")
98
- end
99
- end
100
- end
101
62
  return download_params
102
63
  elsif File.exist?(download_params.to_s) && download_params
103
64
  FileUtils.chdir download_params
@@ -1,4 +1,4 @@
1
- # require 'git'
1
+
2
2
  require 'cocoapods/downloader'
3
3
  require 'cocoapods/downloader/cache'
4
4
  require 'cocoapods/downloader/response'
@@ -12,32 +12,34 @@ module LgPodPlugin
12
12
  end
13
13
 
14
14
  public
15
+
15
16
  def pod_cache_exist(name, options, spec = nil, released_pod = false)
16
17
  # 参数为空不执行下载任务, 交给 cocoapods 处理下载
17
18
  if options.nil?
18
- return [true, nil, nil]
19
+ return [true, nil, nil]
19
20
  end
20
-
21
21
  destination, cache_pod_spec = self.find_pod_cache name, options, spec, released_pod
22
- lock_temp_file = destination.to_path+ ".lock"
22
+ lock_temp_file = destination.to_path + ".lock"
23
23
  if File.exist?(lock_temp_file)
24
24
  FileUtils.rm_rf lock_temp_file
25
25
  end
26
- if (File.exist?(destination) && !destination.children.empty?) && cache_pod_spec.exist?
26
+ if destination && destination.exist? && !destination.children.empty?
27
27
  return [true, destination, cache_pod_spec]
28
28
  else
29
29
  return [false, destination, cache_pod_spec]
30
30
  end
31
31
  end
32
32
 
33
- #判断缓存是否存在且有效命中缓存
33
+ # 判断缓存是否存在且有效命中缓存
34
+
34
35
  public
36
+
35
37
  def find_pod_cache(name, options, spec = nil, released_pod = false)
36
38
  hash_map = Hash.new.merge!(options)
37
39
  if hash_map.has_key?(:version)
38
40
  hash_map.delete(:version)
39
41
  end
40
- request = LCache.download_request(name, hash_map, spec, released_pod)
42
+ request = LCache.create_download_request(name, hash_map, spec, released_pod)
41
43
  destination = LCache.path_for_pod(request)
42
44
  cache_pod_spec = LCache.path_for_spec(request)
43
45
  [destination, cache_pod_spec]
@@ -48,32 +50,50 @@ module LgPodPlugin
48
50
  Pathname(path)
49
51
  end
50
52
 
51
- def self.download_request(name, params, spec = nil, released_pod = false)
53
+ def self.create_download_request(name, params, spec = nil, released_pod = false)
52
54
  if released_pod
53
- Pod::Downloader::Request.new(spec: spec, released: true , name: name, params: params)
55
+ Pod::Downloader::Request.new(spec: spec, released: true, name: name, params: params)
56
+ else
57
+ Pod::Downloader::Request.new(spec: nil, released: false, name: name, params: params)
58
+ end
59
+ end
60
+
61
+ def self.create_downloader_manager(request, target)
62
+ result = Pod::Downloader::Response.new
63
+ result.checkout_options = request.params
64
+ result.location = target
65
+
66
+ if request.released_pod?
67
+ result.spec = request.spec
68
+ podspecs = { request.name => request.spec }
54
69
  else
55
- Pod::Downloader::Request.new(spec: nil, released: false , name: name, params: params)
70
+ podspecs = Pod::Sandbox::PodspecFinder.new(target).podspecs
71
+ podspecs[request.name] = request.spec if request.spec
72
+ podspecs.each do |name, spec|
73
+ if request.name == name
74
+ result.spec = spec
75
+ end
76
+ end
56
77
  end
78
+
79
+ [result, podspecs]
57
80
  end
58
- #MARK - 缓存方法
81
+
82
+ def self.root_cache
83
+ cache_path = LFileManager.cache_root_path
84
+ return Pod::Downloader::Cache.new(cache_path)
85
+ end
86
+
87
+ # MARK - 缓存方法
59
88
  def self.path_for_pod(request, slug_opts = {})
60
- root = self.root_path
61
- root + request.slug(**slug_opts)
89
+ root_path + request.slug(**slug_opts)
62
90
  end
63
91
 
64
92
  def self.path_for_spec(request, slug_opts = {})
65
- root = self.root_path
66
- path = root + 'Specs' + request.slug(**slug_opts)
67
- Pathname.new(path.to_path + '.podspec.json')
93
+ path = root_path + 'Specs' + request.slug(**slug_opts)
94
+ return Pathname.new(path.to_path + '.podspec.json')
68
95
  end
69
96
 
70
- # def self.cached_spec(request)
71
- # path = path_for_spec(request)
72
- # path.file? && Specification.from_file(path)
73
- # rescue JSON::ParserError
74
- # nil
75
- # end
76
-
77
97
  def self.get_local_spec(request, target)
78
98
  result = Pod::Downloader::Response.new
79
99
  result.location = target
@@ -95,62 +115,29 @@ module LgPodPlugin
95
115
  [result, local_specs]
96
116
  end
97
117
 
98
- def self.group_subspecs_by_platform(spec)
99
- specs_by_platform = {}
100
- [spec, *spec.recursive_subspecs].each do |ss|
101
- ss.available_platforms.each do |platform|
102
- specs_by_platform[platform] ||= []
103
- specs_by_platform[platform] << ss
104
- end
105
- end
106
- specs_by_platform
107
- end
108
-
109
118
  def self.copy_and_clean(source, destination, spec)
110
- specs_by_platform = group_subspecs_by_platform(spec)
111
- destination.parent.mkpath
112
- self.write_lock(destination) do
113
- FileUtils.rm_rf(destination)
114
- FileUtils.cp_r(source, destination)
115
- Pod::Installer::PodSourcePreparer.new(spec, destination).prepare!
116
- Pod::Sandbox::PodDirCleaner.new(destination, specs_by_platform).clean!
117
- end
118
- end
119
-
120
- def self.clean_pod_unused_files(destination, spec)
121
- specs_by_platform = group_subspecs_by_platform(spec)
122
- destination.parent.mkpath
123
- self.write_lock(destination) do
124
- Pod::Installer::PodSourcePreparer.new(spec, destination).prepare!
125
- Pod::Sandbox::PodDirCleaner.new(destination, specs_by_platform).clean!
126
- end
127
- end
128
-
129
- def self.write_lock(location, &block)
130
- Pod::Downloader::Cache.lock(location, File::LOCK_SH, &block)
119
+ return self.root_cache.copy_and_clean(source, destination, spec)
131
120
  end
132
121
 
133
122
  public
123
+
134
124
  def self.write_spec(spec, path)
135
- path.dirname.mkpath
136
- Pod::Downloader::Cache.write_lock(path) do
137
- path.open('w') { |f|
138
- f.write spec.to_pretty_json
139
- }
140
- end
125
+ self.root_cache.write_spec(spec, path)
141
126
  end
142
127
 
143
128
  # 拷贝 pod 缓存文件到 sandbox
129
+
144
130
  public
131
+
145
132
  def self.cache_pod(name, target, options = {}, spec = nil, released_pod = false)
146
133
  checkout_options = Hash.new.deep_merge(options).reject do |key, val|
147
134
  !key || !val
148
135
  end
149
- request = LCache.download_request(name, checkout_options, spec, released_pod)
150
- _, pods_pecs = get_local_spec(request, target)
151
- pods_pecs.each do |_, s_spec|
152
- destination = path_for_pod(request, :name => name, :params => checkout_options)
153
- if !File.exist?(destination) || destination.children.empty?
136
+ request = create_download_request(name, checkout_options, spec, released_pod)
137
+ result, pods_pecs = create_downloader_manager(request, target)
138
+ pods_pecs.each do |name, s_spec|
139
+ destination = path_for_pod request, { :name => name, :params => checkout_options }
140
+ if !destination.exist? || destination.children.empty?
154
141
  LgPodPlugin.log_green "Copying #{name} from `#{target}` to `#{destination}` "
155
142
  copy_and_clean(target, destination, s_spec)
156
143
  end
@@ -158,8 +145,13 @@ module LgPodPlugin
158
145
  unless File.exist?(cache_pod_spec)
159
146
  write_spec(s_spec, cache_pod_spec)
160
147
  end
148
+ if request.name == name
149
+ result.location = destination
150
+ end
161
151
  end
162
152
 
153
+ result
154
+
163
155
  end
164
156
 
165
157
  end
@@ -1,6 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
- require 'cocoapods'
4
1
  require 'fileutils'
5
2
  require 'tmpdir'
6
3
 
@@ -10,155 +7,9 @@ module Pod
10
7
  # them in a cache directory.
11
8
  #
12
9
  class Cache
13
- # @return [Pathname] The root directory where this cache store its
14
- # downloads.
15
- #
16
- attr_reader :root
17
-
18
- # Initialize a new instance
19
- #
20
- # @param [Pathname,String] root
21
- # see {#root}
22
- #
23
- def initialize(root)
24
- @root = Pathname(root)
25
- ensure_matching_version
26
- end
27
-
28
- # Downloads the Pod from the given `request`
29
- #
30
- # @param [Request] request
31
- # the request to be downloaded.
32
- #
33
- # @return [Response] the response from downloading `request`
34
- #
35
- def download_pod(request)
36
- cached_pod(request) || uncached_pod(request)
37
- rescue Informative
38
- raise
39
- rescue
40
- UI.puts("\n[!] Error installing #{request.name}".red)
41
- raise
42
- end
43
-
44
- # @return [Hash<String, Hash<Symbol, String>>]
45
- # A hash whose keys are the pod name
46
- # And values are a hash with the following keys:
47
- # :spec_file : path to the spec file
48
- # :name : name of the pod
49
- # :version : pod version
50
- # :release : boolean to tell if that's a release pod
51
- # :slug : the slug path where the pod cache is located
52
- #
53
- def cache_descriptors_per_pod
54
- specs_dir = root + 'Specs'
55
- release_specs_dir = specs_dir + 'Release'
56
- return {} unless specs_dir.exist?
57
-
58
- spec_paths = specs_dir.find.select { |f| f.fnmatch('*.podspec.json') }
59
- spec_paths.reduce({}) do |hash, spec_path|
60
- spec = Specification.from_file(spec_path)
61
- hash[spec.name] ||= []
62
- is_release = spec_path.to_s.start_with?(release_specs_dir.to_s)
63
- request = Downloader::Request.new(:spec => spec, :released => is_release)
64
- hash[spec.name] << {
65
- :spec_file => spec_path,
66
- :name => spec.name,
67
- :version => spec.version,
68
- :release => is_release,
69
- :slug => root + request.slug,
70
- }
71
- hash
72
- end
73
- end
74
10
 
75
- # Convenience method for acquiring a shared lock to safely read from the
76
- # cache. See `Cache.lock` for more details.
77
- #
78
- # @param [Pathname] location
79
- # the path to require a lock for.
80
- #
81
- # @param [block] &block
82
- # the block to execute inside the lock.
83
- #
84
- # @return [void]
85
- #
86
- def self.read_lock(location, &block)
87
- Cache.lock(location, File::LOCK_SH, &block)
88
- end
89
-
90
- # Convenience method for acquiring an exclusive lock to safely write to
91
- # the cache. See `Cache.lock` for more details.
92
- #
93
- # @param [Pathname] location
94
- # the path to require a lock for.
95
- #
96
- # @param [block] &block
97
- # the block to execute inside the lock.
98
- #
99
- # @return [void]
100
- #
101
- def self.write_lock(location, &block)
102
- Cache.lock(location, File::LOCK_EX, &block)
103
- end
104
-
105
- # Creates a .lock file at `location`, aquires a lock of type
106
- # `lock_type`, checks that it is valid, and executes passed block while
107
- # holding on to that lock. Afterwards, the .lock file is deleted, which is
108
- # why validation of the lock is necessary, as you might have a lock on a
109
- # file that doesn't exist on the filesystem anymore.
110
- #
111
- # @param [Pathname] location
112
- # the path to require a lock for.
113
- #
114
- # @param [locking_constant] lock_type
115
- # the type of lock, either exclusive (File::LOCK_EX) or shared
116
- # (File::LOCK_SH).
117
- #
118
- # @return [void]
119
- #
120
- def self.lock(location, lock_type)
121
- raise ArgumentError, 'no block given' unless block_given?
122
- lockfile = "#{location}.lock"
123
- f = nil
124
- loop do
125
- f.close if f
126
- f = File.open(lockfile, File::CREAT, 0o644)
127
- f.flock(lock_type)
128
- break if Cache.valid_lock?(f, lockfile)
129
- end
130
- begin
131
- yield location
132
- ensure
133
- if lock_type == File::LOCK_SH
134
- f.flock(File::LOCK_EX)
135
- File.delete(lockfile) if Cache.valid_lock?(f, lockfile)
136
- else
137
- File.delete(lockfile)
138
- end
139
- f.close
140
- end
141
- end
142
-
143
- # Checks that the lock is on a file that still exists on the filesystem.
144
- #
145
- # @param [File] file
146
- # the actual file that we have a lock for.
147
- #
148
- # @param [String] filename
149
- # the filename of the file that we have a lock for.
150
- #
151
- # @return [Boolean]
152
- # true if `filename` still exists and is the same file as `file`
153
- #
154
- def self.valid_lock?(file, filename)
155
- file.stat.ino == File.stat(filename).ino
156
- rescue Errno::ENOENT
157
- false
158
- end
159
11
 
160
12
  private
161
-
162
13
  # Ensures the cache on disk was created with the same CocoaPods version as
163
14
  # is currently running.
164
15
  #
@@ -178,152 +29,31 @@ module Pod
178
29
  end
179
30
  end
180
31
 
181
- # @param [Request] request
182
- # the request to be downloaded.
183
- #
184
- # @param [Hash<Symbol,String>] slug_opts
185
- # the download options that should be used in constructing the
186
- # cache slug for this request.
187
- #
188
- # @return [Pathname] The path for the Pod downloaded from the given
189
- # `request`.
190
- #
191
- def path_for_pod(request, slug_opts = {})
192
- root + request.slug(**slug_opts)
193
- end
194
-
195
- # @param [Request] request
196
- # the request to be downloaded.
197
- #
198
- # @param [Hash<Symbol,String>] slug_opts
199
- # the download options that should be used in constructing the
200
- # cache slug for this request.
201
- #
202
- # @return [Pathname] The path for the podspec downloaded from the given
203
- # `request`.
204
- #
205
- def path_for_spec(request, slug_opts = {})
206
- path = root + 'Specs' + request.slug(**slug_opts)
207
- Pathname.new(path.to_path + '.podspec.json')
208
- end
209
-
210
- # @param [Request] request
211
- # the request to be downloaded.
212
- #
213
- # @return [Response] The download response for the given `request` that
214
- # was found in the download cache.
215
- #
216
- def cached_pod(request)
217
- cached_spec = cached_spec(request)
218
- path = path_for_pod(request)
219
-
220
- return unless cached_spec && path.directory?
221
- spec = request.spec || cached_spec
222
- Response.new(path, spec, request.params)
223
- end
224
-
225
- # @param [Request] request
226
- # the request to be downloaded.
227
- #
228
- # @return [Specification] The cached specification for the given
229
- # `request`.
230
- #
231
- def cached_spec(request)
232
- path = path_for_spec(request)
233
- path.file? && Specification.from_file(path)
234
- rescue JSON::ParserError
235
- nil
236
- end
237
-
238
- # @param [Request] request
239
- # the request to be downloaded.
240
- #
241
- # @return [Response] The download response for the given `request` that
242
- # was not found in the download cache.
243
- #
244
- def uncached_pod(request)
245
- in_tmpdir do |target|
246
- result, podspecs = download(request, target)
247
- result.location = nil
248
-
249
- podspecs.each do |name, spec|
250
- destination = path_for_pod(request, :name => name, :params => result.checkout_options)
251
- copy_and_clean(target, destination, spec)
252
- write_spec(spec, path_for_spec(request, :name => name, :params => result.checkout_options))
253
- if request.name == name
254
- result.location = destination
255
- end
256
- end
257
-
258
- result
259
- end
260
- end
261
-
262
- def download(request, target)
263
- Downloader.download_request(request, target)
264
- end
265
-
266
- # Performs the given block inside a temporary directory,
267
- # which is removed at the end of the block's scope.
268
- #
269
- # @return [Object] The return value of the given block
270
- #
271
- def in_tmpdir(&blk)
272
- tmpdir = Pathname(Dir.mktmpdir)
273
- blk.call(tmpdir)
274
- ensure
275
- FileUtils.remove_entry(tmpdir, :force => true) if tmpdir && tmpdir.exist?
276
- end
277
-
278
- # Copies the `source` directory to `destination`, cleaning the directory
279
- # of any files unused by `spec`.
280
- #
281
- # @param [Pathname] source
282
- #
283
- # @param [Pathname] destination
284
- #
285
- # @param [Specification] spec
286
- #
287
- # @return [Void]
288
- #
32
+ public
289
33
  def copy_and_clean(source, destination, spec)
34
+ attributes_hash = spec.send(:attributes_hash) || {}
35
+ name = attributes_hash["name"] ||= ""
290
36
  specs_by_platform = group_subspecs_by_platform(spec)
291
37
  destination.parent.mkpath
292
- Cache.write_lock(destination) do
293
- FileUtils.rm_rf(destination)
294
- FileUtils.cp_r(source, destination)
295
- Pod::Installer::PodSourcePreparer.new(spec, destination).prepare!
296
- Sandbox::PodDirCleaner.new(destination, specs_by_platform).clean!
297
- end
298
- end
299
-
300
- def group_subspecs_by_platform(spec)
301
- specs_by_platform = {}
302
- [spec, *spec.recursive_subspecs].each do |ss|
303
- ss.available_platforms.each do |platform|
304
- specs_by_platform[platform] ||= []
305
- specs_by_platform[platform] << ss
38
+ Pod::Downloader::Cache.write_lock(destination) do
39
+ if source && source.exist? && !source.children.empty?
40
+ FileUtils.rm_rf(destination)
41
+ FileUtils.cp_r(source, destination)
306
42
  end
43
+ LgPodPlugin.log_green "-> Copy #{name} from #{source} to #{destination}"
44
+ Pod::Installer::PodSourcePreparer.new(spec, destination).prepare!
45
+ Pod::Sandbox::PodDirCleaner.new(destination, specs_by_platform).clean!
307
46
  end
308
- specs_by_platform
309
47
  end
310
48
 
311
- # Writes the given `spec` to the given `path`.
312
- #
313
- # @param [Specification] spec
314
- # the specification to be written.
315
- #
316
- # @param [Pathname] path
317
- # the path the specification is to be written to.
318
- #
319
- # @return [Void]
320
- #
49
+ public
321
50
  def write_spec(spec, path)
322
51
  path.dirname.mkpath
323
- Cache.write_lock(path) do
52
+ Pod::Downloader::Cache.write_lock(path) do
324
53
  path.open('w') { |f| f.write spec.to_pretty_json }
325
54
  end
326
55
  end
56
+
327
57
  end
328
58
  end
329
- end
59
+ end
@@ -6,7 +6,7 @@ module LgPodPlugin
6
6
  class LRequest
7
7
  attr_reader :target
8
8
  attr_reader :name
9
- attr_accessor :lg_spec
9
+ attr_accessor :podspec
10
10
  attr_reader :released_pod
11
11
  attr_accessor :single_git
12
12
  attr_accessor :config
@@ -16,12 +16,10 @@ module LgPodPlugin
16
16
  attr_accessor :checkout_options
17
17
  def initialize(pod)
18
18
  @name = pod.name
19
+ @podspec = pod.spec
19
20
  @target = pod.target
20
21
  @released_pod = pod.released_pod
21
22
  @checkout_options = pod.checkout_options
22
- if pod.spec
23
- @lg_spec = pod.spec
24
- end
25
23
  self.preprocess_request
26
24
  end
27
25