lhj-tools 0.1.24 → 0.1.27

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: f8a3955d41955a54ce3ca861519c4333245dacd4c4b14477f73fc7061707c1f3
4
- data.tar.gz: 630fc37529847a893022bd49226e2bd1bd44794f71618458d7e7620d3ad3f265
3
+ metadata.gz: 30a31460c814e1615aaefd473d2553acb40523e966f00ee37872db81d06466e0
4
+ data.tar.gz: d6f3348a4ce8c2a77e2a3d9e8ad6ce6393cbc4ae04b9c39d3c7cd31e19b5e45b
5
5
  SHA512:
6
- metadata.gz: 0e3c30af417e17bd237c0bc114ed48d8e9fd46e39263085ef1743398e702c510ee9bd5212eaa2e06446a659a33d47089fbdc865dfcf284307538b9b6edb5abc4
7
- data.tar.gz: e0d7853fb9f18c5785fa570c3e23c212f29e5aa935fcf437224f0f9db24c03221e3ff88efa91c8a63eb6eac8057cba5bc4ef4a0d3c798057754482c50a2e6642
6
+ metadata.gz: 1d722e7e3e748415b3a63e912940a2f5b84e5b4e4d7e87095a52e93204971851c9fa5decc5749d51e3b6ddafd23818844d9bb3090498b60239da0962c6a390ec
7
+ data.tar.gz: 22eb054aa18a58b9b926d55af8a76419efbc82569eb60cf4a34c1f5aa8ce6630b1de9545916c1dc6a132edbd9606a838d1fbf602f111426e1f622a3dd67cf328
@@ -1,5 +1,6 @@
1
1
  require 'lhj/config'
2
2
  require 'highline'
3
+ require 'lhj/helper/pod_repo_config'
3
4
 
4
5
  module Lhj
5
6
  class Command
@@ -113,9 +114,8 @@ module Lhj
113
114
  end
114
115
 
115
116
  def update_pod_repo
116
- # pod repo push miguatech-aomi_ios-mlspecs *.podspec --sources=miguatech-aomi_ios-mlspecs,aliyun,trunk --allow-warnings --use-libraries --verbose
117
117
  cmd = ['pod repo push']
118
- pod_repo_name = 'miguatech-aomi_ios-mlspecs'
118
+ pod_repo_name = Lhj::PodRepoConfig.pod_repo_name
119
119
  cmd << pod_repo_name
120
120
  cmd << '*.podspec'
121
121
  cmd << "--sources=#{pod_repo_name},aliyun,trunk"
@@ -0,0 +1,91 @@
1
+ require 'lhj/config'
2
+ require 'highline'
3
+ require 'lhj/helper/pod_repo_config'
4
+
5
+ module Lhj
6
+ class Command
7
+ # sync code to pod
8
+ class SyncPodVersion < Command
9
+ self.summary = '同步主工程的库的版本号'
10
+
11
+ def initialize(argv)
12
+ @cli = HighLine.new
13
+ super
14
+ end
15
+
16
+ def begin_title
17
+ '读取映射文件~/.lhj/pod_config.yml'
18
+ end
19
+
20
+ def handle
21
+ sync
22
+ end
23
+
24
+ def sync
25
+ config_file = File.join(Lhj::Config.instance.home_dir, 'pod_config.yml')
26
+ arr = YAML.load_file(config_file)
27
+ arr.each_index { |i| puts "#{i}.#{arr[i]['pod']}".yellow }
28
+ idx = @cli.ask('请选择哪一个库同步: '.green).strip.to_i
29
+ pod_name = arr[idx]['pod']
30
+ src = arr[idx]['main_path']
31
+ dest = arr[idx]['pod_path']
32
+
33
+ ma = nil
34
+ Dir.chdir(dest) do
35
+ Dir.glob('*.podspec').each do |p|
36
+ version_line = IO.readlines(p).find{ |line| (/\.version/ =~ line) && (version_regex =~ line) }
37
+ ma = version_line.match(version_regex)
38
+ end
39
+ puts '获取版本号成功'.green
40
+
41
+ end
42
+
43
+ # find src root dir
44
+ src_root_dir = find_src_root_dir(src)
45
+ Dir.chdir(src_root_dir) do
46
+ if ma
47
+ pod_version = ma[0]
48
+ update_all_pod_dependency(pod_name, pod_version)
49
+ puts '更新主工程引用pod版本号成功'.green
50
+ end
51
+ end
52
+ end
53
+
54
+ def find_src_root_dir(src)
55
+ ps = []
56
+ src.scan(%r{(/[^/]*)}).flatten.each do |path|
57
+ path =~ /Code/ ? break : ps << path
58
+ end
59
+ File.join(ps)
60
+ end
61
+
62
+ def version_regex
63
+ /\d+\.\d+\.(\d+)/
64
+ end
65
+
66
+ def update_all_pod_dependency(pod_name, pod_version)
67
+ Dir.glob(%w[./**/*.podspec ./**/Podfile]).each do |p|
68
+ next if /Example/ =~ p || /temp/ =~ p
69
+
70
+ update_main_version(p, pod_name, pod_version)
71
+ end
72
+ end
73
+
74
+ def update_main_version(file, pod_name, pod_version)
75
+ cont = ''
76
+ File.readlines(file).each do |l|
77
+ if (/#{pod_name}/ =~ l) && (/\d+\.\d+\.\d+/ =~ l)
78
+ path = File.absolute_path(file)
79
+ puts "更新文件:#{path}".magenta
80
+ l.scan(/\d+\.\d+\.\d+/).each do |key|
81
+ cont += l.gsub(key, pod_version)
82
+ end
83
+ else
84
+ cont += l.dup
85
+ end
86
+ end
87
+ File.write(file, cont)
88
+ end
89
+ end
90
+ end
91
+ end
data/lib/lhj/command.rb CHANGED
@@ -24,6 +24,7 @@ module Lhj
24
24
  require 'lhj/command/file_path'
25
25
  require 'lhj/command/http'
26
26
  require 'lhj/command/sync_pod_repo'
27
+ require 'lhj/command/sync_pod_version'
27
28
  require 'lhj/command/pgyer_upload'
28
29
 
29
30
  self.abstract_command = true
@@ -19,9 +19,11 @@ module Lhj
19
19
  def self.api_key(env = :uat)
20
20
  case env
21
21
  when :release
22
- 'release.....'
22
+ config['release_api_key']
23
23
  when :gray
24
- 'gray.....'
24
+ config['gray_api_key']
25
+ when :uat
26
+ config['uat_api_key']
25
27
  else
26
28
  config['api_key']
27
29
  end
@@ -30,23 +32,18 @@ module Lhj
30
32
  def self.user_key(env = :uat)
31
33
  case env
32
34
  when :release
33
- config['user_key']
35
+ config['release_user_key']
34
36
  when :gray
35
- config['user_key']
37
+ config['gray_user_key']
38
+ when :uat
39
+ config['uat_user_key']
36
40
  else
37
41
  config['user_key']
38
42
  end
39
43
  end
40
44
 
41
45
  def self.password(env = :uat)
42
- case env
43
- when :release
44
- config['password']
45
- when :gray
46
- config['password']
47
- else
48
- config['password']
49
- end
46
+ config['password']
50
47
  end
51
48
  end
52
49
  end
@@ -49,10 +49,11 @@ module Lhj
49
49
  'file' => Faraday::UploadIO.new(file, 'application/octet-stream')
50
50
  }
51
51
  begin
52
- puts 'begin upload'
52
+ puts 'begin upload...'
53
53
  response = http_client.post API_HOST, params
54
54
  @result = response.body
55
55
  puts @result
56
+ puts 'upload success'
56
57
  if @result['data'] && @result['data']['appUpdateDescription']
57
58
  @result['data']['appUpdateDescription'] = Lhj::TbHelper.trans_tb(@result['data']['appUpdateDescription'])
58
59
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+ require 'yaml'
3
+ require 'lhj/config'
4
+
5
+ module Lhj
6
+ # pod repo config
7
+ class PodRepoConfig
8
+
9
+ CONFIG_NAME = 'pod_repo_config.yml'
10
+
11
+ def self.config_file
12
+ File.join(Lhj::Config.instance.home_dir, CONFIG_NAME)
13
+ end
14
+
15
+ def self.config
16
+ @yaml ||= YAML.load_file(config_file)
17
+ end
18
+
19
+ def self.pod_repo_name
20
+ config['pod_repo_name']
21
+ end
22
+
23
+ end
24
+ end
@@ -1,4 +1,5 @@
1
1
  require 'lhj/config'
2
+ require_relative 'oss_config'
2
3
 
3
4
  module Lhj
4
5
  class Trans
@@ -18,9 +19,13 @@ module Lhj
18
19
  contents.to_hash
19
20
  end
20
21
 
22
+ def down_load_path
23
+ "http://#{Lhj::OSSConfig.oss_bucket}.#{Lhj::OSSConfig.oss_endpoint}/zh2hant.yml"
24
+ end
25
+
21
26
  def down_load_yaml
22
27
  require 'open-uri'
23
- URI.open('http://aomi-ios-repo.oss-cn-shenzhen.aliyuncs.com/zh2hant.yml') do |i|
28
+ URI.open(down_load_path) do |i|
24
29
  File.open(yaml_file, 'w+') do |f|
25
30
  f.write(i.read)
26
31
  end