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.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pindo/base/git_handler.rb +692 -0
  3. data/lib/pindo/command/android/autobuild.rb +2 -2
  4. data/lib/pindo/command/appstore/adhocbuild.rb +258 -311
  5. data/lib/pindo/command/appstore/autobuild.rb +203 -0
  6. data/lib/pindo/command/appstore/autoresign.rb +35 -17
  7. data/lib/pindo/command/appstore/bundleid.rb +120 -0
  8. data/lib/pindo/command/appstore/cert.rb +212 -0
  9. data/lib/pindo/command/appstore/configproj.rb +81 -0
  10. data/lib/pindo/command/{deploy → appstore}/getitcinfo.rb +76 -91
  11. data/lib/pindo/command/appstore/iap.rb +788 -24
  12. data/lib/pindo/command/appstore/initconfig.rb +105 -0
  13. data/lib/pindo/command/appstore/itcapp.rb +95 -13
  14. data/lib/pindo/command/{deploy → appstore}/itcinfo.rb +90 -118
  15. data/lib/pindo/command/appstore/pem.rb +136 -0
  16. data/lib/pindo/command/appstore/pullconfig.rb +99 -0
  17. data/lib/pindo/command/appstore/quswark.rb +87 -0
  18. data/lib/pindo/command/appstore/quswauth.rb +67 -0
  19. data/lib/pindo/command/appstore/tag.rb +77 -0
  20. data/lib/pindo/command/appstore.rb +13 -1
  21. data/lib/pindo/command/env/quarkenv.rb +11 -13
  22. data/lib/pindo/command/env/swarkenv.rb +11 -16
  23. data/lib/pindo/command/ios/autobuild.rb +64 -43
  24. data/lib/pindo/command/ios/autoresign.rb +34 -19
  25. data/lib/pindo/command/ios/build.rb +9 -6
  26. data/lib/pindo/command/ios/cert.rb +27 -20
  27. data/lib/pindo/command/jps/upload.rb +3 -3
  28. data/lib/pindo/command/unity/autobuild.rb +2 -2
  29. data/lib/pindo/command/utils/clearcert.rb +2 -17
  30. data/lib/pindo/command/{deploy → utils}/fabric.rb +13 -13
  31. data/lib/pindo/command/utils/renewcert.rb +62 -38
  32. data/lib/pindo/command/utils/renewproj.rb +0 -3
  33. data/lib/pindo/command/{deploy → utils}/updateconfig.rb +6 -7
  34. data/lib/pindo/command/utils.rb +2 -0
  35. data/lib/pindo/command/web/autobuild.rb +2 -2
  36. data/lib/pindo/command.rb +30 -3
  37. data/lib/pindo/config/build_info_manager.rb +176 -0
  38. data/lib/pindo/config/ios_config_parser.rb +404 -0
  39. data/lib/pindo/module/android/android_config_helper.rb +9 -5
  40. data/lib/pindo/module/appstore/bundleid_helper.rb +349 -0
  41. data/lib/pindo/module/appstore/itcapp_helper.rb +228 -0
  42. data/lib/pindo/module/build/build_helper.rb +12 -0
  43. data/lib/pindo/module/build/swark_helper.rb +116 -77
  44. data/lib/pindo/module/cert/cert_helper.rb +74 -0
  45. data/lib/pindo/module/cert/pem_helper.rb +72 -0
  46. data/lib/pindo/module/cert/{xcodecerthelper.rb → xcode_cert_helper.rb} +208 -6
  47. data/lib/pindo/module/task/model/appstore/appstore_task.rb +18 -0
  48. data/lib/pindo/module/task/model/appstore/appstore_upload_ipa_task.rb +151 -0
  49. data/lib/pindo/module/task/model/appstore/appstore_upload_metadata_task.rb +250 -0
  50. data/lib/pindo/module/task/model/appstore/appstore_upload_screenshot_task.rb +276 -0
  51. data/lib/pindo/module/task/model/build/android_build_adhoc_task.rb +210 -0
  52. data/lib/pindo/module/task/model/build/{android_dev_build_task.rb → android_build_dev_task.rb} +2 -2
  53. data/lib/pindo/module/task/model/build/android_build_gplay_task.rb +210 -0
  54. data/lib/pindo/module/task/model/build/android_build_task.rb +13 -0
  55. data/lib/pindo/module/task/model/build/ios_build_adhoc_task.rb +197 -0
  56. data/lib/pindo/module/task/model/build/ios_build_appstore_task.rb +367 -0
  57. data/lib/pindo/module/task/model/build/{ios_dev_build_task.rb → ios_build_dev_task.rb} +37 -27
  58. data/lib/pindo/module/task/model/build/ios_build_task.rb +13 -0
  59. data/lib/pindo/module/task/model/build/{web_dev_build_task.rb → web_build_dev_task.rb} +1 -1
  60. data/lib/pindo/module/task/model/build_task.rb +15 -12
  61. data/lib/pindo/module/task/model/jps_resign_task.rb +185 -0
  62. data/lib/pindo/module/task/model/{upload_task.rb → jps_upload_task.rb} +3 -3
  63. data/lib/pindo/module/task/model/unity_export_task.rb +3 -1
  64. data/lib/pindo/module/unity/unity_helper.rb +2 -1
  65. data/lib/pindo/module/xcode/ipa_resign_helper.rb +210 -0
  66. data/lib/pindo/module/xcode/{xcodeappconfig.rb → xcode_app_config.rb} +79 -0
  67. data/lib/pindo/module/xcode/xcode_build_config.rb +152 -17
  68. data/lib/pindo/module/xcode/xcode_build_helper.rb +151 -1
  69. data/lib/pindo/module/xcode/xcode_swark_helper.rb +341 -0
  70. data/lib/pindo/options/core/global_options_state.rb +268 -0
  71. data/lib/pindo/options/core/option_configuration.rb +206 -0
  72. data/lib/pindo/options/core/option_initializer.rb +51 -0
  73. data/lib/pindo/options/core/option_item.rb +144 -0
  74. data/lib/pindo/options/core/option_value_parser.rb +54 -0
  75. data/lib/pindo/options/groups/build_options.rb +60 -0
  76. data/lib/pindo/options/groups/jps_options.rb +70 -0
  77. data/lib/pindo/options/groups/option_group.rb +73 -0
  78. data/lib/pindo/options/helpers/bundleid_selector.rb +103 -0
  79. data/lib/pindo/options/options.rb +14 -0
  80. data/lib/pindo/version.rb +1 -1
  81. metadata +49 -40
  82. data/lib/pindo/command/appstore/import.rb +0 -259
  83. data/lib/pindo/command/deploy/build.rb +0 -250
  84. data/lib/pindo/command/deploy/bundleid.rb +0 -259
  85. data/lib/pindo/command/deploy/cert.rb +0 -202
  86. data/lib/pindo/command/deploy/check.rb +0 -93
  87. data/lib/pindo/command/deploy/configproj.rb +0 -120
  88. data/lib/pindo/command/deploy/confusecode.rb +0 -262
  89. data/lib/pindo/command/deploy/confuseproj.rb +0 -122
  90. data/lib/pindo/command/deploy/iap.rb +0 -826
  91. data/lib/pindo/command/deploy/initconfig.rb +0 -138
  92. data/lib/pindo/command/deploy/itcapp.rb +0 -146
  93. data/lib/pindo/command/deploy/pem.rb +0 -55
  94. data/lib/pindo/command/deploy/pullconfig.rb +0 -56
  95. data/lib/pindo/command/deploy/pushconfig.rb +0 -93
  96. data/lib/pindo/command/deploy/quswark.rb +0 -156
  97. data/lib/pindo/command/deploy/quswauth.rb +0 -76
  98. data/lib/pindo/command/deploy/reportbug.rb +0 -145
  99. data/lib/pindo/command/deploy/resign.rb +0 -300
  100. data/lib/pindo/command/deploy/tag.rb +0 -108
  101. data/lib/pindo/command/deploy/uploadipa.rb +0 -73
  102. data/lib/pindo/command/deploy.rb +0 -42
  103. data/lib/pindo/command/dev/autobuild.rb +0 -117
  104. data/lib/pindo/command/dev/build.rb +0 -94
  105. data/lib/pindo/command/dev/debug.rb +0 -112
  106. data/lib/pindo/module/task/model/build/android_release_build_task.rb +0 -29
  107. data/lib/pindo/module/task/model/build/ios_adhoc_build_task.rb +0 -53
  108. data/lib/pindo/module/task/model/build/ios_release_build_task.rb +0 -53
  109. data/lib/pindo/options/appconfigoptions.rb +0 -24
  110. 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
@@ -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