class Fastlane::Actions::FivVersionAction

Public Class Methods

authors() click to toggle source
# File lib/fastlane/plugin/fivethree_ionic/actions/fiv_version.rb, line 138
def self.authors
  # So no one will ever forget your contribution to fastlane :) You are awesome btw!
  %w[garygrossgarten]
end
available_options() click to toggle source
# File lib/fastlane/plugin/fivethree_ionic/actions/fiv_version.rb, line 49
def self.available_options
  # Define all options your action supports.

  # Below a few examples
  [
    FastlaneCore::ConfigItem.new(
      key: :ios,
      env_name: 'FIV_INCREMENT_BUILD_NO_IOS',
      description: 'Increment build no for ios',
      optional: false,
      type: Boolean
    ),
    FastlaneCore::ConfigItem.new(
      key: :pathToConfigXML,
      env_name: 'FIV_INCREMENT_BUILD_CONFIG',
      description: 'Path to the Cordova config.xml',
      optional: false,
      verify_block:
        proc do |value|
          unless File.exist?(value)
            UI.user_error!(
              'Couldnt find config.xml! Please change your path.'
            )
          end
        end,
      type: String
    ),
    FastlaneCore::ConfigItem.new(
      key: :local_branch,
      env_name: 'FL_GIT_PUSH_LOCAL_BRANCH',
      description:
        'The local branch to push from. Defaults to the current branch',
      default_value_dynamic: true,
      optional: true
    ),
    FastlaneCore::ConfigItem.new(
      key: :remote_branch,
      env_name: 'FL_GIT_PUSH_REMOTE_BRANCH',
      description:
        'The remote branch to push to. Defaults to the local branch',
      default_value_dynamic: true,
      optional: true
    ),
    FastlaneCore::ConfigItem.new(
      key: :force,
      env_name: 'FL_PUSH_GIT_FORCE',
      description: 'Force push to remote',
      is_string: false,
      default_value: false
    ),
    FastlaneCore::ConfigItem.new(
      key: :tags,
      env_name: 'FL_PUSH_GIT_TAGS',
      description: 'Whether tags are pushed to remote',
      is_string: false,
      default_value: true
    ),
    FastlaneCore::ConfigItem.new(
      key: :remote,
      env_name: 'FL_GIT_PUSH_REMOTE',
      description: 'The remote to push to',
      default_value: 'origin'
    ),
    FastlaneCore::ConfigItem.new(
      key: :skip_version,
      env_name: 'FIV_SKIP_VERSION',
      description: 'CI flag to skip updating the version',
      optional: true,
      default_value: false,
      type: Boolean
    )
  ]
end
description() click to toggle source

@!group Documentation

# File lib/fastlane/plugin/fivethree_ionic/actions/fiv_version.rb, line 39
def self.description
  'A short description with <= 80 characters of what this action does'
end
details() click to toggle source
# File lib/fastlane/plugin/fivethree_ionic/actions/fiv_version.rb, line 43
def self.details
  # Optional:
  # this is your chance to provide a more detailed description of this action
  'You can use this action to do cool things...'
end
is_supported?(platform) click to toggle source
# File lib/fastlane/plugin/fivethree_ionic/actions/fiv_version.rb, line 143
def self.is_supported?(platform)
  platform == :android
end
output() click to toggle source
# File lib/fastlane/plugin/fivethree_ionic/actions/fiv_version.rb, line 123
def self.output
  # Define the shared values you are going to provide
  # Example
  [
    [
      'FIV_BUILD_IONIC_ANDROID_CUSTOM_VALUE',
      'A description of what this value contains'
    ]
  ]
end
return_value() click to toggle source
# File lib/fastlane/plugin/fivethree_ionic/actions/fiv_version.rb, line 134
def self.return_value
  # If your method provides a return value, you can describe here what it does
end
run(params) click to toggle source
# File lib/fastlane/plugin/fivethree_ionic/actions/fiv_version.rb, line 9
def self.run(params)
  version_and_build_no =
    Fastlane::Actions::FivUpdateVersionAndBuildNoAction.run(
      ios: params[:ios],
      pathToConfigXML: params[:pathToConfigXML],
      skip_version: params[:skip_version]
    )

  Fastlane::Actions::FivBumpVersionAction.run(
    message:
      "fastlane(#{params[:ios] ? 'ios' : 'android'}): build #{
        version_and_build_no[:build_no]
      }, version: #{version_and_build_no[:version]}"
  )

  Fastlane::Actions::PushToGitRemoteAction.run(
    remote: params[:remote],
    local_branch: params[:local_branch],
    remote_branch: params[:remote_branch],
    force: params[:force],
    tags: params[:tags]
  )

  return version_and_build_no
end