class Fastlane::Actions::AppReleaseAction

Public Class Methods

authors() click to toggle source
# File lib/fastlane-craft/app_release.rb, line 91
def self.authors
  %w[sroik]
end
available_options() click to toggle source
# File lib/fastlane-craft/app_release.rb, line 29
def self.available_options
  [
    FastlaneCore::ConfigItem.new(
      key: :schemes,
      description: 'schemes',
      type: Array,
      verify_block: proc do |value|
        msg = 'invalid or empty schemes'
        UI.user_error!(msg) if value.empty?
      end
    ),
    FastlaneCore::ConfigItem.new(
      key: :project,
      description: 'path to xcodeproj',
      default_value: Dir.glob('*.xcodeproj').first,
      verify_block: proc do |value|
        msg = 'xcodeproj not found'
        UI.user_error!(msg) unless File.directory?(value)
      end
    ),
    FastlaneCore::ConfigItem.new(
      key: :branch,
      description: 'branch',
      default_value: 'master',
      verify_block: proc do |value|
        UI.user_error!('invalid branch') if value.empty?
      end
    ),
    FastlaneCore::ConfigItem.new(
      key: :version,
      description: 'app version (like 1.1.0)',
      optional: true
    ),
    FastlaneCore::ConfigItem.new(
      key: :build_version,
      description: 'build version (like 23)',
      optional: true
    ),
    FastlaneCore::ConfigItem.new(
      key: :target_suffix,
      description: 'Specific target suffix',
      optional: true
    )
  ]
end
category() click to toggle source
# File lib/fastlane-craft/app_release.rb, line 99
def self.category
  :notifications
end
description() click to toggle source

@!group Documentation

# File lib/fastlane-craft/app_release.rb, line 21
def self.description
  'Release app according to the version'
end
details() click to toggle source
# File lib/fastlane-craft/app_release.rb, line 25
def self.details
  'Release app according to the version'
end
example_code() click to toggle source
# File lib/fastlane-craft/app_release.rb, line 75
def self.example_code
  [
    'app_release(
      schemes: ["AppScheme", "AppExtension"]
    )',
    'app_release(
      schemes: ["AppScheme", "AppExtension"],
      project: "/path/to/xcodeproj",
      branch: "master",
      version: "2.3.0",
      build_version: "23",
      target_suffix: "_sfx"
    )'
  ]
end
is_supported?(platform) click to toggle source
# File lib/fastlane-craft/app_release.rb, line 95
def self.is_supported?(platform)
  platform == :ios
end
run(params) click to toggle source
# File lib/fastlane-craft/app_release.rb, line 6
def self.run(params)
  FastlaneCraft::AppReleaseManager.new(
    params[:schemes],
    params[:project],
    params[:branch],
    params[:version],
    params[:build_version],
    params[:target_suffix]
  ).release
end