Class: Fastlane::Actions::AddGitTagAction

Inherits:
Fastlane::Action show all
Defined in:
lib/fastlane/actions/add_git_tag.rb

Overview

Adds a git tag to the current commit

Class Method Summary collapse

Methods inherited from Fastlane::Action

action_name, authors, details, method_missing, other_action, output, return_value, sh, step_text

Class Method Details

.authorObject



45
46
47
# File 'lib/fastlane/actions/add_git_tag.rb', line 45

def self.author
  "lmirosevic"
end

.available_optionsObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/fastlane/actions/add_git_tag.rb', line 19

def self.available_options
  [
    FastlaneCore::ConfigItem.new(key: :tag,
                                 env_name: "FL_GIT_TAG_TAG",
                                 description: "Define your own tag text. This will replace all other parameters",
                                 optional: true),
    FastlaneCore::ConfigItem.new(key: :grouping,
                                 env_name: "FL_GIT_TAG_GROUPING",
                                 description: "Is used to keep your tags organised under one 'folder'. Defaults to 'builds'",
                                 default_value: 'builds'),
    FastlaneCore::ConfigItem.new(key: :prefix,
                                 env_name: "FL_GIT_TAG_PREFIX",
                                 description: "Anything you want to put in front of the version number (e.g. 'v')",
                                 default_value: ''),
    FastlaneCore::ConfigItem.new(key: :build_number,
                                 env_name: "FL_GIT_TAG_BUILD_NUMBER",
                                 description: "The build number. Defaults to the result of increment_build_number if you\'re using it",
                                 default_value: Actions.lane_context[Actions::SharedValues::BUILD_NUMBER],
                                 is_string: false),
    FastlaneCore::ConfigItem.new(key: :message,
                                 env_name: "FL_GIT_TAG_MESSAGE",
                                 description: "The tag message. Defaults to the tag's name",
                                 optional: true)
  ]
end

.descriptionObject



15
16
17
# File 'lib/fastlane/actions/add_git_tag.rb', line 15

def self.description
  "This will add an annotated git tag to the current branch"
end

.is_supported?(platform) ⇒ Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/fastlane/actions/add_git_tag.rb', line 49

def self.is_supported?(platform)
  true
end

.run(options) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/fastlane/actions/add_git_tag.rb', line 5

def self.run(options)
  lane_name = Actions.lane_context[Actions::SharedValues::LANE_NAME].delete(' ') # no spaces allowed

  tag = options[:tag] || "#{options[:grouping]}/#{lane_name}/#{options[:prefix]}#{options[:build_number]}"
  message = options[:message] || "#{tag} (fastlane)"

  UI.message "Adding git tag '#{tag}' 🎯."
  Actions.sh("git tag -am #{message.shellescape} '#{tag}'")
end