Class: Pindo::Command::Web::Autobuild
- Inherits:
-
Pindo::Command::Web
- Object
- CLAide::Command
- Pindo::Command
- Pindo::Command::Web
- Pindo::Command::Web::Autobuild
- Defined in:
- lib/pindo/command/web/autobuild.rb
Constant Summary
Constants inherited from Pindo::Command
DEFAULT_OPTIONS, DEFAULT_ROOT_OPTIONS
Instance Attribute Summary
Attributes inherited from Pindo::Command
Class Method Summary collapse
-
.options ⇒ Object
命令的选项列表.
-
.use_cache? ⇒ Boolean
启用缓存机制.
Instance Method Summary collapse
-
#initialize(argv) ⇒ Autobuild
constructor
A new instance of Autobuild.
- #run ⇒ Object
- #validate! ⇒ Object
Methods included from Githelper
#add_branch, #add_tag, #add_tag_with_check, #clone_clang_repo, #clone_devclang_repo, #clone_pindo_common_config_repo, #clone_pindo_env_config_repo, #clong_buildconfig_repo, #get_repo_base_name, #getcode_to_dir, #git_addpush_repo, #git_latest_commit_id, #git_root_directory, #is_git_directory?, #local_branch_exists?, #local_tag_exists?, #prepare_gitenv, #process_need_add_files, #remote_branch_exists?, #remote_tag_exists?, #remove_branch, #remove_tag
Methods included from Executable
capture_command, #executable, execute_command, which, which!
Methods included from Appselect
#all_deploy_bundle_name, #all_dev_bundle_name, #all_dev_bundleid, #all_itc_bundleid, #all_release_bundleid, #all_tool_bundleid, #deploy_build_setting_json, #dev_build_setting_json, #get_deploy_repo_with_modul_name, #get_deploy_setting_repo, #get_dev_setting_repo, #get_selected_deploy_bundle_name, #get_selected_deploy_bundleid, #get_selected_dev_bundle_name, #get_selected_dev_bundleid, #get_setting_bundleid_withdir, #load_setting, #select_main_app
Methods inherited from Pindo::Command
Methods included from Funlog::Mixin
Methods included from Pindoconfig::Mixin
Constructor Details
#initialize(argv) ⇒ Autobuild
Returns a new instance of Autobuild.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/pindo/command/web/autobuild.rb', line 72 def initialize(argv) @args_deploy_flag = argv.flag?('deploy', false) @args_adhoc_flag = argv.flag?('adhoc', false) @args_upload_flag = argv.flag?('upload', false) @args_send_flag = argv.flag?('send', false) @args_proj_name = argv.option('proj') @args_bundle_id = argv.option('bundleid') @args_run_flag = argv.flag?('run', false) if @args_send_flag @args_upload_flag = true end super @additional_args = argv.remainder! end |
Class Method Details
.options ⇒ Object
命令的选项列表
58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/pindo/command/web/autobuild.rb', line 58 def self. [ ['--bundleid', '指定打包的bundleID'], # 指定上传到JPS的项目 ['--proj', '指定上传到测试平台的项目名称'], # 上传编译包 ['--upload', '上传编译后的ipa到测试平台'], # 发送通知 ['--send', '上传成功后发送测试通知'], # 编译完成后再本地打开webgl包 ['--run', '编译完成后再本地打开webgl包'] ].concat(super) end |
.use_cache? ⇒ Boolean
启用缓存机制
25 26 27 |
# File 'lib/pindo/command/web/autobuild.rb', line 25 def self.use_cache? true # 此命令启用缓存 end |
Instance Method Details
#run ⇒ Object
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/pindo/command/web/autobuild.rb', line 95 def run pindo_project_dir = Dir.pwd # 加载 JPS 配置(如果存在) context = Pindo::PindoContext.instance context.load_and_apply_jps_config(pindo_project_dir) # 确认并应用缓存(如果有) context.confirm_and_apply_cache # 准备配置 config = prepare_web_config(pindo_project_dir) # 创建并执行任务 tasks = make_build_task(config) # 添加到任务管理器并执行 task_manager = Pindo::TaskSystem::TaskManager.instance task_manager.clear_all tasks.each { |task| task_manager.add_task(task) } task_manager.start system "open #{pindo_project_dir}" # 可选运行 WebGL Pindo::Command::Web::Run.run([]) if @args_run_flag end |
#validate! ⇒ Object
90 91 92 93 |
# File 'lib/pindo/command/web/autobuild.rb', line 90 def validate! super end |