pindo 5.13.1 → 5.13.2
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/base/git_handler.rb +692 -0
- data/lib/pindo/command/android/autobuild.rb +2 -2
- data/lib/pindo/command/appstore/adhocbuild.rb +258 -311
- data/lib/pindo/command/appstore/autobuild.rb +203 -0
- data/lib/pindo/command/appstore/autoresign.rb +35 -17
- data/lib/pindo/command/appstore/bundleid.rb +120 -0
- data/lib/pindo/command/appstore/cert.rb +212 -0
- data/lib/pindo/command/appstore/configproj.rb +81 -0
- data/lib/pindo/command/{deploy → appstore}/getitcinfo.rb +76 -91
- data/lib/pindo/command/appstore/iap.rb +788 -24
- data/lib/pindo/command/appstore/initconfig.rb +105 -0
- data/lib/pindo/command/appstore/itcapp.rb +95 -13
- data/lib/pindo/command/{deploy → appstore}/itcinfo.rb +90 -118
- data/lib/pindo/command/appstore/pem.rb +136 -0
- data/lib/pindo/command/appstore/pullconfig.rb +99 -0
- data/lib/pindo/command/appstore/quswark.rb +87 -0
- data/lib/pindo/command/appstore/quswauth.rb +67 -0
- data/lib/pindo/command/appstore/tag.rb +77 -0
- data/lib/pindo/command/appstore.rb +13 -1
- data/lib/pindo/command/env/quarkenv.rb +11 -13
- data/lib/pindo/command/env/swarkenv.rb +11 -16
- data/lib/pindo/command/ios/autobuild.rb +64 -43
- data/lib/pindo/command/ios/autoresign.rb +34 -19
- data/lib/pindo/command/ios/build.rb +9 -6
- data/lib/pindo/command/ios/cert.rb +27 -20
- data/lib/pindo/command/jps/upload.rb +3 -3
- data/lib/pindo/command/unity/autobuild.rb +2 -2
- data/lib/pindo/command/utils/clearcert.rb +2 -17
- data/lib/pindo/command/{deploy → utils}/fabric.rb +13 -13
- data/lib/pindo/command/utils/renewcert.rb +62 -38
- data/lib/pindo/command/utils/renewproj.rb +0 -3
- data/lib/pindo/command/{deploy → utils}/updateconfig.rb +6 -7
- data/lib/pindo/command/utils.rb +2 -0
- data/lib/pindo/command/web/autobuild.rb +2 -2
- data/lib/pindo/command.rb +30 -3
- data/lib/pindo/config/build_info_manager.rb +176 -0
- data/lib/pindo/config/ios_config_parser.rb +404 -0
- data/lib/pindo/module/android/android_config_helper.rb +9 -5
- data/lib/pindo/module/appstore/bundleid_helper.rb +349 -0
- data/lib/pindo/module/appstore/itcapp_helper.rb +228 -0
- data/lib/pindo/module/build/build_helper.rb +12 -0
- data/lib/pindo/module/build/swark_helper.rb +116 -77
- data/lib/pindo/module/cert/cert_helper.rb +74 -0
- data/lib/pindo/module/cert/pem_helper.rb +72 -0
- data/lib/pindo/module/cert/{xcodecerthelper.rb → xcode_cert_helper.rb} +208 -6
- data/lib/pindo/module/task/model/appstore/appstore_task.rb +18 -0
- data/lib/pindo/module/task/model/appstore/appstore_upload_ipa_task.rb +151 -0
- data/lib/pindo/module/task/model/appstore/appstore_upload_metadata_task.rb +250 -0
- data/lib/pindo/module/task/model/appstore/appstore_upload_screenshot_task.rb +276 -0
- data/lib/pindo/module/task/model/build/android_build_adhoc_task.rb +210 -0
- data/lib/pindo/module/task/model/build/{android_dev_build_task.rb → android_build_dev_task.rb} +2 -2
- data/lib/pindo/module/task/model/build/android_build_gplay_task.rb +210 -0
- data/lib/pindo/module/task/model/build/android_build_task.rb +13 -0
- data/lib/pindo/module/task/model/build/ios_build_adhoc_task.rb +197 -0
- data/lib/pindo/module/task/model/build/ios_build_appstore_task.rb +367 -0
- data/lib/pindo/module/task/model/build/{ios_dev_build_task.rb → ios_build_dev_task.rb} +37 -27
- data/lib/pindo/module/task/model/build/ios_build_task.rb +13 -0
- data/lib/pindo/module/task/model/build/{web_dev_build_task.rb → web_build_dev_task.rb} +1 -1
- data/lib/pindo/module/task/model/build_task.rb +15 -12
- data/lib/pindo/module/task/model/jps_resign_task.rb +185 -0
- data/lib/pindo/module/task/model/{upload_task.rb → jps_upload_task.rb} +3 -3
- data/lib/pindo/module/task/model/unity_export_task.rb +3 -1
- data/lib/pindo/module/unity/unity_helper.rb +2 -1
- data/lib/pindo/module/xcode/ipa_resign_helper.rb +210 -0
- data/lib/pindo/module/xcode/{xcodeappconfig.rb → xcode_app_config.rb} +79 -0
- data/lib/pindo/module/xcode/xcode_build_config.rb +152 -17
- data/lib/pindo/module/xcode/xcode_build_helper.rb +151 -1
- data/lib/pindo/module/xcode/xcode_swark_helper.rb +341 -0
- data/lib/pindo/options/core/global_options_state.rb +268 -0
- data/lib/pindo/options/core/option_configuration.rb +206 -0
- data/lib/pindo/options/core/option_initializer.rb +51 -0
- data/lib/pindo/options/core/option_item.rb +144 -0
- data/lib/pindo/options/core/option_value_parser.rb +54 -0
- data/lib/pindo/options/groups/build_options.rb +60 -0
- data/lib/pindo/options/groups/jps_options.rb +70 -0
- data/lib/pindo/options/groups/option_group.rb +73 -0
- data/lib/pindo/options/helpers/bundleid_selector.rb +103 -0
- data/lib/pindo/options/options.rb +14 -0
- data/lib/pindo/version.rb +1 -1
- metadata +49 -40
- data/lib/pindo/command/appstore/import.rb +0 -259
- data/lib/pindo/command/deploy/build.rb +0 -250
- data/lib/pindo/command/deploy/bundleid.rb +0 -259
- data/lib/pindo/command/deploy/cert.rb +0 -202
- data/lib/pindo/command/deploy/check.rb +0 -93
- data/lib/pindo/command/deploy/configproj.rb +0 -120
- data/lib/pindo/command/deploy/confusecode.rb +0 -262
- data/lib/pindo/command/deploy/confuseproj.rb +0 -122
- data/lib/pindo/command/deploy/iap.rb +0 -826
- data/lib/pindo/command/deploy/initconfig.rb +0 -138
- data/lib/pindo/command/deploy/itcapp.rb +0 -146
- data/lib/pindo/command/deploy/pem.rb +0 -55
- data/lib/pindo/command/deploy/pullconfig.rb +0 -56
- data/lib/pindo/command/deploy/pushconfig.rb +0 -93
- data/lib/pindo/command/deploy/quswark.rb +0 -156
- data/lib/pindo/command/deploy/quswauth.rb +0 -76
- data/lib/pindo/command/deploy/reportbug.rb +0 -145
- data/lib/pindo/command/deploy/resign.rb +0 -300
- data/lib/pindo/command/deploy/tag.rb +0 -108
- data/lib/pindo/command/deploy/uploadipa.rb +0 -73
- data/lib/pindo/command/deploy.rb +0 -42
- data/lib/pindo/command/dev/autobuild.rb +0 -117
- data/lib/pindo/command/dev/build.rb +0 -94
- data/lib/pindo/command/dev/debug.rb +0 -112
- data/lib/pindo/module/task/model/build/android_release_build_task.rb +0 -29
- data/lib/pindo/module/task/model/build/ios_adhoc_build_task.rb +0 -53
- data/lib/pindo/module/task/model/build/ios_release_build_task.rb +0 -53
- data/lib/pindo/options/appconfigoptions.rb +0 -24
- data/lib/pindo/options/deployoptions.rb +0 -372
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
require 'highline/import'
|
|
2
|
-
require 'xcodeproj'
|
|
3
|
-
require 'find'
|
|
4
|
-
require 'fileutils'
|
|
5
|
-
|
|
6
|
-
module Pindo
|
|
7
|
-
class Command
|
|
8
|
-
class Deploy < Command
|
|
9
|
-
class Uploadipa < Deploy
|
|
10
|
-
|
|
11
|
-
include Command::DeployOptions
|
|
12
|
-
|
|
13
|
-
self.summary = 'Upload ipa to iTunes Connect.'
|
|
14
|
-
|
|
15
|
-
self.description = <<-DESC
|
|
16
|
-
Upload ipa to iTunes Connect
|
|
17
|
-
|
|
18
|
-
支持功能:
|
|
19
|
-
- 自动查找build目录下的IPA文件
|
|
20
|
-
- 使用Fastlane上传IPA到iTunes Connect
|
|
21
|
-
- 支持跳过元数据和截图的快速上传
|
|
22
|
-
|
|
23
|
-
使用示例:
|
|
24
|
-
pindo deploy uploadipa path/to/config.json
|
|
25
|
-
pindo deploy uploadipa ./config.json
|
|
26
|
-
cd your-project && pindo deploy uploadipa config.json
|
|
27
|
-
DESC
|
|
28
|
-
|
|
29
|
-
self.arguments = [
|
|
30
|
-
CLAide::Argument.new('path/to/config.json', true),
|
|
31
|
-
]
|
|
32
|
-
|
|
33
|
-
def run
|
|
34
|
-
current_project_dir = Dir.pwd
|
|
35
|
-
|
|
36
|
-
ipa_file = nil
|
|
37
|
-
Find.find(File.join(current_project_dir, "build")) do |path|
|
|
38
|
-
if path.to_s.end_with?(".ipa") then
|
|
39
|
-
ipa_file = path
|
|
40
|
-
puts "++++++++++"
|
|
41
|
-
puts ipa_file
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
if !ipa_file.nil? && File.exist?(ipa_file)
|
|
46
|
-
|
|
47
|
-
command = "fastlane deliver --ipa " + %Q{"#{ipa_file}"} + " --skip_binary_upload false --skip_metadata true --skip_screenshots true --skip_app_version_update true -f"
|
|
48
|
-
puts command
|
|
49
|
-
system command
|
|
50
|
-
|
|
51
|
-
# values = {
|
|
52
|
-
# username:@apple_id,
|
|
53
|
-
# app_identifier: @bundle_id,
|
|
54
|
-
# ipa:ipa_file,
|
|
55
|
-
# skip_binary_upload:false,
|
|
56
|
-
# skip_screenshots:true,
|
|
57
|
-
# skip_metadata:true,
|
|
58
|
-
# skip_app_version_update:true,
|
|
59
|
-
# force:true
|
|
60
|
-
# }
|
|
61
|
-
|
|
62
|
-
# puts Deliver::Options.available_options
|
|
63
|
-
|
|
64
|
-
# config = FastlaneCore::Configuration.create(Deliver::Options.available_options, values)
|
|
65
|
-
# Deliver::Runner.new.run(config)
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
end
|
data/lib/pindo/command/deploy.rb
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
require 'pindo/command/deploy/updateconfig'
|
|
5
|
-
require 'pindo/command/deploy/initconfig'
|
|
6
|
-
require 'pindo/command/deploy/pullconfig'
|
|
7
|
-
require 'pindo/command/deploy/reportbug'
|
|
8
|
-
|
|
9
|
-
require 'pindo/command/deploy/bundleid'
|
|
10
|
-
require 'pindo/command/deploy/itcapp'
|
|
11
|
-
require 'pindo/command/deploy/cert'
|
|
12
|
-
require 'pindo/command/deploy/pem'
|
|
13
|
-
require 'pindo/command/deploy/build'
|
|
14
|
-
|
|
15
|
-
require 'pindo/command/deploy/configproj'
|
|
16
|
-
require 'pindo/command/deploy/confusecode'
|
|
17
|
-
require 'pindo/command/deploy/confuseproj'
|
|
18
|
-
require 'pindo/command/deploy/fabric'
|
|
19
|
-
require 'pindo/command/deploy/resign'
|
|
20
|
-
require 'pindo/command/deploy/iap'
|
|
21
|
-
require 'pindo/command/deploy/itcinfo'
|
|
22
|
-
require 'pindo/command/deploy/getitcinfo'
|
|
23
|
-
require 'pindo/command/deploy/quswark'
|
|
24
|
-
require 'pindo/command/deploy/quswauth'
|
|
25
|
-
require 'pindo/command/deploy/check'
|
|
26
|
-
require 'pindo/command/deploy/tag'
|
|
27
|
-
|
|
28
|
-
# require 'pindo/command/deploy/uploadipa'
|
|
29
|
-
|
|
30
|
-
module Pindo
|
|
31
|
-
class Command
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
class Deploy < Command
|
|
35
|
-
|
|
36
|
-
self.abstract_command = true
|
|
37
|
-
self.summary = '发布阶段相关命令(待移动废弃)'
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
require 'highline/import'
|
|
2
|
-
require 'xcodeproj'
|
|
3
|
-
require 'find'
|
|
4
|
-
require 'fileutils'
|
|
5
|
-
require 'pindo/base/executable'
|
|
6
|
-
require 'pindo/module/build/build_helper'
|
|
7
|
-
|
|
8
|
-
module Pindo
|
|
9
|
-
class Command
|
|
10
|
-
class Dev < Command
|
|
11
|
-
class Autobuild < Dev
|
|
12
|
-
|
|
13
|
-
include Appselect
|
|
14
|
-
|
|
15
|
-
# 命令的简要说明 - 自动编译并发布工程
|
|
16
|
-
self.summary = '自动编译工程,并支持上传ipa到测试网站'
|
|
17
|
-
|
|
18
|
-
# 命令的详细说明,包含用法示例
|
|
19
|
-
self.description = <<-DESC
|
|
20
|
-
自动编译工程并支持上传到测试平台。
|
|
21
|
-
|
|
22
|
-
支持功能:
|
|
23
|
-
|
|
24
|
-
* 自动编译工程
|
|
25
|
-
|
|
26
|
-
* 上传到测试平台
|
|
27
|
-
|
|
28
|
-
* 发送测试通知
|
|
29
|
-
|
|
30
|
-
* 支持多种编译模式
|
|
31
|
-
|
|
32
|
-
使用示例:
|
|
33
|
-
|
|
34
|
-
$ pindo dev autobuild # 使用开发证书编译
|
|
35
|
-
|
|
36
|
-
$ pindo dev autobuild --deploy # 使用发布bundle id
|
|
37
|
-
|
|
38
|
-
$ pindo dev autobuild --adhoc # 使用adhoc证书编译
|
|
39
|
-
|
|
40
|
-
$ pindo dev autobuild --proj=myapp # 指定项目名称
|
|
41
|
-
|
|
42
|
-
$ pindo dev autobuild --upload # 上传编译包
|
|
43
|
-
|
|
44
|
-
$ pindo dev autobuild --send # 发送测试通知
|
|
45
|
-
DESC
|
|
46
|
-
|
|
47
|
-
# 命令的参数列表
|
|
48
|
-
self.arguments = [
|
|
49
|
-
]
|
|
50
|
-
|
|
51
|
-
# 命令的选项列表
|
|
52
|
-
def self.options
|
|
53
|
-
[
|
|
54
|
-
['--deploy', '默认用开发的bundle id,用法:pindo dev autobuild --deploy'],
|
|
55
|
-
['--adhoc', '默认用dev证书,使用--adhoc设置使用adhoc证书编译'],
|
|
56
|
-
['--proj', '指定上传到JPS对应的项目名称(大小写空格忽略)'],
|
|
57
|
-
['--upload', '是否上传编译后的ipa'],
|
|
58
|
-
['--send', '上传到之后是否发送测试信息'],
|
|
59
|
-
].concat(super)
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
def initialize(argv)
|
|
63
|
-
|
|
64
|
-
@args_deploy_flag = argv.flag?('deploy', false)
|
|
65
|
-
@args_adhoc_flag = argv.flag?('adhoc', false)
|
|
66
|
-
@args_upload_flag = argv.flag?('upload', false)
|
|
67
|
-
@args_send_flag = argv.flag?('send', false)
|
|
68
|
-
@args_proj_name = argv.option('proj')
|
|
69
|
-
|
|
70
|
-
if @args_send_flag
|
|
71
|
-
@args_upload_flag = true
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
super
|
|
75
|
-
@additional_args = argv.remainder!
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
def validate!
|
|
79
|
-
|
|
80
|
-
super
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
def run
|
|
84
|
-
|
|
85
|
-
pindo_unity_project_dir = Dir.pwd
|
|
86
|
-
build_helper = Pindo::BuildHelper.share_instance
|
|
87
|
-
pindo_unity_project_dir = Dir.pwd
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
build_helper = Pindo::BuildHelper.share_instance
|
|
91
|
-
project_type = build_helper.project_type(pindo_unity_project_dir)
|
|
92
|
-
|
|
93
|
-
args_temp = []
|
|
94
|
-
args_temp << "--proj=#{@args_proj_name}" if @args_proj_name
|
|
95
|
-
args_temp << "--upload" if @args_upload_flag
|
|
96
|
-
args_temp << "--send" if @args_send_flag
|
|
97
|
-
args_temp << "--adhoc" if @args_adhoc_flag
|
|
98
|
-
args_temp << "--deploy" if @args_deploy_flag
|
|
99
|
-
|
|
100
|
-
case project_type
|
|
101
|
-
when :ios
|
|
102
|
-
puts "iOS工程, 请使用 pindo ios autobuild"
|
|
103
|
-
Pindo::Command::Ios::Autobuild::run(args_temp)
|
|
104
|
-
when :android
|
|
105
|
-
puts "Android工程, 请使用 pindo and autobuild"
|
|
106
|
-
when :unity
|
|
107
|
-
raise Informative, "Unity工程, 请使用 pindo unity autobuild --types=ipa,apk"
|
|
108
|
-
else
|
|
109
|
-
raise Informative, "当前目录不是工程目录,不能编译"
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
end
|
|
117
|
-
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
require 'highline/import'
|
|
2
|
-
require 'fileutils'
|
|
3
|
-
require 'json'
|
|
4
|
-
require 'xcodeproj'
|
|
5
|
-
require 'gym'
|
|
6
|
-
require 'pindo/module/build/build_helper'
|
|
7
|
-
|
|
8
|
-
module Pindo
|
|
9
|
-
class Command
|
|
10
|
-
class Dev < Command
|
|
11
|
-
class Build < Dev
|
|
12
|
-
|
|
13
|
-
# 命令的简要说明 - 编译工程并上传测试
|
|
14
|
-
self.summary = '编译工程,并支持上传ipa到测试网站'
|
|
15
|
-
|
|
16
|
-
# 命令的详细说明,包含用法示例
|
|
17
|
-
self.description = <<-DESC
|
|
18
|
-
编译工程并支持上传到测试平台。
|
|
19
|
-
|
|
20
|
-
支持功能:
|
|
21
|
-
|
|
22
|
-
* 编译工程
|
|
23
|
-
|
|
24
|
-
* 上传到测试平台
|
|
25
|
-
|
|
26
|
-
* 发送测试通知
|
|
27
|
-
|
|
28
|
-
使用示例:
|
|
29
|
-
|
|
30
|
-
$ pindo dev build # 仅编译
|
|
31
|
-
|
|
32
|
-
$ pindo dev build --upload # 编译并上传
|
|
33
|
-
|
|
34
|
-
$ pindo dev build --send # 编译并发送通知
|
|
35
|
-
|
|
36
|
-
$ pindo dev build --proj=myapp # 指定项目名称
|
|
37
|
-
DESC
|
|
38
|
-
|
|
39
|
-
# 命令的参数列表
|
|
40
|
-
self.arguments = [
|
|
41
|
-
]
|
|
42
|
-
|
|
43
|
-
def self.options
|
|
44
|
-
[
|
|
45
|
-
['--proj', '指定上传到JPS对应的项目名称(大小写空格忽略),用法:pindo dev build --proj=aichatv4'],
|
|
46
|
-
['--upload', '是否上传编译后的ipa, 用法:pindo dev build --upload'],
|
|
47
|
-
['--send', '上传到之后是否发送测试信息,用法:pindo dev build --send'],
|
|
48
|
-
].concat(super)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def initialize(argv)
|
|
52
|
-
|
|
53
|
-
@args_upload_flag = argv.flag?('upload', false)
|
|
54
|
-
@args_send_flag = argv.flag?('send', false)
|
|
55
|
-
@args_proj_name = argv.option('proj')
|
|
56
|
-
|
|
57
|
-
if @args_send_flag
|
|
58
|
-
@args_upload_flag = true
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
super
|
|
63
|
-
@additional_args = argv.remainder!
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def run
|
|
67
|
-
|
|
68
|
-
pindo_unity_project_dir = Dir.pwd
|
|
69
|
-
|
|
70
|
-
build_helper = Pindo::BuildHelper.share_instance
|
|
71
|
-
project_type = build_helper.project_type(pindo_unity_project_dir)
|
|
72
|
-
|
|
73
|
-
args_temp = []
|
|
74
|
-
args_temp << "--proj=#{@args_proj_name}" if @args_proj_name
|
|
75
|
-
args_temp << "--upload" if @args_upload_flag
|
|
76
|
-
args_temp << "--send" if @args_send_flag
|
|
77
|
-
case project_type
|
|
78
|
-
when :ios
|
|
79
|
-
puts "iOS 工程, 请使用 pindo ios build"
|
|
80
|
-
Pindo::Command::Ios::Build::run(args_temp)
|
|
81
|
-
when :android
|
|
82
|
-
puts "Android 工程, 请使用 pindo and build"
|
|
83
|
-
Pindo::Command::Android::Build::run(args_temp)
|
|
84
|
-
when :unity
|
|
85
|
-
raise Informative, "Unity 工程, 请使用 pindo unity autobuild --types=ipa,apk"
|
|
86
|
-
else
|
|
87
|
-
raise Informative, "当前目录不是工程目录,不能编译"
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
end
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
require 'fileutils'
|
|
2
|
-
|
|
3
|
-
module Pindo
|
|
4
|
-
class Command
|
|
5
|
-
class Dev < Command
|
|
6
|
-
class Debug < Dev
|
|
7
|
-
|
|
8
|
-
include Appselect
|
|
9
|
-
|
|
10
|
-
include XcodeCertHelper
|
|
11
|
-
|
|
12
|
-
# 命令的简要说明 - 更新证书并设置工程
|
|
13
|
-
self.summary = '更新证书并使用新证书设置工程'
|
|
14
|
-
|
|
15
|
-
# 命令的详细说明,包含用法示例
|
|
16
|
-
self.description = <<-DESC
|
|
17
|
-
更新证书并使用新证书设置工程。
|
|
18
|
-
|
|
19
|
-
支持功能:
|
|
20
|
-
|
|
21
|
-
* 自动更新证书
|
|
22
|
-
|
|
23
|
-
* 自动设置工程证书
|
|
24
|
-
|
|
25
|
-
* 支持开发和发布证书
|
|
26
|
-
|
|
27
|
-
* 支持iOS和macOS平台
|
|
28
|
-
|
|
29
|
-
使用示例:
|
|
30
|
-
|
|
31
|
-
$ pindo dev debug # 使用开发证书
|
|
32
|
-
|
|
33
|
-
$ pindo dev debug --deploy # 使用发布bundle id
|
|
34
|
-
|
|
35
|
-
$ pindo dev debug --adhoc # 使用adhoc证书
|
|
36
|
-
|
|
37
|
-
$ pindo dev debug --macos # 使用macOS证书
|
|
38
|
-
DESC
|
|
39
|
-
|
|
40
|
-
# 命令的参数列表
|
|
41
|
-
self.arguments = [
|
|
42
|
-
# 暂无参数
|
|
43
|
-
]
|
|
44
|
-
|
|
45
|
-
# 命令的选项列表
|
|
46
|
-
def self.options
|
|
47
|
-
[
|
|
48
|
-
['--deploy', '使用发布bundle id(默认使用开发bundle id)'],
|
|
49
|
-
['--adhoc', '使用adhoc证书(默认使用dev证书)'],
|
|
50
|
-
['--macos', '使用macOS平台证书'],
|
|
51
|
-
].concat(super)
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def initialize(argv)
|
|
55
|
-
@args_adhoc_flag = argv.flag?('adhoc', false)
|
|
56
|
-
@args_deploy_flag = argv.flag?('deploy', false)
|
|
57
|
-
@args_macos_flag = argv.flag?('macos', false)
|
|
58
|
-
super
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
def run
|
|
63
|
-
|
|
64
|
-
mainapp_bundleid= nil
|
|
65
|
-
if @args_deploy_flag
|
|
66
|
-
mainapp_bundleid = get_selected_deploy_bundleid()
|
|
67
|
-
else
|
|
68
|
-
mainapp_bundleid = get_selected_dev_bundleid()
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
args_temp = []
|
|
72
|
-
args_temp << mainapp_bundleid
|
|
73
|
-
Pindo::Command::Deploy::Pullconfig::run(args_temp)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
project_dir = Dir.pwd
|
|
77
|
-
Dir.chdir(project_dir)
|
|
78
|
-
config_json_file = File.join(project_dir,"config.json")
|
|
79
|
-
# 处理entitlements配置
|
|
80
|
-
Pindo::XcodeBuildConfig.update_entitlements_config(project_dir: project_dir, config_file: config_json_file)
|
|
81
|
-
|
|
82
|
-
args_temp = []
|
|
83
|
-
if @args_adhoc_flag
|
|
84
|
-
args_temp << "--adhoc"
|
|
85
|
-
else
|
|
86
|
-
args_temp << "--dev"
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
project_fullname = Dir.glob(File.join(project_dir, "/*.xcodeproj")).max_by {|f| File.mtime(f)}
|
|
92
|
-
if !project_fullname.nil?
|
|
93
|
-
project_obj = Xcodeproj::Project.open(project_fullname)
|
|
94
|
-
project_build_platform = project_obj.root_object.build_configuration_list.get_setting("SDKROOT")["Release"]
|
|
95
|
-
if !project_build_platform.nil? && project_build_platform.eql?("macosx")
|
|
96
|
-
@args_macos_flag = true
|
|
97
|
-
end
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
if @args_macos_flag
|
|
101
|
-
args_temp << "--macos"
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
Pindo::Command::Deploy::Cert::run(args_temp)
|
|
105
|
-
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
require_relative 'android_dev_build_task'
|
|
2
|
-
|
|
3
|
-
module Pindo
|
|
4
|
-
module TaskSystem
|
|
5
|
-
# Android Release 模式构建任务
|
|
6
|
-
# 使用 Release 模式编译 Android 工程
|
|
7
|
-
class AndroidReleaseBuildTask < AndroidDevBuildTask
|
|
8
|
-
def initialize(options = {})
|
|
9
|
-
super(options)
|
|
10
|
-
@mode = :release
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
protected
|
|
14
|
-
|
|
15
|
-
def build_task_name
|
|
16
|
-
"构建 APK (Release)"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
private
|
|
20
|
-
|
|
21
|
-
# 构建 Android 工程(覆盖父类方法)
|
|
22
|
-
def build_android_project
|
|
23
|
-
android_build_helper = Pindo::AndroidBuildHelper.share_instance
|
|
24
|
-
# 第二个参数 false 表示 release 模式
|
|
25
|
-
android_build_helper.auto_build_apk(@project_path, false)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
require_relative 'ios_dev_build_task'
|
|
2
|
-
|
|
3
|
-
module Pindo
|
|
4
|
-
module TaskSystem
|
|
5
|
-
# iOS AdHoc 模式构建任务
|
|
6
|
-
# 使用 AdHoc 证书编译 iOS 工程
|
|
7
|
-
class IosAdhocBuildTask < IosDevBuildTask
|
|
8
|
-
def initialize(options = {})
|
|
9
|
-
super(options)
|
|
10
|
-
@mode = :adhoc
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
protected
|
|
14
|
-
|
|
15
|
-
def build_task_name
|
|
16
|
-
"构建 IPA (AdHoc)"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
private
|
|
20
|
-
|
|
21
|
-
# 配置证书(覆盖父类方法)
|
|
22
|
-
def configure_certificate
|
|
23
|
-
detect_macos_platform
|
|
24
|
-
|
|
25
|
-
args_temp = ['--adhoc']
|
|
26
|
-
args_temp << '--macos' if @macos_flag
|
|
27
|
-
|
|
28
|
-
# 如果有 Unity 根目录路径,需要从那里读取 config.json
|
|
29
|
-
if @unity_root_path
|
|
30
|
-
config_path = File.join(@unity_root_path, 'config.json')
|
|
31
|
-
if File.exist?(config_path)
|
|
32
|
-
args_temp << config_path
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
# 切换到 iOS 工程目录,确保 Cert::run 能找到 xcodeproj
|
|
37
|
-
Dir.chdir(@project_path) do
|
|
38
|
-
Pindo::Command::Deploy::Cert::run(args_temp)
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
# 编译 iOS 工程(覆盖父类方法)
|
|
43
|
-
def build_ios_project
|
|
44
|
-
Dir.chdir(@project_path)
|
|
45
|
-
|
|
46
|
-
args_temp = ['--adhoc']
|
|
47
|
-
args_temp << '--macos' if @macos_flag
|
|
48
|
-
|
|
49
|
-
Pindo::Command::Deploy::Build::run(args_temp)
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
require_relative 'ios_dev_build_task'
|
|
2
|
-
|
|
3
|
-
module Pindo
|
|
4
|
-
module TaskSystem
|
|
5
|
-
# iOS Release 模式构建任务
|
|
6
|
-
# 使用 Distribution/App Store 证书编译 iOS 工程
|
|
7
|
-
class IosReleaseBuildTask < IosDevBuildTask
|
|
8
|
-
def initialize(options = {})
|
|
9
|
-
super(options)
|
|
10
|
-
@mode = :release
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
protected
|
|
14
|
-
|
|
15
|
-
def build_task_name
|
|
16
|
-
"构建 IPA (Release)"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
private
|
|
20
|
-
|
|
21
|
-
# 配置证书(覆盖父类方法)
|
|
22
|
-
def configure_certificate
|
|
23
|
-
detect_macos_platform
|
|
24
|
-
|
|
25
|
-
args_temp = ['--deploy']
|
|
26
|
-
args_temp << '--macos' if @macos_flag
|
|
27
|
-
|
|
28
|
-
# 如果有 Unity 根目录路径,需要从那里读取 config.json
|
|
29
|
-
if @unity_root_path
|
|
30
|
-
config_path = File.join(@unity_root_path, 'config.json')
|
|
31
|
-
if File.exist?(config_path)
|
|
32
|
-
args_temp << config_path
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
# 切换到 iOS 工程目录,确保 Cert::run 能找到 xcodeproj
|
|
37
|
-
Dir.chdir(@project_path) do
|
|
38
|
-
Pindo::Command::Deploy::Cert::run(args_temp)
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
# 编译 iOS 工程(覆盖父类方法)
|
|
43
|
-
def build_ios_project
|
|
44
|
-
Dir.chdir(@project_path)
|
|
45
|
-
|
|
46
|
-
args_temp = ['--deploy']
|
|
47
|
-
args_temp << '--macos' if @macos_flag
|
|
48
|
-
|
|
49
|
-
Pindo::Command::Deploy::Build::run(args_temp)
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
module Pindo
|
|
4
|
-
module AppConfigOptions
|
|
5
|
-
|
|
6
|
-
attr_accessor :args_bundle_id
|
|
7
|
-
|
|
8
|
-
def initialize(argv)
|
|
9
|
-
@args_bundle_id = argv.option('a')
|
|
10
|
-
super
|
|
11
|
-
@additional_args = argv.remainder!
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def validate!
|
|
15
|
-
super
|
|
16
|
-
|
|
17
|
-
if @args_bundle_id.nil?
|
|
18
|
-
say "You need input a bundle id"
|
|
19
|
-
@args_bundle_id = ask('Bundle Id : ') || nil
|
|
20
|
-
end
|
|
21
|
-
help! 'You need input a bundle id' if @args_bundle_id.nil? || @args_bundle_id.empty?
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|