lg_pod_plugin 1.0.1 → 1.0.3

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: 872508947b930ee5b91b49de9ccba4fe2bd74aedc1dfcb829ccb470d140c1165
4
- data.tar.gz: 1882ba4f26ae21d1d2f821911339adb0e8fc3d39fa6c12537cf7800c7d57d4eb
3
+ metadata.gz: 61fa41fbaf71702b19bf2ef604d2283f68d472e5c47428890398463556a985f7
4
+ data.tar.gz: 9c45761ced23924ce2e70557245d70eb883b4f7158c63acfeb3f0547af2e1fdc
5
5
  SHA512:
6
- metadata.gz: d43f347f17d5fce098ff285abbf4b843f982c6d6e108dbe72a5c6e1da809859558092830a241b97955c0adecdaafc601eb9ec971a316e39cf906797a547be184
7
- data.tar.gz: d0de1ffeb0bf00948b7ab8953c2d04792b401ef681095b65029f4b7af966592c1a5e1dc2c8987c0f20097ae54b6d42316b4564e55e3b6d1811419363c15917ae
6
+ metadata.gz: 549679243cd9e06a3d4626c06c79733bd779817e018bc5c46eb75f1731f7c5806f98bc02956ffd2e696b34e8ca1fb29f3fffb33feb231b9cb07180c3189ad586
7
+ data.tar.gz: 00d3b2bf9cf9d22c87141e63872b2dd466658d14972b1e8b4a4ae2a5f23d3fbb96195971cddc8063bc38cc97b4d7468422c9ccbe330e70aac6af80ce1126dcc0
@@ -1,18 +1,20 @@
1
1
  require 'git'
2
- require 'cocoapods/downloader.rb'
3
- require 'cocoapods/downloader/cache.rb'
4
- require 'cocoapods/downloader/response.rb'
5
- require 'cocoapods/downloader/request.rb'
2
+ require 'cocoapods/downloader'
3
+ require 'cocoapods/downloader/cache'
4
+ require 'cocoapods/downloader/response'
5
+ require 'cocoapods/downloader/request'
6
6
 
7
7
  module LgPodPlugin
8
8
 
9
9
  class CachePodInfo
10
- attr_accessor :sha
11
- attr_accessor :tag
12
- attr_accessor :name
13
- attr_accessor :path
14
- attr_accessor :branch
15
- attr_accessor :timestamp
10
+ # attr_accessor :sha
11
+ # attr_accessor :tag
12
+ # attr_accessor :name
13
+ # attr_accessor :path
14
+ # attr_accessor :branch
15
+ # attr_accessor :timestamp
16
+ REQUIRED_ATTRS ||= %i[sha tag name path branch timestamp].freeze
17
+ attr_accessor(*REQUIRED_ATTRS)
16
18
  def initialize
17
19
  super
18
20
  end
@@ -46,9 +48,9 @@ class Cache
46
48
  destination = Cache.path_for_pod(request, {})
47
49
  cache_pod_spec = Cache.path_for_spec(request, {})
48
50
  if File.exist?(destination) && File.exist?(cache_pod_spec)
49
- [false , last_commit]
51
+ [false , last_commit]
50
52
  else
51
- [true , last_commit]
53
+ [true , last_commit]
52
54
  end
53
55
  end
54
56
 
@@ -127,7 +129,7 @@ class Cache
127
129
  def self.copy_and_clean(source, destination, spec)
128
130
  specs_by_platform = group_sub_specs_by_platform(spec)
129
131
  destination.parent.mkpath
130
- Pod::Downloader::Cache.write_lock(destination) do
132
+ self.write_lock(destination) do
131
133
  FileUtils.rm_rf(destination)
132
134
  FileUtils.cp_r(source, destination)
133
135
  Pod::Installer::PodSourcePreparer.new(spec, destination).prepare!
@@ -135,12 +137,46 @@ class Cache
135
137
  end
136
138
  end
137
139
 
140
+ def self.write_lock(location, &block)
141
+ self.lock(location, File::LOCK_EX, &block)
142
+ end
143
+
144
+ def self.lock(location, lock_type)
145
+ raise ArgumentError, 'no block given' unless block_given?
146
+ lockfile = "#{location}.lock"
147
+ f = nil
148
+ loop do
149
+ f.close if f
150
+ f = File.open(lockfile, File::CREAT, 0o644)
151
+ f.flock(lock_type)
152
+ break if self.valid_lock?(f, lockfile)
153
+ end
154
+ begin
155
+ yield location
156
+ ensure
157
+ if lock_type == File::LOCK_SH
158
+ f.flock(File::LOCK_EX)
159
+ File.delete(lockfile) if self.valid_lock?(f, lockfile)
160
+ else
161
+ File.delete(lockfile)
162
+ end
163
+ f.close
164
+ end
165
+ end
166
+
167
+ def self.valid_lock?(file, filename)
168
+ file.stat.ino == File.stat(filename).ino
169
+ rescue Errno::ENOENT
170
+ false
171
+ end
172
+
138
173
  def self.write_spec(spec, path)
139
174
  path.dirname.mkpath
140
175
  Pod::Downloader::Cache.write_lock(path) do
141
176
  path.open('w') { |f| f.write spec.to_pretty_json }
142
177
  end
143
178
  end
179
+
144
180
  # 拷贝 pod 缓存文件到 sandbox
145
181
  def self.cache_pod(name, target, is_update, options = {})
146
182
  request = Cache.download_request(name, options)
@@ -149,7 +185,7 @@ class Cache
149
185
  pods_pecs.each do |s_name, s_spec|
150
186
  destination = path_for_pod(request, {})
151
187
  if !File.exist?(destination) || is_update
152
- puts "Copying #{name} from `#{target}` to `#{destination}` "
188
+ LgPodPlugin.log_green "Copying #{name} from `#{target}` to `#{destination}` "
153
189
  copy_and_clean(target, destination, s_spec)
154
190
  end
155
191
  cache_pod_spec = path_for_spec(request, {})
@@ -53,7 +53,7 @@ module LgPodPlugin
53
53
  self.delete_table(current_pod.name, current_pod.branch)
54
54
  end
55
55
  array = self.select_tables(name, branch)
56
- if array.count <= 1
56
+ if array.count <= 2
57
57
  return
58
58
  end
59
59
 
@@ -1,28 +1,42 @@
1
1
  require 'git'
2
- require_relative 'cache.rb'
3
- require_relative 'database.rb'
4
- require_relative 'file_path.rb'
2
+ require_relative 'cache'
3
+ require_relative 'database'
4
+ require_relative 'file_path'
5
5
 
6
- module LgPodPlugin
6
+ module LgPodPlugin
7
7
 
8
8
  class Downloader
9
- attr_accessor :git_util
10
- attr_accessor :db
11
- attr_accessor :cache
12
- REQUIRED_ATTRS ||= %i[git name commit branch tag options].freeze
9
+
10
+ REQUIRED_ATTRS ||= %i[git name commit branch tag options git_util db cache is_cache].freeze
13
11
  attr_accessor(*REQUIRED_ATTRS)
12
+
14
13
  def initialize
15
14
  self.cache = Cache.new
16
15
  self.db = SqliteDb.instance
17
16
  super
18
17
  end
18
+
19
19
  def download_init(name, options = {})
20
+ hash_map = options
20
21
  self.name = name
21
- self.options = options
22
- self.git = options[:git]
23
- self.tag = options[:tag]
24
- self.branch = options[:branch]
25
- self.commit = options[:commit]
22
+ self.git = hash_map[:git]
23
+ self.tag = hash_map[:tag]
24
+ self.branch = hash_map[:branch]
25
+ self.commit = hash_map[:commit]
26
+ self.is_cache = hash_map[:depth]
27
+ # 通过ls-remote获取 head 指向 branch
28
+ if !self.branch && self.git
29
+ ls = Git.ls_remote(self.git, :head => true)
30
+ head_ref = ls["head"][:sha]
31
+ ls["branches"].each do |key, value|
32
+ sha = value[:sha]
33
+ next if sha != head_ref
34
+ self.branch = key
35
+ hash_map[:branch] = key
36
+ break
37
+ end
38
+ end
39
+ self.options = hash_map
26
40
  end
27
41
 
28
42
  def is_update_pod
@@ -50,19 +64,14 @@ module LgPodPlugin
50
64
  self.git_util = git
51
65
  is_update = self.is_update_pod
52
66
  self.git_util.git_init(self.name, self.options)
53
- # if name == "LBase" || name == "LLogger" || name == "LUnityFramework" || name == "LUser"
54
- # pp name
55
- # end
56
- # tag = options[:tag]
57
67
  git_url = options[:git]
58
68
  # commit = options[:commit]
59
69
  branch = options[:branch]
60
- puts "Using `#{name}` (#{branch})\n"
61
-
70
+ LgPodPlugin.log_green "Using `#{name}` (#{branch})"
62
71
  # 发现本地有缓存, 不需要更新缓存
63
72
  need_download, new_commit = self.cache.find_pod_cache(name, git_url, branch, is_update)
64
73
  unless need_download
65
- puts "find the cache of `#{name}`, you can use it now."
74
+ LgPodPlugin.log_green "find the cache of `#{name}`, you can use it now."
66
75
  return
67
76
  end
68
77
 
@@ -91,40 +100,39 @@ module LgPodPlugin
91
100
  if new_commit != current_commit && is_update
92
101
  #删除旧的pod 缓存
93
102
  self.cache.clean_old_cache(name, git_url, current_commit)
94
- puts "git pull #{name} origin/#{current_branch}\n"
103
+ LgPodPlugin.log_green "git pull #{name} origin/#{current_branch}"
95
104
  self.git_util.should_pull(git, current_branch, new_commit)
96
105
  current_commit = new_commit
97
106
  end
98
- hash_map = {:git => git_url}
107
+ hash_map = { :git => git_url }
99
108
  if current_commit
100
109
  hash_map[:commit] = current_commit
101
110
  end
102
111
  SqliteDb.instance.insert_table(name, branch, current_commit, nil, real_pod_path)
103
- LgPodPlugin::Cache.cache_pod(name,real_pod_path,is_update,hash_map)
112
+ LgPodPlugin::Cache.cache_pod(name, real_pod_path, is_update, hash_map)
104
113
  else
105
- branch_exist = git.branches.local.find {|e| e.to_s == branch}
114
+ branch_exist = git.branches.local.find { |e| e.to_s == branch }
106
115
  if branch_exist
107
- puts "git switch #{name} #{git_url} -b #{branch}\n"
116
+ LgPodPlugin.log_green "git switch #{name} #{git_url} -b #{branch}"
108
117
  self.git_util.git_switch(branch)
109
118
  else
110
- puts "git checkout #{name} #{git_url} -b #{branch}\n"
119
+ LgPodPlugin.log_green "git checkout #{name} #{git_url} -b #{branch}"
111
120
  self.git_util.git_checkout(branch)
112
121
  end
113
122
  current_commit = git.log(1).to_s
114
123
  if current_commit != new_commit
115
- puts "git pull #{name} #{git_url} -b #{branch}\n"
124
+ LgPodPlugin.log_green "git pull #{name} #{git_url} -b #{branch}"
116
125
  self.git_util.should_pull(git, current_branch, new_commit)
117
126
  current_commit = new_commit
118
127
  end
119
- hash_map = {:git => git_url}
128
+ hash_map = { :git => git_url }
120
129
  if current_commit
121
130
  hash_map[:commit] = current_commit
122
131
  end
123
132
  SqliteDb.instance.insert_table(name, branch, current_commit, nil, real_pod_path)
124
- LgPodPlugin::Cache.cache_pod(name,real_pod_path,is_update,hash_map)
133
+ LgPodPlugin::Cache.cache_pod(name, real_pod_path, is_update, hash_map)
125
134
  end
126
135
 
127
-
128
136
  end
129
137
 
130
138
  end
@@ -1,16 +1,20 @@
1
1
  require 'pp'
2
2
  require 'git'
3
+ require_relative 'cache'
3
4
 
4
5
  module LgPodPlugin
5
6
 
6
7
  class GitUtil
7
- attr_accessor :git
8
- attr_accessor :tag
9
- attr_accessor :path
10
- attr_accessor :name
11
- attr_accessor :commit
12
- attr_accessor :branch
13
- attr_accessor :temp_git_path
8
+ # attr_accessor :git
9
+ # attr_accessor :tag
10
+ # attr_accessor :path
11
+ # attr_accessor :name
12
+ # attr_accessor :commit
13
+ # attr_accessor :branch
14
+ # attr_accessor :temp_git_path
15
+ REQUIRED_ATTRS ||= %i[git tag path name commit branch temp_git_path is_cache].freeze
16
+ attr_accessor(*REQUIRED_ATTRS)
17
+
14
18
  def initialize
15
19
  super
16
20
  end
@@ -22,14 +26,14 @@ module LgPodPlugin
22
26
  self.path = options[:path]
23
27
  self.branch = options[:branch]
24
28
  self.commit = options[:commit]
29
+ self.is_cache = options[:depth]
25
30
  end
26
31
 
27
32
  def git_clone(path)
28
33
  if self.branch
29
34
  temp_git_path = path.join("l-temp-pod")
30
- puts "git clone --template= --single-branch --depth 1 --branch #{self.branch} #{self.git}\n"
35
+ LgPodPlugin.log_yellow "git clone --template= --single-branch --depth 1 --branch #{self.branch} #{self.git}"
31
36
  system("git clone --template= --single-branch --depth 1 --branch #{self.branch} #{self.git} #{temp_git_path}")
32
- puts "\n"
33
37
  temp_git_path
34
38
  else
35
39
  nil
@@ -54,7 +58,7 @@ module LgPodPlugin
54
58
  end
55
59
 
56
60
  FileUtils.chdir(root_path)
57
- temp_path = root_path.join("tmp")
61
+ temp_path = root_path.join("temp")
58
62
  if temp_path.exist?
59
63
  FileUtils.rm_r(temp_path)
60
64
  end
@@ -66,18 +70,28 @@ module LgPodPlugin
66
70
  unless get_temp_folder.exist?
67
71
  return nil
68
72
  end
69
- pod_root_director = FileManager.download_pod_path(name)
70
- unless pod_root_director.exist?
71
- FileUtils.mkdir(pod_root_director)
73
+
74
+ if self.is_cache
75
+ pod_root_director = FileManager.download_pod_path(name)
76
+ unless pod_root_director.exist?
77
+ FileUtils.mkdir(pod_root_director)
78
+ end
79
+ FileUtils.mv(get_temp_folder, lg_pod_path)
80
+ temp_path.rmdir
81
+ lg_pod_path
82
+ else
83
+ commit = GitUtil.git_ls_remote_refs(self.git, self.branch)
84
+ LgPodPlugin::Cache.cache_pod(self.name, get_temp_folder, true, {:git => self.git, :commit => commit})
85
+ system("cd ..")
86
+ system("rm -rf #{get_temp_folder.to_path}")
87
+ return lg_pod_path
72
88
  end
73
- FileUtils.mv(get_temp_folder, lg_pod_path)
74
- temp_path.rmdir
75
- lg_pod_path
89
+
76
90
  end
77
91
 
78
92
  # 本地pod库git操作
79
- def git_local_pod_check
80
- FileUtils.chdir(self.path)
93
+ def git_local_pod_check(path)
94
+ FileUtils.chdir(path)
81
95
  git = Git.open(Pathname("./"))
82
96
  current_branch = git.current_branch
83
97
  last_stash_message = "#{current_branch}_pod_install_cache"
@@ -107,16 +121,19 @@ module LgPodPlugin
107
121
  # 获取最新的一条 commit 信息
108
122
  def self.git_ls_remote_refs(git, branch)
109
123
  last_commit = nil
110
- puts "git ls-remote #{git} #{branch}"
124
+ LgPodPlugin.log_yellow "git ls-remote #{git} #{branch}"
111
125
  sha = %x(git ls-remote #{git} #{branch}).split(" ").first
112
126
  if sha
113
127
  last_commit = sha
128
+ return last_commit
114
129
  else
115
130
  ls = Git.ls_remote(git, :refs => true )
116
131
  find_branch = ls["branches"][branch]
117
132
  if find_branch
118
133
  last_commit = find_branch[:sha]
134
+ return last_commit
119
135
  end
136
+ return nil
120
137
  end
121
138
  end
122
139
 
@@ -6,81 +6,126 @@ require 'cocoapods'
6
6
  require_relative 'database'
7
7
  require_relative 'download'
8
8
  require_relative 'git_util'
9
- require_relative 'pod_spec.rb'
9
+ require_relative 'pod_spec'
10
10
 
11
11
  module LgPodPlugin
12
+
12
13
  class Installer
13
- attr_accessor :profile
14
- attr_accessor :target
15
- attr_accessor :downloader
16
- attr_accessor :git_util
17
- def initialize(defined_in_file = nil, profile, &block)
18
- @defined_in_file = defined_in_file
14
+
15
+ REQUIRED_ATTRS ||= %i[name version options profile target real_name downloader git_util].freeze
16
+ attr_accessor(*REQUIRED_ATTRS)
17
+
18
+ def initialize(profile, name, *requirements)
19
+ if name.include?("/")
20
+ self.name = name.split("/").first
21
+ else
22
+ self.name = name
23
+ end
24
+ self.real_name = name
19
25
  self.profile = profile
20
26
  self.git_util = GitUtil.new
21
27
  self.downloader = Downloader.new
22
28
  self.target = profile.send(:current_target_definition)
23
- if block
24
- instance_eval(&block)
29
+
30
+ unless requirements && !requirements.empty?
31
+ self.lg_pod(self.real_name, requirements)
32
+ return
33
+ end
34
+
35
+ first = requirements[0].first
36
+ if "#{first.class}" == "String"
37
+ self.version = first
38
+ elsif "#{first.class}" == "Hash"
39
+ self.options = first
25
40
  end
41
+
42
+ hash_map = requirements[0].last
43
+ if "#{hash_map.class}" == "Hash"
44
+ self.options = hash_map
45
+ end
46
+
47
+ self.lg_pod(name, requirements)
48
+
26
49
  end
27
50
 
51
+ public
28
52
  # @param [Object] name
29
53
  # @param [Hash] options
30
54
  # @return [Object] nil
31
- def pod(name, options = {})
55
+ def lg_pod(name, *requirements)
32
56
  unless name
33
57
  raise StandardError, 'A dependency requires a name.'
34
58
  end
35
- if options[0].is_a?(String)
36
- version = options[0].to_s
37
- self.target.store_pod(name, version)
59
+
60
+ if !requirements
61
+ self.target.store_pod(self.real_name)
62
+ return
63
+ end
64
+
65
+ if self.version && !self.options
66
+ self.target.store_pod(self.real_name, self.version)
67
+ return
68
+ end
69
+
70
+ if self.version && self.options
71
+ hash_map = self.options
72
+ hash_map.delete(:depth)
73
+ self.target.store_pod(self.real_name, self.version, hash_map)
74
+ return
75
+ end
76
+
77
+ hash_map = self.options
78
+ unless hash_map.is_a?(Hash)
79
+ self.target.store_pod(self.real_name)
38
80
  return
39
81
  end
40
82
 
41
- path = options[:path]
42
- tag = options[:tag]
43
- commit = options[:commit]
44
- url = options[:git]
45
- branch = options[:branch]
46
- depth = options[:depth] ||= true
47
83
  real_path = nil
48
- if path
84
+ tag = hash_map[:tag]
85
+ url = hash_map[:git]
86
+ path = hash_map[:path]
87
+ commit = hash_map[:commit]
88
+ branch = hash_map[:branch]
89
+ is_cache = options[:depth]
90
+ if path
49
91
  profile_path = self.profile.send(:defined_in_file).dirname
50
92
  real_path = Pathname.new(path).expand_path(profile_path)
51
93
  end
52
94
  # 找到本地组件库 执行 git pull
53
95
  if real_path && File.directory?(real_path)
54
- self.install_local_pod(name, options)
96
+ hash_map[:path] = real_path
97
+ hash_map.delete(:depth)
98
+ self.install_local_pod(self.name, hash_map)
55
99
  return
56
100
  end
57
101
 
58
102
  # 根据tag, commit下载文件
59
- hash_map = options
60
103
  hash_map.delete(:path)
61
- if tag || commit
62
- hash_map.delete(:branch)
104
+ if (tag && url) || (commit && url)
63
105
  hash_map.delete(:depth)
64
- self.target.store_pod(name, hash_map)
106
+ hash_map.delete(:branch)
107
+ self.target.store_pod(self.real_name, hash_map)
65
108
  return
66
109
  end
67
110
 
68
111
  # 根据 branch 下载代码
69
- if url && branch && depth
112
+ if url
70
113
  hash_map.delete(:tag)
71
114
  hash_map.delete(:commit)
72
- hash_map.delete(:depth)
73
- self.downloader.download_init(name, options)
115
+ self.downloader.download_init(self.name, hash_map)
74
116
  self.downloader.pre_download_pod(self.git_util)
75
- self.target.store_pod(name, hash_map)
117
+ hash_map.delete(:depth)
118
+ self.target.store_pod(self.real_name, hash_map)
76
119
  end
77
120
 
121
+
78
122
  end
79
123
 
124
+ public
80
125
  def install_form_specs(spec_path = nil)
81
126
  spec_path ||= './Specs'
82
127
  path = File.expand_path(spec_path, Dir.pwd)
83
- file_objects = Dir.glob(File.expand_path("*.rb",path)).map do |file_path|
128
+ file_objects = Dir.glob(File.expand_path("*.rb", path)).map do |file_path|
84
129
  #读取 xxx.rb文件
85
130
  Spec.form_file(file_path)
86
131
  end
@@ -88,34 +133,36 @@ module LgPodPlugin
88
133
  file_objects.each do |file|
89
134
  if file.install
90
135
  options = file.pod_requirements
91
- self.pod(file.name, options)
136
+ self.lg_pod(file.name, options)
92
137
  end
93
138
  end
94
139
 
95
140
  end
96
141
 
97
- private
142
+ public
98
143
  def install_local_pod(name, options = {})
99
144
  hash_map = options
100
- path = options[:path]
145
+ local_path = options[:path]
101
146
  branch = options[:branch]
102
- unless Dir.exist?(path)
103
- puts "no such file or directory at path => `#{path}`"
147
+ unless Dir.glob(File.expand_path(".git", local_path)).count > 0
148
+ LgPodPlugin.log_red("pod `#{name}` at path => #{local_path} 找不到.git目录")
104
149
  return
105
150
  end
106
- local_path = Pathname(path)
107
- unless local_path.glob("*.git").empty?
108
- puts "path => `#{local_path}` 找不到.git目录"
151
+ unless Dir.glob(File.expand_path("#{name}.podspec", local_path)).count > 0
152
+ LgPodPlugin.log_red("pod `#{name}` at path => #{local_path} 找不到#{name}.podspec文件")
153
+ return
109
154
  end
155
+
110
156
  self.git_util.git_init(name, :branch => branch, :path => local_path)
111
- self.git_util.git_local_pod_check
157
+ self.git_util.git_local_pod_check(local_path)
158
+ hash_map[:path] = local_path.to_path
112
159
  hash_map.delete(:tag)
113
160
  hash_map.delete(:git)
114
161
  hash_map.delete(:depth)
115
162
  hash_map.delete(:commit)
116
163
  hash_map.delete(:branch)
117
164
  # 安装本地私有组件库
118
- self.target.store_pod(name, hash_map)
165
+ self.target.store_pod(self.real_name, hash_map)
119
166
  end
120
167
 
121
168
  end
@@ -1,3 +1,3 @@
1
1
  module LgPodPlugin
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.3"
3
3
  end
data/lib/lg_pod_plugin.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'git'
2
2
  require 'sqlite3'
3
3
  require "lg_pod_plugin/version"
4
+ require 'cocoapods/user_interface'
4
5
  require_relative 'lg_pod_plugin/database'
5
6
  require_relative 'lg_pod_plugin/download'
6
7
  require_relative 'lg_pod_plugin/git_util'
@@ -10,17 +11,65 @@ require 'cocoapods-core/podfile/target_definition'
10
11
 
11
12
  module LgPodPlugin
12
13
 
14
+ class String
15
+ # colorization
16
+ def colorize(color_code)
17
+ "\e[#{color_code}m#{self}\e[0m"
18
+ end
19
+
20
+ def red
21
+ colorize(31)
22
+ end
23
+
24
+ def green
25
+ colorize(32)
26
+ end
27
+
28
+ def yellow
29
+ colorize(33)
30
+ end
31
+
32
+ def blue
33
+ colorize(34)
34
+ end
35
+
36
+ def pink
37
+ colorize(35)
38
+ end
39
+
40
+ def light_blue
41
+ colorize(36)
42
+ end
43
+ end
44
+
13
45
  class Error < StandardError; end
14
- # 在已经存在target下边安装pod
15
- def self.install(defined_in_file = nil, profile, &block)
16
- Installer.new(defined_in_file, profile, &block)
46
+
47
+ def self.log_red(msg)
48
+ Pod::CoreUI.puts msg.red
17
49
  end
18
50
 
19
- # 通过spec文件安装
20
- def self.install_form_spec(profile, spec_path = nil)
21
- return Installer.new(profile).install_form_specs(spec_path)
51
+ def self.log_blue(msg)
52
+ Pod::CoreUI.puts msg.blue
22
53
  end
23
54
 
24
- # autoload :Command, '../lib/command/command'
55
+ def self.log_green(msg)
56
+ Pod::CoreUI.puts msg.green
57
+ end
58
+
59
+ def self.log_yellow(msg)
60
+ Pod::CoreUI.puts msg.yellow
61
+ end
62
+
63
+ def self.log(msg)
64
+ Pod::CoreUI.puts msg
65
+ end
66
+
67
+ public
68
+ # 对 Profile 方法进行拓展
69
+ def pod(name, *requirements)
70
+ Installer.new(self, name, requirements)
71
+ end
72
+
73
+
25
74
  end
26
75
 
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.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - dongzb01
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-14 00:00:00.000000000 Z
11
+ date: 2022-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: claide
@@ -111,14 +111,12 @@ dependencies:
111
111
  description: 拦截pod_install 方法, 并设置 pod 方法参数列表
112
112
  email:
113
113
  - 1060545231@qq.com
114
- executables:
115
- - lg
114
+ executables: []
116
115
  extensions: []
117
116
  extra_rdoc_files: []
118
117
  files:
119
118
  - LICENSE
120
119
  - README.md
121
- - bin/lg
122
120
  - lib/command/cache.rb
123
121
  - lib/command/command.rb
124
122
  - lib/lg_pod_plugin.rb
data/bin/lg DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env ruby
2
- puts "这是我的第一个ruby项目"
3
- puts ENV["NAME"]
4
- puts ARGV
5
-
6
- # require 'command/command'
7
- #
8
- # LgPodPlugin::Command.run(ARGV)