Class: Pindo::Command::Utils::Tag
- Inherits:
-
Pindo::Command::Utils
- Object
- CLAide::Command
- Pindo::Command
- Pindo::Command::Utils
- Pindo::Command::Utils::Tag
- Defined in:
- lib/pindo/command/utils/tag.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
命令的选项列表.
Instance Method Summary collapse
-
#initialize(argv) ⇒ Tag
constructor
A new instance of Tag.
- #run ⇒ Object
Methods inherited from Pindo::Command
Methods included from Funlog::Mixin
Methods included from Pindoconfig::Mixin
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!
Constructor Details
#initialize(argv) ⇒ Tag
Returns a new instance of Tag.
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/pindo/command/utils/tag.rb', line 49 def initialize(argv) @mode = argv.option('mode') || 'minor' @force_retag = argv.flag?('retag', false) @custom_tag = argv.option('tag') # 如果指定了自定义tag,不需要验证mode unless @custom_tag || ['major', 'minor', 'patch'].include?(@mode) raise Informative, "mode参数必须是 major, minor 或 patch" end super @additional_args = argv.remainder! end |
Class Method Details
.options ⇒ Object
命令的选项列表
41 42 43 44 45 46 47 |
# File 'lib/pindo/command/utils/tag.rb', line 41 def self. [ ['--mode', '指定版本号增加模式(major/minor/patch),默认minor'], ['--retag', '强制重新打最新的tag'], ['--tag', '直接指定tag版本号(如 1.1.3),会自动添加v前缀'] ].concat(super) end |
Instance Method Details
#run ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/pindo/command/utils/tag.rb', line 63 def run current_project_dir = Dir.pwd GitRepoHelper.share_instance.create_and_push_tag( project_dir: current_project_dir, mode: @mode, force_retag: @force_retag, custom_tag: @custom_tag, release_branch: 'master' ) end |