lhj-tools 0.1.56 → 0.1.60

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: 0466ef4a511c15e68582056fcee41d1b1453d68eb79bc68610277314ed54fc8a
4
- data.tar.gz: caebb0fb1dcd50bbc8f5e841918e4ccf14d32ec8fb5261da7f7c0db546941c71
3
+ metadata.gz: 37fecc386839f728e03f6aab371802d40b0963c87fd98d357b68a6a4e9f80961
4
+ data.tar.gz: 28199dc639669faae50ca7ad0e2bfb8e8255117aa72589b61f8f6f47dabfcdcf
5
5
  SHA512:
6
- metadata.gz: 7ad62cffb4efe791a82c5f9385f6150acc3e819e7f53e1d884a20300b2c640f2a0944f6a3e21be4fc98fd38850b59ea5f4b0e54cf80b681cab595269e938e15f
7
- data.tar.gz: c1d31f95c7ca01eb66057d5ab40b22a7eab50e47ec498d64c476fd5729e3118be0cf566ff3a4bed935e6405ed4bf57bb1ca21103becfa1a9b6d71661aa9984f4
6
+ metadata.gz: b1cee265eb6eb4314ddde0a42b173e158eab15951d54b5747fa0041bc0074d84659efa358b0892634961bd3ab3e57c060b0b77d9c810f5345e1aa5154963ebfb
7
+ data.tar.gz: d6cc3cfee12a03734215b005149d4c9abb49acd26126a2f63399c477fc0f8aed1f4bf94cf62af0746d757e53cd385aee16c8159e6a9e5e44ec52d264005f3262
@@ -43,6 +43,24 @@ module Lhj
43
43
  end
44
44
  end
45
45
 
46
+ def list_all_image
47
+ sort_list = Dir.glob("#{@current_path}/**/*.{png}").sort { |b, a| File.size(a) <=> File.size(b) }
48
+ sort_list.each do |f|
49
+ s = File.size(f)
50
+ s_s = "#{s}B"
51
+ if s > 1024 * 1024
52
+ bf = s / (1024.0 * 1024.0)
53
+ s_s = "#{format("%.1f",bf)}MB"
54
+ elsif s > 1024
55
+ bf = s / 1024.0
56
+ s_s = "#{format("%.1f",bf)}KB"
57
+ else
58
+ s_s = "#{s}KB"
59
+ end
60
+ puts "#{f} #{s_s}"
61
+ end
62
+ end
63
+
46
64
  def modify_name(file_name, extname)
47
65
  name = file_name.downcase + extname
48
66
  if @image_pre
@@ -10,7 +10,11 @@ module Lhj
10
10
  @env = env
11
11
  @build_number = build_number
12
12
  @work_path = work_path
13
+
14
+ version_var_name = 'MARKETING_VERSION'
15
+ @version_regex = /^(?<begin>[^#]*#{version_var_name}\s*=\s*)(?<value>(?<major>[0-9]+)(\.(?<minor>[0-9]+))?(\.(?<patch>[0-9]+))?(?<appendix>(\.[0-9]+)*)?(-(?<prerelease>(.+)))?)(?<end>)/i
13
16
  setup_config
17
+ setup_shell_script
14
18
  end
15
19
 
16
20
  def setup_config
@@ -19,6 +23,19 @@ module Lhj
19
23
  command = %(xcrun agvtool new-version -all #{number})
20
24
  Actions.sh(command, log: false)
21
25
  end
26
+ FileUtils.rm_r Dir.glob("#{@work_path}/archive*.zip")
27
+ end
28
+
29
+ def setup_shell_script
30
+ project_path = Dir["#{@work_path}/*.xcodeproj"].first
31
+ project = Xcodeproj::Project.open(project_path)
32
+ target = project.targets.first
33
+ handle_list = target.shell_script_build_phases.select { |s| s.display_name == '[CP] Copy Pods Resources' || s.display_name == '[CP] Embed Pods Frameworks' }
34
+ handle_list.each do |shell|
35
+ shell.run_only_for_deployment_postprocessing = '0'
36
+ shell.build_action_mask = '12'
37
+ end
38
+ project.save
22
39
  end
23
40
 
24
41
  # build_app_version (build_app_version_no) (build: build_version)
@@ -31,13 +48,26 @@ module Lhj
31
48
  vers = []
32
49
  Dir.glob("#{@work_path}/*.xcodeproj/*.pbxproj").each do |file|
33
50
  File.readlines(file).each do |l|
34
- if /MARKETING_VERSION.*(\d+\.\d+\.\d+)/ =~ l
35
- ma = l.match(/(\d+\.\d+\.\d+)/)
36
- vers << ma[0]
37
- end
51
+ next unless /MARKETING_VERSION/ =~ l
52
+
53
+ version_match = @version_regex.match(l)
54
+ major = version_match[:major].to_i
55
+ minor = version_match[:minor].to_i || 0
56
+ patch = version_match[:patch].to_i || 0
57
+ vers << { value: version_match[:value], major: major, minor: minor, patch: patch }
38
58
  end
39
59
  end
40
- vers[0]
60
+ list = max_version(vers)
61
+ list.last[:value]
62
+ end
63
+
64
+ def max_version(list)
65
+ list.sort do |a, b|
66
+ ma = a[:major] <=> b[:major]
67
+ ma = a[:minor] <=> b[:minor] if ma.zero?
68
+ ma = a[:patch] <=> b[:patch] if ma.zero?
69
+ ma
70
+ end
41
71
  end
42
72
 
43
73
  def build_app_version_no
@@ -24,6 +24,8 @@ module Lhj
24
24
  config['gray_api_key']
25
25
  when :uat
26
26
  config['uat_api_key']
27
+ when :test
28
+ config['uat_api_key']
27
29
  else
28
30
  config['api_key']
29
31
  end
@@ -37,6 +39,8 @@ module Lhj
37
39
  config['gray_user_key']
38
40
  when :uat
39
41
  config['uat_user_key']
42
+ when :test
43
+ config['uat_user_key']
40
44
  else
41
45
  config['user_key']
42
46
  end
@@ -50,6 +54,8 @@ module Lhj
50
54
  config['gray_shortcut_url']
51
55
  when :uat
52
56
  config['uat_shortcut_url']
57
+ when :test
58
+ config['uat_shortcut_url']
53
59
  else
54
60
  config['shortcut_url']
55
61
  end
@@ -71,6 +71,7 @@ module Lhj
71
71
  # end
72
72
  rescue Faraday::TimeoutError
73
73
  puts 'upload fail'
74
+ FileUtils.rm_r Dir.glob("#{path}/archive*.zip")
74
75
  end
75
76
  end
76
77
 
@@ -92,12 +93,16 @@ module Lhj
92
93
  return unless file_exists
93
94
 
94
95
  Lhj::OSS::Helper.instance.upload(oss_key, oss_file)
95
- FileUtils.rm(oss_file) if file_exists
96
+ FileUtils.rm_r Dir.glob("#{path}/archive*.zip")
96
97
  end
97
98
 
98
99
  def render_template
99
- temp_str = File.read(File.join(Lhj::Config.instance.home_dir, 'pgyer.erb'))
100
- Lhj::ErbFormatter::Service.new(self).render_template(temp_str)
100
+ if @result.is_a? Hash
101
+ temp_str = File.read(File.join(Lhj::Config.instance.home_dir, 'pgyer.erb'))
102
+ Lhj::ErbFormatter::Service.new(self).render_template(temp_str)
103
+ else
104
+ @result
105
+ end
101
106
  end
102
107
  end
103
108
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lhj
4
4
  module Tools
5
- VERSION = "0.1.56"
5
+ VERSION = "0.1.60"
6
6
  end
7
7
  end
data/lib/lhj/tools.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  require_relative "tools/version"
3
3
  require 'colored'
4
+ require 'xcodeproj'
4
5
 
5
6
  module Lhj
6
7
  require 'lhj/jenkins/urihelper'
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhj-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.56
4
+ version: 0.1.60
5
5
  platform: ruby
6
6
  authors:
7
7
  - lihaijian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-18 00:00:00.000000000 Z
11
+ date: 2022-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: xcodeproj
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 1.13.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 2.0.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 1.13.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 2.0.0
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: claide
15
35
  requirement: !ruby/object:Gem::Requirement