lg_pod_plugin 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,83 @@
1
+ require 'json'
2
+ require 'uri'
3
+ require 'io/console'
4
+ require_relative 'request'
5
+ require_relative 'database'
6
+ require_relative 'gitlab_api'
7
+
8
+ module LgPodPlugin
9
+
10
+ class LConfig
11
+ attr_accessor :host
12
+ attr_accessor :base_url
13
+ attr_accessor :project_name
14
+ attr_accessor :access_token
15
+ attr_accessor :refresh_token
16
+ attr_accessor :project
17
+
18
+ def initialize
19
+ end
20
+
21
+ public
22
+ def self.getConfig(git)
23
+ return nil if git.include?("github.com") || git.include?("gitee.com") || git.include?("coding.net") || git.include?("code.aliyun.com")
24
+ ip_address = LRequest.shared.net_ping.ip
25
+ network_ok = LRequest.shared.net_ping.network_ok
26
+ return nil unless ip_address && network_ok
27
+ if git.include?("ssh") || git.include?("git@gitlab") || git.include?("git@")
28
+ host = "http://" + ip_address
29
+ else
30
+ uri = LRequest.shared.net_ping.uri
31
+ host = uri ? ("#{uri.scheme}://" + ip_address) : ("http://" + ip_address)
32
+ end
33
+ user_id = LUserAuthInfo.get_user_id(host)
34
+ user_info = LSqliteDb.shared.query_user_info(user_id)
35
+ unless user_info
36
+ LgPodPlugin.log_yellow "请输入 `#{uri}` 的用户名"
37
+ username = STDIN.gets.chomp
38
+ LgPodPlugin.log_yellow "请输入 `#{uri}` 的密码"
39
+ password = STDIN.noecho(&:gets).chomp
40
+ GitLabAPI.request_gitlab_access_token(host, username, password)
41
+ return nil unless user_info = LSqliteDb.shared.query_user_info(user_id)
42
+ end
43
+
44
+ time = Time.now.to_i
45
+ # 判断 token 是否失效
46
+ if user_info.expires_in <= time
47
+ new_user_info = GitLabAPI.refresh_gitlab_access_token(host, user_info.refresh_token)
48
+ unless new_user_info
49
+ username = user_info.username
50
+ password = user_info.password
51
+ unless username && password
52
+ LgPodPlugin.log_yellow "请输入 `#{uri}` 的用户名"
53
+ username = STDIN.gets.chomp
54
+ LgPodPlugin.log_yellow "请输入 `#{uri}` 的密码"
55
+ password = STDIN.noecho(&:gets).chomp
56
+ end
57
+ GitLabAPI.request_gitlab_access_token(host, username, password)
58
+ return nil unless new_user_info = LSqliteDb.shared.query_user_info(user_id)
59
+ end
60
+
61
+ config = LConfig.new
62
+ config.host = host
63
+ config.access_token = new_user_info.access_token
64
+ config.refresh_token = new_user_info.refresh_token
65
+ config.base_url = LUtils.get_gitlab_base_url(git)
66
+ config.project_name = LUtils.get_git_project_name(git)
67
+ config.project = LSqliteDb.shared.query_project_info(config.project_name, git)
68
+ return config
69
+ else
70
+ config = LConfig.new
71
+ config.host = host
72
+ config.access_token = user_info.access_token
73
+ config.refresh_token = user_info.refresh_token
74
+ config.base_url = LUtils.get_gitlab_base_url(git)
75
+ config.project_name = LUtils.get_git_project_name(git)
76
+ config.project = LSqliteDb.shared.query_project_info(config.project_name, git)
77
+ return config
78
+ end
79
+
80
+ end
81
+
82
+ end
83
+ end
@@ -1,43 +1,133 @@
1
- require 'zip'
1
+ require 'resolv'
2
+ require "ipaddr"
3
+ require 'archive/zip'
2
4
  require_relative 'log'
5
+ require_relative 'l_config'
6
+
3
7
  module LgPodPlugin
4
8
  class LUtils
9
+
10
+ #判断对象是不是 String
11
+ def self.is_string(obj)
12
+ if "#{obj.class}" == "String"
13
+ return true
14
+ else
15
+ return false
16
+ end
17
+ end
18
+
19
+ # 解压文件
5
20
  def self.unzip_file (zip_file, dest_dir)
6
21
  begin
7
- LgPodPlugin.log_green "正在解压`.zip`文件"
8
- Zip::File.open(zip_file) do |file|
9
- file.each do |f|
10
- file_path = File.join(dest_dir, f.name)
11
- FileUtils.mkdir_p(File.dirname(file_path))
12
- # next if file_path.include?("LICENSE")
13
- next if file_path.include?("Example")
14
- next if file_path.include?(".gitignore")
15
- next if file_path.include?("node_modules")
16
- next if file_path.include?("package.json")
17
- next if file_path.include?(".swiftlint.yml")
18
- next if file_path.include?("_Pods.xcodeproj")
19
- next if file_path.include?("package-lock.json")
20
- next if file_path.include?("README.md")
21
- next if file_path.include?("commitlint.config.js")
22
- file.extract(f, file_path)
23
- end
24
- end
22
+ Archive::Zip.extract(
23
+ zip_file,
24
+ dest_dir,
25
+ :symlinks => true
26
+ )
25
27
  return true
26
28
  rescue => err
27
- LgPodPlugin.log_red "解压zip失败, error => #{err}"
28
29
  return false
29
30
  end
30
31
 
31
32
  end
32
33
 
33
- def self.aes_decrypt(key, data)
34
- de_cipher = OpenSSL::Cipher::Cipher.new("AES-128-CBC")
35
- de_cipher.decrypt
36
- de_cipher.key = [key].pack('H*')
37
- # de_cipher.iv = [iv].pack('H*');
38
- puts de_cipher.update([data].pack('H*')) << de_cipher.final
34
+ # 下载 zip 格式文件
35
+ def self.download_gitlab_zip_file(download_url, token, file_name)
36
+ cmds = ['curl']
37
+ cmds << "--header \"Authorization: Bearer #{token}\"" if token
38
+ # cmds << "--progress-bar"
39
+ cmds << "-o #{file_name}"
40
+ cmds << "--connect-timeout 15"
41
+ cmds << "--retry 3"
42
+ cmds << download_url
43
+ cmds_to_s = cmds.join(" ")
44
+ system(cmds_to_s)
45
+ end
46
+
47
+ # gitlab 下载压缩文件
48
+ def self.download_github_zip_file(download_url, file_name)
49
+ cmds = ['curl']
50
+ cmds << "-o #{file_name}"
51
+ cmds << "--connect-timeout 15"
52
+ cmds << "--retry 3"
53
+ cmds << download_url
54
+ cmds_to_s = cmds.join(" ")
55
+ system(cmds_to_s)
39
56
  end
40
57
 
58
+ def self.git_to_uri(git)
59
+ begin
60
+ uri = URI(git)
61
+ rescue
62
+ if git.include?("git@") && git.include?(":")
63
+ uri = URI("http://" + git[4...git.length].split(":").first)
64
+ else
65
+ return nil
66
+ end
67
+ end
68
+ end
69
+
70
+ def self.commit_from_ls_remote(output, branch_name)
71
+ return nil if branch_name.nil?
72
+ encoded_branch_name = branch_name.dup.force_encoding(Encoding::ASCII_8BIT)
73
+ if branch_name == "HEAD"
74
+ match = %r{([a-z0-9]*)\t#{Regexp.quote(encoded_branch_name)}}.match(output)
75
+ else
76
+ match = %r{([a-z0-9]*)\trefs\/(heads|tags)\/#{Regexp.quote(encoded_branch_name)}}.match(output)
77
+ end
78
+ match[1] unless match.nil?
79
+ end
80
+
81
+ #截取git-url 拿到项目绝对名称 比如 l-base-ios
82
+ def self.get_git_project_name(git)
83
+ self.get_gitlab_base_url(git).split("/").last
84
+ end
85
+
86
+ # 是否能够使用 gitlab 下载 zip 文件
87
+ def self.is_use_gitlab_archive_file(git)
88
+ return false if git.include?("https://github.com") || git.include?("https://gitee.com")
89
+ config = LRequest.shared.config
90
+ return false if (!config || !config.access_token)
91
+ return true if project = config.project
92
+ project_name = self.get_git_project_name(git)
93
+ LRequest.shared.config.project = GitLabAPI.request_project_info(config.host, project_name, config.access_token, git)
94
+ return true if LRequest.shared.config.project
95
+ end
96
+
97
+ # 截取 url
98
+ def self.get_gitlab_base_url(git)
99
+ if git.include?(".git")
100
+ base_url = git.split(".git").first
101
+ else
102
+ base_url = git
103
+ end
104
+ end
105
+
106
+ # 根据参数生成下载 url
107
+ def self.get_gitlab_download_url(base_url, branch, tag, commit, project_name)
108
+ if base_url.include?("http:") || base_url.include?("https:")
109
+ if branch
110
+ return base_url + "/-/archive/" + branch + "/#{project_name}-#{branch}.zip"
111
+ elsif tag
112
+ return base_url + "/-/archive/" + tag + "/#{project_name}-#{tag}.zip"
113
+ elsif commit
114
+ return base_url + "/-/archive/" + commit + "/#{project_name}-#{commit}.zip"
115
+ else
116
+ return nil
117
+ end
118
+ end
119
+ return nil unless base_url.include?("ssh://git@gitlab") || base_url.include?("git@")
120
+ project = LRequest.shared.config.project
121
+ if project && project.web_url && project.web_url.include?("http")
122
+ self.get_gitlab_download_url(project.web_url, branch, tag, commit, project_name)
123
+ else
124
+ return nil
125
+ end
126
+ end
127
+
128
+ def self.url_encode(url)
129
+ url.to_s.b.gsub(/[^a-zA-Z0-9_\-.~]/n) { |m| sprintf('%%%02X', m.unpack1('C')) }
130
+ end
41
131
 
42
132
  end
43
- end
133
+ end
@@ -0,0 +1,41 @@
1
+ require 'uri'
2
+ require 'resolv'
3
+ require "ipaddr"
4
+ require_relative 'l_util'
5
+
6
+ module LgPodPlugin
7
+
8
+ class Ping
9
+ attr_accessor :uri
10
+ attr_accessor :ip
11
+ attr_accessor :network_ok
12
+ def initialize(url)
13
+ self.uri = LUtils.git_to_uri(url)
14
+ end
15
+
16
+ def ping
17
+ return false unless self.uri
18
+ result = %x(ping #{uri.host} -t 1)
19
+ if result.include?("timeout")
20
+ return false
21
+ end
22
+ if result && result.include?("(") && result.include?("):")
23
+ ip_address = result.split("(").last.split(")").first
24
+ begin
25
+ if IPAddr.new ip_address
26
+ self.ip = ip_address
27
+ return true
28
+ else
29
+ return false
30
+ end
31
+ rescue
32
+ return false
33
+ end
34
+ else
35
+ return false
36
+ end
37
+ end
38
+
39
+ end
40
+
41
+ end
@@ -0,0 +1,156 @@
1
+ require 'cocoapods'
2
+ require 'cocoapods-core'
3
+
4
+ module LgPodPlugin
5
+
6
+ class PodSpec
7
+ attr_accessor :source_files
8
+ def self.form_file(path)
9
+ spec = Pod::Specification.from_file(path)
10
+ return PodSpec.new(spec)
11
+ end
12
+
13
+ def initialize(spec)
14
+ set = Set[]
15
+ attributes_hash = spec.send(:attributes_hash)
16
+ return nil unless attributes_hash.is_a?(Hash)
17
+ license = attributes_hash["license"]
18
+ if license.is_a?(Hash)
19
+ license_file = license["file"]
20
+ set.add(license_file) if license_file
21
+ else
22
+ set.add("LICENSE")
23
+ end
24
+ # 解析主模块依赖信息
25
+ set.merge(parse_subspec_with(attributes_hash))
26
+ subspecs = spec.subspecs
27
+ unless subspecs.is_a?(Array)
28
+ self.source_files = set
29
+ return
30
+ end
31
+ subspecs.each do |sub_spec|
32
+ next unless sub_attributes_hash = sub_spec.send(:attributes_hash)
33
+ next unless sub_attributes_hash.is_a?(Hash)
34
+ sub_set = self.parse_subspec_with(sub_attributes_hash)
35
+ next if sub_set.empty?
36
+ set.merge(sub_set)
37
+ end
38
+ self.source_files = set
39
+ end
40
+
41
+ # 公共解析解析subspec
42
+ def parse_subspec_with(hash)
43
+ set = Set[]
44
+ source_files = self.parse_source_files(hash["source_files"])
45
+ set.merge(source_files) unless source_files.empty?
46
+ resources = self.parse_resource_files(hash["resource"] ||= hash["resources"])
47
+ set.merge(resources) unless resources.empty?
48
+ resource_bundles = self.parse_resource_bundles(hash["resource_bundle"] ||= hash["resource_bundles"])
49
+ set.merge(resource_bundles) unless resource_bundles.empty?
50
+ project_header_files = self.parse_project_header_files(hash["project_header_files"])
51
+ set.merge(resource_bundles) unless project_header_files.empty?
52
+ private_header_files = self.parse_private_header_files(hash["private_header_files"])
53
+ set.merge(private_header_files) unless private_header_files.empty?
54
+ vendored_frameworks = self.parse_vendored_frameworks(hash["vendored_frameworks"])
55
+ set.merge(vendored_frameworks) unless vendored_frameworks.empty?
56
+ vendored_library = self.parse_vendored_library(hash["vendored_library"] ||= hash["vendored_libraries"])
57
+ set.merge(vendored_library) unless vendored_library.empty?
58
+ #parse_preserve_path
59
+ preserve_paths = self.parse_preserve_path(hash["preserve_path"] ||= hash["preserve_paths"])
60
+ set.merge(preserve_paths) unless preserve_paths.empty?
61
+ module_map = self.parse_module_map(hash["module_map"])
62
+ set.merge(module_map) unless module_map.empty?
63
+ return set
64
+ end
65
+
66
+ # 公共解析文件路径的方法
67
+ def parse_public_source_filse(source_files)
68
+ return [] unless source_files
69
+ array = []
70
+ if LUtils.is_string(source_files)
71
+ if source_files.include?("/")
72
+ array.append(source_files.split("/").first)
73
+ else
74
+ array.append(source_files)
75
+ end
76
+ elsif source_files.is_a?(Array)
77
+ source_files.each do |element|
78
+ next unless LUtils.is_string(element)
79
+ if element.include?("/")
80
+ array.append(element.split("/").first)
81
+ else
82
+ array.append(element)
83
+ end
84
+ end
85
+ elsif source_files.is_a?(Hash)
86
+ source_files.each do |key,val|
87
+ if LUtils.is_string(val)
88
+ if val.include?("/")
89
+ array.append(val.split("/").first)
90
+ else
91
+ array.append(val)
92
+ end
93
+ elsif val.is_a?(Array)
94
+ val.each do |element|
95
+ next unless LUtils.is_string(element)
96
+ if element.include?("/")
97
+ array.append(element.split("/").first)
98
+ else
99
+ array.append(element)
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
105
+ return array
106
+ end
107
+
108
+ # 解析source_fils路径
109
+ def parse_source_files(source_files)
110
+ return self.parse_public_source_filse(source_files)
111
+ end
112
+
113
+ # 解析 resource所在路径
114
+ def parse_resource_files(source_files)
115
+ return self.parse_public_source_filse(source_files)
116
+ end
117
+
118
+ # 解析public_header_files字段的值
119
+ def parse_public_header_files(source_files)
120
+ return self.parse_public_source_filse(source_files)
121
+ end
122
+ # 解析 parse_resource_bundles
123
+ def parse_resource_bundles(source_files)
124
+ return self.parse_public_source_filse(source_files)
125
+ end
126
+ # 解析 project_header_files
127
+ def parse_project_header_files(source_files)
128
+ return self.parse_public_source_filse(source_files)
129
+ end
130
+
131
+ # 解析 private_header_files
132
+ def parse_private_header_files(source_files)
133
+ return self.parse_public_source_filse(source_files)
134
+ end
135
+ # 解析 vendored_frameworks
136
+ def parse_vendored_frameworks(source_files)
137
+ return self.parse_public_source_filse(source_files)
138
+ end
139
+ # 解析 parse_vendored_library
140
+ def parse_vendored_library(source_files)
141
+ return self.parse_public_source_filse(source_files)
142
+ end
143
+
144
+ # 解析 parse_preserve_path
145
+ def parse_preserve_path(source_files)
146
+ return self.parse_public_source_filse(source_files)
147
+ end
148
+
149
+ # 解析 module_map
150
+ def parse_module_map(source_files)
151
+ return self.parse_public_source_filse(source_files)
152
+ end
153
+
154
+ end
155
+
156
+ end
@@ -2,45 +2,63 @@ require 'yaml'
2
2
  require 'json'
3
3
  require 'net/http'
4
4
  require 'singleton'
5
+ require_relative 'l_config'
5
6
  require_relative 'l_cache'
6
- require_relative 'git_util'
7
- require_relative 'downloader.rb'
7
+ require_relative 'net-ping'
8
+ require_relative 'downloader'
9
+ require_relative 'gitlab_download'
8
10
  module LgPodPlugin
9
11
 
10
12
  class LRequest
11
13
  include Singleton
12
- REQUIRED_ATTRS ||= %i[name request_params workspace cache downloader git_util lock_info checkout_options is_update token single_git libs].freeze
13
- attr_accessor(*REQUIRED_ATTRS)
14
-
15
- def is_update_pod
16
- cgi = CGI.new
17
- command_keys = cgi.keys
18
- unless command_keys.count > 0
19
- return false
20
- end
21
- first_key = command_keys[0].to_s ||= ""
22
- if first_key.include?("install")
23
- false
24
- elsif first_key.include?("update")
25
- true
26
- else
27
- false
28
- end
29
- end
14
+ # pod name
15
+ attr_accessor :name
16
+ # 当前token
17
+ attr_accessor :token
18
+ # 缓存
19
+ attr_accessor :cache
20
+ # 配置
21
+ attr_accessor :config
22
+ # 是否更新
23
+ attr_accessor :is_update
24
+ # 工作目录
25
+ attr_accessor :workspace
26
+ # 是否是还有 git 地址参数
27
+ attr_accessor :single_git
28
+ # git 工具类
29
+ attr_accessor :git_util
30
+ # 需要更新的 pod 集合
31
+ attr_accessor :libs
32
+ # 下载类
33
+ attr_accessor :downloader
34
+ # lock_info
35
+ attr_accessor :lock_info
36
+ # 实际下载请求参数
37
+ attr_accessor :request_params
38
+ # 传入的请求参数
39
+ attr_accessor :checkout_options
40
+ # 网络ip 信息
41
+ attr_accessor :net_ping
30
42
 
43
+ public
31
44
  def get_lock_info
32
45
  lock_file = self.workspace.join("Podfile.lock")
33
46
  if lock_file.exist?
34
- json = YAML.load_file(lock_file.to_path)
35
- external_source = json["EXTERNAL SOURCES"]
36
- checkout_options = json["CHECKOUT OPTIONS"]
47
+ begin
48
+ json = YAML.load_file(lock_file.to_path)
49
+ rescue
50
+ json = {}
51
+ end
52
+ external_source = json["EXTERNAL SOURCES"] ||= {}
53
+ checkout_options = json["CHECKOUT OPTIONS"] ||= {}
37
54
  { "external_source" => external_source, "checkout_options" => checkout_options }
38
55
  else
39
- nil
56
+ { "external_source" => {}, "checkout_options" => {} }
40
57
  end
41
58
  end
42
59
 
43
60
  # 获取缓存用的hash_map
61
+ public
44
62
  def get_cache_key_params
45
63
  hash_map = Hash.new
46
64
  git = self.checkout_options[:git] ||= self.request_params[:git]
@@ -53,38 +71,29 @@ module LgPodPlugin
53
71
  hash_map[:commit] = commit
54
72
  elsif git && tag
55
73
  hash_map[:tag] = tag
56
- elsif git && branch
57
- if commit
58
- hash_map[:commit] = commit
59
- else
60
- _, new_commit_id = LGitUtil.git_ls_remote_refs(git, branch, nil, commit)
61
- hash_map[:commit] = new_commit_id if new_commit_id
62
- end
63
- else
64
- _, new_commit_id = LGitUtil.git_ls_remote_refs(git, branch, nil, commit)
65
- hash_map[:commit] = new_commit_id if new_commit_id
74
+ elsif git && branch && commit
75
+ hash_map[:commit] = commit
66
76
  end
67
77
  hash_map
68
78
  end
69
79
 
70
- private
71
-
80
+ public
72
81
  def get_lock_params
73
- unless self.lock_info
74
- self.lock_info = {"external_source" => {}, "checkout_options" => {}}
82
+ begin
83
+ _external_source = self.lock_info["external_source"][self.name] ||= {}
84
+ _checkout_options = self.lock_info["checkout_options"][self.name] ||= {}
85
+ rescue
86
+ _external_source = {}
87
+ _checkout_options = {}
75
88
  end
76
- external_source = self.lock_info["external_source"][self.name] ||= {}
77
- checkout_options = self.lock_info["checkout_options"][self.name] ||= {}
78
89
 
79
90
  git = self.checkout_options[:git]
80
91
  tag = self.checkout_options[:tag]
81
92
  commit = self.checkout_options[:commit]
82
93
  branch = self.checkout_options[:branch]
83
94
 
84
- # lock_git = external_source[:git]
85
- # lock_tag = external_source[:tag]
86
- lock_commit = checkout_options[:commit]
87
- lock_branch = external_source[:branch]
95
+ lock_commit = _checkout_options[:commit] ||= ""
96
+ lock_branch = _external_source[:branch] ||= ""
88
97
  hash_map = Hash.new
89
98
  hash_map[:git] = git if git
90
99
  if git && tag
@@ -97,25 +106,34 @@ module LgPodPlugin
97
106
  return hash_map
98
107
  else
99
108
  hash_map[:branch] = branch if branch
100
- _, new_commit = LGitUtil.git_ls_remote_refs(git, branch, tag, commit)
101
- hash_map[:commit] = new_commit if new_commit
102
- return hash_map
109
+ _, new_commit = LGitUtil.git_ls_remote_refs(self.name ,git, branch, tag, commit)
110
+ if new_commit && (new_commit != lock_commit)
111
+ hash_map[:commit] = new_commit
112
+ hash_map["is_delete"] = false
113
+ else
114
+ hash_map["is_delete"] = true
115
+ end
103
116
  end
104
117
  elsif git && commit
105
118
  hash_map[:commit] = commit if commit
106
119
  return hash_map
107
120
  else
108
- new_branch, new_commit = LGitUtil.git_ls_remote_refs(git, branch, tag, commit)
109
- hash_map[:commit] = new_commit if new_commit
110
- hash_map[:branch] = new_branch if new_branch
121
+ _, new_commit = LGitUtil.git_ls_remote_refs(self.name ,git, branch, tag, commit)
122
+ if (new_commit != lock_commit)
123
+ hash_map[:commit] = new_commit
124
+ hash_map["is_delete"] = false
125
+ else
126
+ hash_map[:commit] = new_commit if new_commit
127
+ hash_map["is_delete"] = true
128
+ end
111
129
  end
112
130
  hash_map
113
131
  end
114
132
 
115
- private
133
+ public
134
+
116
135
  #获取下载参数
117
136
  def get_request_params
118
- self.is_update = self.is_update_pod
119
137
  if self.lock_info == nil
120
138
  self.lock_info = self.get_lock_info
121
139
  end
@@ -135,11 +153,11 @@ module LgPodPlugin
135
153
  else
136
154
  self.single_git = true
137
155
  end
156
+ self.net_ping = Ping.new(git)
157
+ self.net_ping.network_ok = self.net_ping.ping
138
158
  self.checkout_options = Hash.new.deep_merge(options)
139
159
  self.request_params = self.get_request_params
140
- if self.token == nil
141
- self.token = self.request_gitlab_token(git)
142
- end
160
+ self.config = LConfig.getConfig(git)
143
161
  self.cache = LCache.new(self.workspace)
144
162
  self.git_util = LGitUtil.new(name, self.checkout_options)
145
163
  self.downloader = LDownloader.new(name, self.checkout_options)
@@ -149,26 +167,6 @@ module LgPodPlugin
149
167
  return LRequest.instance
150
168
  end
151
169
 
152
- def request_gitlab_token(git)
153
- if git == nil
154
- return nil
155
- end
156
- begin
157
- #81.69.242.162
158
- uri = URI('http://81.69.242.162:8080/v1/member/user/gitlab/token')
159
- # uri = URI('http://127.0.0.1:8080/v1/member/user/gitlab/token')
160
- params = { "url" => git }
161
- res = Net::HTTP.post_form(uri, params)
162
- json = JSON.parse(res.body)
163
- rescue
164
- return nil
165
- end
166
- unless json
167
- return nil
168
- end
169
- json["data"]["token"]
170
- end
171
-
172
170
  end
173
171
 
174
172
  end
@@ -22,7 +22,7 @@ module LgPodPlugin
22
22
  colorize(34)
23
23
  end
24
24
 
25
- def pink
25
+ def pink_color
26
26
  colorize(35)
27
27
  end
28
28
 
@@ -1,3 +1,3 @@
1
1
  module LgPodPlugin
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
data/lib/lg_pod_plugin.rb CHANGED
@@ -6,8 +6,9 @@ require_relative 'lg_pod_plugin/log'
6
6
  require_relative 'lg_pod_plugin/install'
7
7
  require_relative 'lg_pod_plugin/request'
8
8
  require_relative 'lg_pod_plugin/database'
9
- require_relative 'lg_pod_plugin/git_util'
10
9
  require_relative 'lg_pod_plugin/downloader'
10
+ require_relative 'lg_pod_plugin/gitlab_api'
11
+ require_relative 'lg_pod_plugin/gitlab_download'
11
12
  require 'cocoapods-core/podfile/target_definition'
12
13
 
13
14
  module LgPodPlugin