pindo 5.10.8 → 5.11.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 +4 -4
- data/lib/pindo/command/android/autobuild.rb +38 -22
- data/lib/pindo/command/android/autoresign.rb +332 -0
- data/lib/pindo/command/android/build.rb +19 -12
- data/lib/pindo/command/android/{debug.rb → keystore.rb} +20 -25
- data/lib/pindo/command/android.rb +4 -3
- data/lib/pindo/command/{ipa/output.rb → appstore/adhocbuild.rb} +17 -17
- data/lib/pindo/command/{ipa → appstore}/autoresign.rb +11 -11
- data/lib/pindo/command/appstore/iap.rb +8 -8
- data/lib/pindo/command/{ipa → appstore}/import.rb +18 -18
- data/lib/pindo/command/appstore/itcapp.rb +8 -8
- data/lib/pindo/command/appstore/metadata.rb +8 -8
- data/lib/pindo/command/appstore/screenshots.rb +8 -8
- data/lib/pindo/command/appstore/upload.rb +8 -8
- data/lib/pindo/command/appstore.rb +6 -2
- data/lib/pindo/command/deploy/bundleid.rb +8 -8
- data/lib/pindo/command/deploy/cert.rb +10 -10
- data/lib/pindo/command/deploy/check.rb +8 -8
- data/lib/pindo/command/deploy.rb +1 -3
- data/lib/pindo/command/env/dreamstudio.rb +14 -12
- data/lib/pindo/command/env/quarkenv.rb +13 -11
- data/lib/pindo/command/env/swarkenv.rb +13 -11
- data/lib/pindo/command/env/workhard.rb +14 -12
- data/lib/pindo/command/env.rb +1 -1
- data/lib/pindo/command/gplay.rb +1 -1
- data/lib/pindo/command/ios/autobuild.rb +23 -15
- data/lib/pindo/command/ios/autoresign.rb +16 -16
- data/lib/pindo/command/ios/build.rb +12 -10
- data/lib/pindo/command/ios/{debug.rb → cert.rb} +26 -27
- data/lib/pindo/command/{lib/lint.rb → ios/podlint.rb} +6 -6
- data/lib/pindo/command/{lib/forcepush.rb → ios/podpush.rb} +123 -23
- data/lib/pindo/command/{lib/update.rb → ios/podupdate.rb} +5 -5
- data/lib/pindo/command/ios.rb +6 -2
- data/lib/pindo/command/jps/upload.rb +1 -1
- data/lib/pindo/command/jps.rb +1 -1
- data/lib/pindo/command/repo.rb +1 -1
- data/lib/pindo/command/unity/apk.rb +20 -15
- data/lib/pindo/command/unity/autobuild.rb +15 -21
- data/lib/pindo/command/unity/ipa.rb +21 -17
- data/lib/pindo/command/unity/{pack.rb → packbuild.rb} +17 -10
- data/lib/pindo/command/unity/{initpack.rb → packinit.rb} +10 -16
- data/lib/pindo/command/unity/{upload.rb → packpush.rb} +13 -19
- data/lib/pindo/command/unity/web.rb +19 -13
- data/lib/pindo/command/unity.rb +4 -4
- data/lib/pindo/command/{dev → utils}/feishu.rb +14 -14
- data/lib/pindo/command/{dev → utils}/repoinit.rb +8 -8
- data/lib/pindo/command/{dev → utils}/tag.rb +19 -19
- data/lib/pindo/command/utils.rb +9 -6
- data/lib/pindo/command/web/autobuild.rb +1 -1
- data/lib/pindo/command/web.rb +1 -1
- data/lib/pindo/command.rb +1 -4
- data/lib/pindo/module/android/android_build_config_helper.rb +83 -10
- data/lib/pindo/module/pgyer/pgyerhelper.rb +21 -1
- data/lib/pindo/version.rb +1 -1
- metadata +16 -22
- data/lib/pindo/command/dev.rb +0 -21
- data/lib/pindo/command/feishu/send_message.rb +0 -103
- data/lib/pindo/command/feishu.rb +0 -50
- data/lib/pindo/command/ios/adhoc.rb +0 -245
- data/lib/pindo/command/ipa.rb +0 -16
- data/lib/pindo/command/lib/push.rb +0 -157
- data/lib/pindo/command/lib.rb +0 -16
|
@@ -11,33 +11,33 @@ module Pindo
|
|
|
11
11
|
|
|
12
12
|
include Appselect
|
|
13
13
|
self.summary = 'IPA包重签名工具'
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
self.description = <<-DESC
|
|
16
16
|
使用最新的证书重签名IPA包。
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
支持功能:
|
|
19
19
|
|
|
20
20
|
* 使用开发或发布证书重签名
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
* 支持指定IPA路径
|
|
23
|
-
|
|
24
|
-
*
|
|
25
|
-
|
|
23
|
+
|
|
24
|
+
* 支持上传到JPS测试平台
|
|
25
|
+
|
|
26
26
|
* 支持发送测试通知
|
|
27
27
|
|
|
28
28
|
使用示例:
|
|
29
29
|
|
|
30
|
-
$ pindo ios autoresign
|
|
31
|
-
|
|
32
|
-
$ pindo ios autoresign
|
|
33
|
-
|
|
30
|
+
$ pindo ios autoresign # 重签名当前目录下的IPA
|
|
31
|
+
|
|
32
|
+
$ pindo ios autoresign demo.ipa # 重签名指定IPA文件
|
|
33
|
+
|
|
34
34
|
$ pindo ios autoresign --adhoc # 使用adhoc证书重签名
|
|
35
|
-
|
|
36
|
-
$ pindo ios autoresign --deploy # 使用发布bundle id
|
|
37
|
-
|
|
38
|
-
$ pindo ios autoresign --upload #
|
|
39
|
-
|
|
40
|
-
$ pindo ios autoresign --send #
|
|
35
|
+
|
|
36
|
+
$ pindo ios autoresign --deploy # 使用发布bundle id
|
|
37
|
+
|
|
38
|
+
$ pindo ios autoresign --upload # 重签名并上传到JPS
|
|
39
|
+
|
|
40
|
+
$ pindo ios autoresign --send # 重签名、上传并发送通知
|
|
41
41
|
DESC
|
|
42
42
|
|
|
43
43
|
self.arguments = [
|
|
@@ -12,7 +12,7 @@ module Pindo
|
|
|
12
12
|
class Build < Ios
|
|
13
13
|
|
|
14
14
|
# 命令的简要说明 - 编译iOS工程并可选择上传到测试平台
|
|
15
|
-
self.summary = '编译
|
|
15
|
+
self.summary = '编译IPA,不修改工程内容,支持上传到JPS测试平台'
|
|
16
16
|
|
|
17
17
|
# 启用缓存机制
|
|
18
18
|
def self.use_cache?
|
|
@@ -23,25 +23,27 @@ module Pindo
|
|
|
23
23
|
|
|
24
24
|
# 命令的详细说明,包含用法示例
|
|
25
25
|
self.description = <<-DESC
|
|
26
|
-
编译iOS工程并生成
|
|
27
|
-
|
|
26
|
+
编译iOS工程并生成IPA文件,不修改工程任何配置。
|
|
27
|
+
|
|
28
28
|
支持功能:
|
|
29
29
|
|
|
30
|
-
*
|
|
30
|
+
* 编译iOS工程
|
|
31
31
|
|
|
32
32
|
* 生成IPA文件
|
|
33
33
|
|
|
34
|
-
*
|
|
34
|
+
* 支持上传到JPS测试平台
|
|
35
|
+
|
|
36
|
+
* 支持发送测试通知
|
|
35
37
|
|
|
36
38
|
使用示例:
|
|
37
39
|
|
|
38
|
-
$ pindo ios build #
|
|
40
|
+
$ pindo ios build # 编译IPA
|
|
39
41
|
|
|
40
|
-
$ pindo ios build --upload #
|
|
42
|
+
$ pindo ios build --upload # 编译并上传到JPS
|
|
41
43
|
|
|
42
|
-
$ pindo ios build --send #
|
|
44
|
+
$ pindo ios build --send # 编译、上传并发送通知
|
|
43
45
|
|
|
44
|
-
$ pindo ios build --proj=
|
|
46
|
+
$ pindo ios build --proj="My App" # 指定项目名称
|
|
45
47
|
DESC
|
|
46
48
|
|
|
47
49
|
self.arguments = [
|
|
@@ -101,7 +103,7 @@ module Pindo
|
|
|
101
103
|
if @args_upload_flag
|
|
102
104
|
is_need_add_tag,tag_action_parms = build_helper.check_is_need_add_tag?(pindo_project_dir)
|
|
103
105
|
if is_need_add_tag
|
|
104
|
-
Pindo::Command::
|
|
106
|
+
Pindo::Command::Utils::Tag::run(tag_action_parms)
|
|
105
107
|
end
|
|
106
108
|
end
|
|
107
109
|
|
|
@@ -1,49 +1,53 @@
|
|
|
1
1
|
require 'fileutils'
|
|
2
|
-
require 'pindo/module/xcode/xcode_build_config'
|
|
3
2
|
|
|
4
3
|
module Pindo
|
|
5
4
|
class Command
|
|
6
5
|
class Ios < Command
|
|
7
|
-
class
|
|
6
|
+
class Cert < Ios
|
|
8
7
|
|
|
9
8
|
include Appselect
|
|
10
|
-
|
|
9
|
+
|
|
11
10
|
include XcodeCertHelper
|
|
12
|
-
|
|
11
|
+
|
|
12
|
+
# 命令的简要说明 - 更新证书并设置工程
|
|
13
|
+
self.summary = '更新证书并使用新证书设置Xcode工程'
|
|
14
|
+
|
|
15
|
+
# 命令的详细说明,包含用法示例
|
|
13
16
|
self.description = <<-DESC
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
更新证书并使用新证书设置Xcode工程。
|
|
18
|
+
|
|
16
19
|
支持功能:
|
|
17
20
|
|
|
18
|
-
*
|
|
21
|
+
* 自动更新开发和发布证书
|
|
19
22
|
|
|
20
|
-
*
|
|
23
|
+
* 自动配置Xcode工程签名设置
|
|
21
24
|
|
|
22
|
-
*
|
|
25
|
+
* 支持开发、AdHoc和AppStore证书类型
|
|
23
26
|
|
|
24
|
-
|
|
27
|
+
* 支持iOS和macOS平台
|
|
25
28
|
|
|
26
|
-
|
|
29
|
+
使用示例:
|
|
27
30
|
|
|
28
|
-
$ pindo ios
|
|
31
|
+
$ pindo ios cert # 使用开发证书
|
|
29
32
|
|
|
30
|
-
$ pindo ios
|
|
33
|
+
$ pindo ios cert --deploy # 使用发布bundle id
|
|
31
34
|
|
|
32
|
-
$ pindo ios
|
|
35
|
+
$ pindo ios cert --adhoc # 使用adhoc证书
|
|
33
36
|
|
|
37
|
+
$ pindo ios cert --macos # 使用macOS平台证书
|
|
34
38
|
DESC
|
|
35
39
|
|
|
40
|
+
# 命令的参数列表
|
|
36
41
|
self.arguments = [
|
|
37
|
-
|
|
42
|
+
# 暂无参数
|
|
38
43
|
]
|
|
39
44
|
|
|
40
|
-
#
|
|
45
|
+
# 命令的选项列表
|
|
41
46
|
def self.options
|
|
42
47
|
[
|
|
43
|
-
['--deploy', '
|
|
44
|
-
['--adhoc',
|
|
45
|
-
['--macos',
|
|
46
|
-
['--upload', '生成用于上传到JPS平台的证书'],
|
|
48
|
+
['--deploy', '使用发布bundle id(默认使用开发bundle id)'],
|
|
49
|
+
['--adhoc', '使用adhoc证书(默认使用dev证书)'],
|
|
50
|
+
['--macos', '使用macOS平台证书'],
|
|
47
51
|
].concat(super)
|
|
48
52
|
end
|
|
49
53
|
|
|
@@ -51,7 +55,6 @@ module Pindo
|
|
|
51
55
|
@args_adhoc_flag = argv.flag?('adhoc', false)
|
|
52
56
|
@args_deploy_flag = argv.flag?('deploy', false)
|
|
53
57
|
@args_macos_flag = argv.flag?('macos', false)
|
|
54
|
-
@upload_flag = argv.flag?('upload', false)
|
|
55
58
|
super
|
|
56
59
|
end
|
|
57
60
|
|
|
@@ -97,17 +100,13 @@ module Pindo
|
|
|
97
100
|
if @args_macos_flag
|
|
98
101
|
args_temp << "--macos"
|
|
99
102
|
end
|
|
100
|
-
|
|
101
|
-
if @upload_flag
|
|
102
|
-
args_temp << "--upload"
|
|
103
|
-
end
|
|
104
103
|
|
|
105
104
|
Pindo::Command::Deploy::Cert::run(args_temp)
|
|
106
105
|
|
|
107
106
|
end
|
|
108
107
|
|
|
108
|
+
|
|
109
109
|
end
|
|
110
110
|
end
|
|
111
111
|
end
|
|
112
|
-
end
|
|
113
|
-
|
|
112
|
+
end
|
|
@@ -4,8 +4,8 @@ require 'json'
|
|
|
4
4
|
|
|
5
5
|
module Pindo
|
|
6
6
|
class Command
|
|
7
|
-
class
|
|
8
|
-
class
|
|
7
|
+
class Ios < Command
|
|
8
|
+
class Podlint < Ios
|
|
9
9
|
|
|
10
10
|
# 命令的简要说明 - 本地编译验证pod库
|
|
11
11
|
self.summary = '本地编译私有pod库, 相当于pod lint功能'
|
|
@@ -26,13 +26,13 @@ module Pindo
|
|
|
26
26
|
|
|
27
27
|
使用示例:
|
|
28
28
|
|
|
29
|
-
$ pindo
|
|
29
|
+
$ pindo ios podlint # 在当前目录lint pod库
|
|
30
30
|
|
|
31
|
-
$ pindo
|
|
31
|
+
$ pindo ios podlint MyPod.podspec # 指定podspec文件
|
|
32
32
|
|
|
33
|
-
$ pindo
|
|
33
|
+
$ pindo ios podlint --p=~/MyPod # 指定pod库目录
|
|
34
34
|
|
|
35
|
-
$ pindo
|
|
35
|
+
$ pindo ios podlint --verbose # 显示详细输出
|
|
36
36
|
DESC
|
|
37
37
|
|
|
38
38
|
# 命令的参数列表
|
|
@@ -4,27 +4,33 @@ require 'json'
|
|
|
4
4
|
|
|
5
5
|
module Pindo
|
|
6
6
|
class Command
|
|
7
|
-
class
|
|
8
|
-
class
|
|
7
|
+
class Ios < Command
|
|
8
|
+
class Podpush < Ios
|
|
9
9
|
|
|
10
10
|
self.summary = '将私有pod库推送到远程仓库中'
|
|
11
11
|
|
|
12
12
|
self.description = <<-DESC
|
|
13
|
-
|
|
13
|
+
将私有pod库推送到远程仓库并添加到索引库中。
|
|
14
14
|
|
|
15
|
-
支持功能:
|
|
15
|
+
支持功能:
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
* 验证podspec文件
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
* 推送到远程Git仓库
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
* 添加到私有索引库
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
* 使用--force参数可强制推送(跳过验证)
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
使用示例:
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
$ pindo ios podpush MyLib.podspec # 推送指定的podspec
|
|
28
|
+
|
|
29
|
+
$ pindo ios podpush # 自动查找并推送podspec
|
|
30
|
+
|
|
31
|
+
$ pindo ios podpush --force # 强制推送(跳过验证)
|
|
32
|
+
|
|
33
|
+
$ pindo ios podpush MyLib.podspec --force # 强制推送指定的podspec
|
|
28
34
|
DESC
|
|
29
35
|
|
|
30
36
|
self.arguments = [
|
|
@@ -34,12 +40,14 @@ module Pindo
|
|
|
34
40
|
def self.options
|
|
35
41
|
[
|
|
36
42
|
['--p', '指定需要lint的pod库所在目录, 例如 --p=~/Users/xxx/MyPod'],
|
|
43
|
+
['--force', '强制推送,跳过验证步骤(相当于原forcepush命令)'],
|
|
37
44
|
].concat(super)
|
|
38
45
|
end
|
|
39
46
|
|
|
40
47
|
def initialize(argv)
|
|
41
48
|
@pod_spec_file = argv.shift_argument || nil
|
|
42
49
|
@project_dir = argv.option('p')
|
|
50
|
+
@force_push = argv.flag?('force', false)
|
|
43
51
|
|
|
44
52
|
super(argv)
|
|
45
53
|
@additional_args = argv.remainder!
|
|
@@ -51,7 +59,16 @@ module Pindo
|
|
|
51
59
|
end
|
|
52
60
|
|
|
53
61
|
def run
|
|
62
|
+
if @force_push
|
|
63
|
+
run_force_push
|
|
64
|
+
else
|
|
65
|
+
run_normal_push
|
|
66
|
+
end
|
|
67
|
+
end
|
|
54
68
|
|
|
69
|
+
private
|
|
70
|
+
|
|
71
|
+
def run_normal_push
|
|
55
72
|
working_dir = @project_dir
|
|
56
73
|
process_need_add_files(project_dir:working_dir)
|
|
57
74
|
|
|
@@ -65,6 +82,97 @@ module Pindo
|
|
|
65
82
|
raise Informative, '工作目录下没有任何podspec文件'
|
|
66
83
|
end
|
|
67
84
|
|
|
85
|
+
sources = Pod::Config.instance.sources_manager.all
|
|
86
|
+
public_source = sources.select { |s| s.is_a?(Pod::CDNSource) }.first
|
|
87
|
+
if public_source.nil?
|
|
88
|
+
public_source = sources.select { |s| s.git? && s.url.to_s.include?("CocoaPods/Specs.git") }.first
|
|
89
|
+
end
|
|
90
|
+
if public_source.nil?
|
|
91
|
+
raise Informative, '公有Pod地址未知,请pod install安装pod库'
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
pod_array = pindo_single_config.pod_repo_dict
|
|
95
|
+
pod_index_url = nil
|
|
96
|
+
if !pod_array.nil?
|
|
97
|
+
pod_index_url = pod_array['podindex']
|
|
98
|
+
else
|
|
99
|
+
raise Informative, '私有Pod索引地址未知!!'
|
|
100
|
+
end
|
|
101
|
+
private_source = sources.select { |s| s.git? && s.url.to_s.eql?(pod_index_url)}.first
|
|
102
|
+
if private_source.nil?
|
|
103
|
+
raise Informative, "私有Pod索引地址未知!"
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
pod_index_url_header = pod_index_url.slice(0, pod_index_url.rindex('/'))
|
|
107
|
+
pod_index_url_git_org = File.basename(pod_index_url_header)
|
|
108
|
+
working_dir_git_url = git!(%W(-C #{working_dir} config --get remote.origin.url)).chomp
|
|
109
|
+
working_dir_git_url_header = working_dir_git_url.slice(0, working_dir_git_url.rindex('/'))
|
|
110
|
+
working_dir_git_org = File.basename(working_dir_git_url_header)
|
|
111
|
+
if working_dir_git_org.include?(":")
|
|
112
|
+
working_dir_git_org = working_dir_git_org.slice(working_dir_git_org.rindex(':')+1, working_dir_git_org.size())
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
puts "pod本地地址: #{working_dir}"
|
|
116
|
+
puts "pod远程地址: #{working_dir_git_url}"
|
|
117
|
+
puts "索引本地地址: #{private_source.repo}"
|
|
118
|
+
puts "索引远程地址: #{private_source.url}"
|
|
119
|
+
|
|
120
|
+
if pod_index_url_git_org != working_dir_git_org
|
|
121
|
+
puts
|
|
122
|
+
puts "索引库地址:#{pod_index_url_git_org}"
|
|
123
|
+
puts "Pod库地址:#{working_dir_git_org}"
|
|
124
|
+
answer = agree("私有Pod索引地址与工作目录不一致, 是否继续推送(Y/n):")
|
|
125
|
+
unless answer
|
|
126
|
+
raise Informative, "私有Pod索引地址与工作目录不一致!!!请使用pindo env 切换环境后再推送"
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
puts "即将执行下列命令:"
|
|
131
|
+
command_array = []
|
|
132
|
+
podspecs.each do |podspec|
|
|
133
|
+
command = "pod repo push #{private_source.name} --sources=#{private_source.url},#{public_source.url} --allow-warnings --use-libraries --use-modular-headers --verbose"
|
|
134
|
+
puts
|
|
135
|
+
puts command
|
|
136
|
+
puts
|
|
137
|
+
command_array << command
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
answer = agree("是否运行以上命令(Y/n):")
|
|
141
|
+
unless answer
|
|
142
|
+
raise Informative, "停止推送!!!"
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
puts "检查对应的tag 是否添加"
|
|
146
|
+
podspecs.each do |podspec|
|
|
147
|
+
puts
|
|
148
|
+
puts podspec
|
|
149
|
+
podspec_obj = Pod::Specification.from_file(podspec)
|
|
150
|
+
pod_name = podspec_obj.name
|
|
151
|
+
tag_name = podspec_obj.version
|
|
152
|
+
add_tag_with_check(local_repo_dir:working_dir, tag_name:tag_name)
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
command_array.each do |command|
|
|
156
|
+
puts "正在运行命令:"
|
|
157
|
+
puts
|
|
158
|
+
puts command
|
|
159
|
+
system command
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def run_force_push
|
|
164
|
+
working_dir = @project_dir
|
|
165
|
+
process_need_add_files(project_dir:working_dir)
|
|
166
|
+
|
|
167
|
+
podspecs = []
|
|
168
|
+
if @pod_spec_file && (@pod_spec_file.to_s.end_with?('.podspec') || @pod_spec_file.to_s.end_with?('.json'))
|
|
169
|
+
podspecs = [@pod_spec_file]
|
|
170
|
+
else
|
|
171
|
+
podspecs = Pathname.glob(File.join(working_dir, '*.podspec{.json,}'))
|
|
172
|
+
end
|
|
173
|
+
if podspecs.count.zero?
|
|
174
|
+
raise Informative, '工作目录下没有任何podspec文件'
|
|
175
|
+
end
|
|
68
176
|
|
|
69
177
|
sources = Pod::Config.instance.sources_manager.all
|
|
70
178
|
|
|
@@ -80,18 +188,16 @@ module Pindo
|
|
|
80
188
|
raise Informative, "私有Pod索引地址未知!"
|
|
81
189
|
end
|
|
82
190
|
begin
|
|
83
|
-
puts
|
|
191
|
+
puts
|
|
84
192
|
private_source_branch = "master"
|
|
85
193
|
git!(%W(-C #{private_source.repo} reset --hard))
|
|
86
194
|
git!(%W(-C #{private_source.repo} clean -dfx))
|
|
87
|
-
git!(%W(-C #{private_source.repo} branch --set-upstream-to=origin/#{private_source_branch} #{private_source_branch}))
|
|
195
|
+
git!(%W(-C #{private_source.repo} branch --set-upstream-to=origin/#{private_source_branch} #{private_source_branch}))
|
|
88
196
|
git!(%W(-C #{private_source.repo} pull))
|
|
89
197
|
rescue StandardError => e
|
|
90
198
|
raise Informative, "私有Pod索引目录异常,请删除#{private_source.repo}重新新下载"
|
|
91
199
|
end
|
|
92
200
|
|
|
93
|
-
|
|
94
|
-
|
|
95
201
|
pod_index_url_header = pod_index_url.slice(0, pod_index_url.rindex('/'))
|
|
96
202
|
pod_index_url_git_org = File.basename(pod_index_url_header)
|
|
97
203
|
working_dir_git_url = git!(%W(-C #{working_dir} config --get remote.origin.url)).chomp
|
|
@@ -118,11 +224,11 @@ module Pindo
|
|
|
118
224
|
end
|
|
119
225
|
end
|
|
120
226
|
|
|
121
|
-
puts
|
|
227
|
+
puts
|
|
122
228
|
puts "即将强制推送如下Pod库:"
|
|
123
229
|
command_array = []
|
|
124
230
|
podspecs.each do |podspec|
|
|
125
|
-
puts
|
|
231
|
+
puts
|
|
126
232
|
puts podspec
|
|
127
233
|
podspec_obj = Pod::Specification.from_file(podspec)
|
|
128
234
|
pod_name = podspec_obj.name
|
|
@@ -136,7 +242,6 @@ module Pindo
|
|
|
136
242
|
raise Informative, "停止推送!!!"
|
|
137
243
|
end
|
|
138
244
|
|
|
139
|
-
|
|
140
245
|
puts "先检查对应的tag是否添加"
|
|
141
246
|
podspecs.each do |podspec|
|
|
142
247
|
puts
|
|
@@ -160,14 +265,9 @@ module Pindo
|
|
|
160
265
|
puts "上传到仓库 #{private_source.repo}"
|
|
161
266
|
git_addpush_repo(path:private_source.repo, message:"add #{pod_name} #{tag_name}")
|
|
162
267
|
end
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
268
|
end
|
|
167
269
|
|
|
168
|
-
|
|
169
|
-
|
|
170
270
|
end
|
|
171
271
|
end
|
|
172
272
|
end
|
|
173
|
-
end
|
|
273
|
+
end
|
|
@@ -4,8 +4,8 @@ require 'json'
|
|
|
4
4
|
|
|
5
5
|
module Pindo
|
|
6
6
|
class Command
|
|
7
|
-
class
|
|
8
|
-
class
|
|
7
|
+
class Ios < Command
|
|
8
|
+
class Podupdate < Ios
|
|
9
9
|
|
|
10
10
|
self.summary = '更新私有库索引地址'
|
|
11
11
|
|
|
@@ -22,9 +22,9 @@ module Pindo
|
|
|
22
22
|
|
|
23
23
|
使用示例:
|
|
24
24
|
|
|
25
|
-
$ pindo
|
|
25
|
+
$ pindo ios podupdate # 更新所有私有索引库
|
|
26
26
|
|
|
27
|
-
$ pindo
|
|
27
|
+
$ pindo ios podupdate MySpecs # 更新指定的索引库
|
|
28
28
|
DESC
|
|
29
29
|
|
|
30
30
|
self.arguments = [
|
|
@@ -33,7 +33,7 @@ module Pindo
|
|
|
33
33
|
|
|
34
34
|
def self.options
|
|
35
35
|
[
|
|
36
|
-
['--install', '更新完lib之后执行pod install, pindo
|
|
36
|
+
['--install', '更新完lib之后执行pod install, pindo ios podupdate --install'],
|
|
37
37
|
['--p', '指定需要lint的pod库所在目录, 例如 --p=~/Users/xxx/MyPod'],
|
|
38
38
|
].concat(super)
|
|
39
39
|
end
|
data/lib/pindo/command/ios.rb
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
|
|
2
|
-
require 'pindo/command/ios/
|
|
2
|
+
require 'pindo/command/ios/cert'
|
|
3
3
|
require 'pindo/command/ios/autobuild'
|
|
4
|
+
require 'pindo/command/ios/build'
|
|
4
5
|
require 'pindo/command/ios/autoresign'
|
|
5
6
|
require 'pindo/command/ios/applovin'
|
|
7
|
+
require 'pindo/command/ios/podlint'
|
|
8
|
+
require 'pindo/command/ios/podpush'
|
|
9
|
+
require 'pindo/command/ios/podupdate'
|
|
6
10
|
|
|
7
11
|
module Pindo
|
|
8
12
|
class Command
|
|
9
13
|
|
|
10
14
|
class Ios < Command
|
|
11
15
|
self.abstract_command = true
|
|
12
|
-
self.summary = 'iOS
|
|
16
|
+
self.summary = 'iOS开发相关的命令'
|
|
13
17
|
end
|
|
14
18
|
|
|
15
19
|
end
|
|
@@ -111,7 +111,7 @@ module Pindo
|
|
|
111
111
|
Dir.chdir(current_project_dir)
|
|
112
112
|
is_need_add_tag,tag_action_parms = build_helper.check_is_need_add_tag?(current_project_dir)
|
|
113
113
|
if is_need_add_tag
|
|
114
|
-
Pindo::Command::
|
|
114
|
+
Pindo::Command::Utils::Tag::run(tag_action_parms)
|
|
115
115
|
end
|
|
116
116
|
|
|
117
117
|
if @args_ipa_file.nil? || !File.exist?(@args_ipa_file)
|
data/lib/pindo/command/jps.rb
CHANGED
data/lib/pindo/command/repo.rb
CHANGED
|
@@ -13,7 +13,7 @@ module Pindo
|
|
|
13
13
|
include Appselect
|
|
14
14
|
|
|
15
15
|
# 命令的简要说明 - 编译Unity工程生成Android APK
|
|
16
|
-
self.summary = '
|
|
16
|
+
self.summary = 'Unity工程编译APK(优先使用pindo and autobuild命令)'
|
|
17
17
|
|
|
18
18
|
# 启用缓存机制
|
|
19
19
|
def self.use_cache?
|
|
@@ -22,27 +22,32 @@ module Pindo
|
|
|
22
22
|
|
|
23
23
|
# 命令的详细说明,包含用法示例
|
|
24
24
|
self.description = <<-DESC
|
|
25
|
-
|
|
25
|
+
Unity工程编译APK(优先使用pindo and autobuild命令)
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
支持功能:
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
* 自动检测Unity版本
|
|
30
|
+
|
|
31
|
+
* 编译生成Android APK文件
|
|
32
|
+
|
|
33
|
+
* 支持上传到JPS测试平台
|
|
34
|
+
|
|
35
|
+
* 支持发送测试通知
|
|
36
|
+
|
|
37
|
+
* 支持CI/CD自动化构建
|
|
32
38
|
|
|
33
39
|
使用示例:
|
|
34
40
|
|
|
35
41
|
$ pindo unity apk # 编译APK
|
|
36
|
-
$ pindo unity apk --upload # 编译并上传
|
|
37
|
-
$ pindo unity apk --send # 编译、上传并发送群组通知
|
|
38
42
|
|
|
39
|
-
#
|
|
40
|
-
|
|
43
|
+
$ pindo unity apk --upload # 编译并上传到JPS
|
|
44
|
+
|
|
45
|
+
$ pindo unity apk --send # 编译、上传并发送通知
|
|
46
|
+
|
|
47
|
+
$ pindo unity apk --proj="My App" # 指定项目名称
|
|
41
48
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
• Unity版本会自动检测
|
|
45
|
-
DESC
|
|
49
|
+
$ pindo unity apk --base # Unity lib模式
|
|
50
|
+
DESC
|
|
46
51
|
|
|
47
52
|
# 命令的参数列表
|
|
48
53
|
self.arguments = [
|
|
@@ -100,7 +105,7 @@ DESC
|
|
|
100
105
|
if @args_upload_flag
|
|
101
106
|
is_need_add_tag,tag_action_parms = build_helper.check_is_need_add_tag?(pindo_project_dir)
|
|
102
107
|
if is_need_add_tag
|
|
103
|
-
Pindo::Command::
|
|
108
|
+
Pindo::Command::Utils::Tag::run(tag_action_parms)
|
|
104
109
|
end
|
|
105
110
|
end
|
|
106
111
|
|