Class: Fastlane::Action

Inherits:
Object
  • Object
show all
Defined in:
lib/fastlane/action.rb

Direct Known Subclasses

Fastlane::Actions::AdbAction, Fastlane::Actions::AdbDevicesAction, Fastlane::Actions::AddGitTagAction, Fastlane::Actions::AppaloosaAction, Fastlane::Actions::AppetizeAction, Fastlane::Actions::AppetizeViewingUrlGeneratorAction, Fastlane::Actions::AppiumAction, Fastlane::Actions::AppledocAction, Fastlane::Actions::AppstoreAction, Fastlane::Actions::ApteligentAction, Fastlane::Actions::ArtifactoryAction, Fastlane::Actions::BackupFileAction, Fastlane::Actions::BackupXcarchiveAction, Fastlane::Actions::BadgeAction, Fastlane::Actions::BuildAndUploadToAppetizeAction, Fastlane::Actions::BundleInstallAction, Fastlane::Actions::CarthageAction, Fastlane::Actions::CertAction, Fastlane::Actions::ChangelogFromGitCommitsAction, Fastlane::Actions::ChatworkAction, Fastlane::Actions::CleanBuildArtifactsAction, Fastlane::Actions::CleanCocoapodsCacheAction, Fastlane::Actions::ClearDerivedDataAction, Fastlane::Actions::ClipboardAction, Fastlane::Actions::ClocAction, Fastlane::Actions::CocoapodsAction, Fastlane::Actions::CommitVersionBumpAction, Fastlane::Actions::CopyArtifactsAction, Fastlane::Actions::CrashlyticsAction, Fastlane::Actions::CreateKeychainAction, Fastlane::Actions::CreatePullRequestAction, Fastlane::Actions::DangerAction, Fastlane::Actions::DebugAction, Fastlane::Actions::DefaultPlatformAction, Fastlane::Actions::DeleteKeychainAction, Fastlane::Actions::DeliverAction, Fastlane::Actions::DeploygateAction, Fastlane::Actions::DotgpgEnvironmentAction, Fastlane::Actions::DownloadAction, Fastlane::Actions::DownloadDsymsAction, Fastlane::Actions::DsymZipAction, Fastlane::Actions::EnsureGitBranchAction, Fastlane::Actions::EnsureGitStatusCleanAction, Fastlane::Actions::EnsureNoDebugCodeAction, Fastlane::Actions::EnsureXcodeVersionAction, Fastlane::Actions::ErbAction, Fastlane::Actions::FastlaneVersionAction, Fastlane::Actions::FlockAction, Fastlane::Actions::FrameitAction, Fastlane::Actions::GcovrAction, Fastlane::Actions::GetBuildNumberAction, Fastlane::Actions::GetBuildNumberRepositoryAction, Fastlane::Actions::GetGithubReleaseAction, Fastlane::Actions::GetInfoPlistValueAction, Fastlane::Actions::GetIpaInfoPlistValueAction, Fastlane::Actions::GetVersionNumberAction, Fastlane::Actions::GitAddAction, Fastlane::Actions::GitBranchAction, Fastlane::Actions::GitCommitAction, Fastlane::Actions::GitPullAction, Fastlane::Actions::GitTagExistsAction, Fastlane::Actions::GradleAction, Fastlane::Actions::GymAction, Fastlane::Actions::HgAddTagAction, Fastlane::Actions::HgCommitVersionBumpAction, Fastlane::Actions::HgEnsureCleanStatusAction, Fastlane::Actions::HgPushAction, Fastlane::Actions::HipchatAction, Fastlane::Actions::HockeyAction, Fastlane::Actions::IftttAction, Fastlane::Actions::ImportAction, Fastlane::Actions::ImportCertificateAction, Fastlane::Actions::ImportFromGitAction, Fastlane::Actions::IncrementBuildNumberAction, Fastlane::Actions::IncrementVersionNumberAction, Fastlane::Actions::InstallOnDeviceAction, Fastlane::Actions::InstallXcodePluginAction, Fastlane::Actions::InstallrAction, Fastlane::Actions::IpaAction, Fastlane::Actions::IsCiAction, Fastlane::Actions::JazzyAction, Fastlane::Actions::JiraAction, Fastlane::Actions::LaneContextAction, Fastlane::Actions::LastGitCommitAction, Fastlane::Actions::LastGitTagAction, Fastlane::Actions::LatestTestflightBuildNumberAction, Fastlane::Actions::LcovAction, Fastlane::Actions::MailgunAction, Fastlane::Actions::MakeChangelogFromJenkinsAction, Fastlane::Actions::MatchAction, Fastlane::Actions::NexusUploadAction, Fastlane::Actions::NotificationAction, Fastlane::Actions::NotifyAction, Fastlane::Actions::NumberOfCommitsAction, Fastlane::Actions::OclintAction, Fastlane::Actions::OnesignalAction, Fastlane::Actions::OptOutUsageAction, Fastlane::Actions::PemAction, Fastlane::Actions::PilotAction, Fastlane::Actions::PodLibLintAction, Fastlane::Actions::PodPushAction, Fastlane::Actions::PodioItemAction, Fastlane::Actions::ProduceAction, Fastlane::Actions::PromptAction, Fastlane::Actions::PushGitTagsAction, Fastlane::Actions::PushToGitRemoteAction, Fastlane::Actions::PutsAction, Fastlane::Actions::ReadPodspecAction, Fastlane::Actions::RecreateSchemesAction, Fastlane::Actions::RegisterDevicesAction, Fastlane::Actions::ResetGitRepoAction, Fastlane::Actions::ResetSimulatorsAction, Fastlane::Actions::ResignAction, Fastlane::Actions::RestoreFileAction, Fastlane::Actions::RocketAction, Fastlane::Actions::RsyncAction, Fastlane::Actions::S3Action, Fastlane::Actions::SayAction, Fastlane::Actions::ScanAction, Fastlane::Actions::ScpAction, Fastlane::Actions::ScreengrabAction, Fastlane::Actions::SetBuildNumberRepositoryAction, Fastlane::Actions::SetChangelogAction, Fastlane::Actions::SetGithubReleaseAction, Fastlane::Actions::SetInfoPlistValueAction, Fastlane::Actions::SetPodKeyAction, Fastlane::Actions::SetupJenkinsAction, Fastlane::Actions::SighAction, Fastlane::Actions::SkipDocsAction, Fastlane::Actions::SlackAction, Fastlane::Actions::SlatherAction, Fastlane::Actions::SnapshotAction, Fastlane::Actions::SonarAction, Fastlane::Actions::SplunkmintAction, Fastlane::Actions::SshAction, Fastlane::Actions::SupplyAction, Fastlane::Actions::SwiftlintAction, Fastlane::Actions::TeamIdAction, Fastlane::Actions::TeamNameAction, Fastlane::Actions::TestfairyAction, Fastlane::Actions::TestflightAction, Fastlane::Actions::TryoutsAction, Fastlane::Actions::TwitterAction, Fastlane::Actions::TypetalkAction, Fastlane::Actions::UnlockKeychainAction, Fastlane::Actions::UpdateAppGroupIdentifiersAction, Fastlane::Actions::UpdateAppIdentifierAction, Fastlane::Actions::UpdateFastlaneAction, Fastlane::Actions::UpdateIcloudContainerIdentifiersAction, Fastlane::Actions::UpdateInfoPlistAction, Fastlane::Actions::UpdateProjectCodeSigningAction, Fastlane::Actions::UpdateProjectProvisioningAction, Fastlane::Actions::UpdateProjectTeamAction, Fastlane::Actions::UpdateUrbanAirshipConfigurationAction, Fastlane::Actions::UpdateUrlSchemesAction, Fastlane::Actions::UploadSymbolsToCrashlyticsAction, Fastlane::Actions::UploadSymbolsToSentryAction, Fastlane::Actions::VerifyBuildAction, Fastlane::Actions::VerifyPodKeysAction, Fastlane::Actions::VerifyXcodeAction, Fastlane::Actions::VersionBumpPodspecAction, Fastlane::Actions::VersionGetPodspecAction, Fastlane::Actions::XcarchiveAction, Fastlane::Actions::XcbuildAction, Fastlane::Actions::XccleanAction, Fastlane::Actions::XcexportAction, Fastlane::Actions::XcodeInstallAction, Fastlane::Actions::XcodeSelectAction, Fastlane::Actions::XcodeServerGetAssetsAction, Fastlane::Actions::XcodebuildAction, Fastlane::Actions::XcovAction, Fastlane::Actions::XctestAction, Fastlane::Actions::XctoolAction, Fastlane::Actions::XcversionAction, Fastlane::Actions::ZipAction

Constant Summary collapse

AVAILABLE_CATEGORIES =
[
  :testing,
  :building,
  :screenshots,
  :project,
  :code_signing,
  :documentation,
  :beta,
  :push,
  :production,
  :source_control,
  :notifications,
  :deprecated,
  :misc
]

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.runnerObject

Returns the value of attribute runner.



22
23
24
# File 'lib/fastlane/action.rb', line 22

def runner
  @runner
end

Class Method Details

.action_nameObject

instead of “AddGitAction”, this will return “add_git” to print it to the user



107
108
109
# File 'lib/fastlane/action.rb', line 107

def self.action_name
  self.name.split('::').last.gsub('Action', '').fastlane_underscore
end

.authorObject



66
67
68
# File 'lib/fastlane/action.rb', line 66

def self.author
  nil
end

.authorsObject



70
71
72
# File 'lib/fastlane/action.rb', line 70

def self.authors
  nil
end

.available_optionsObject



37
38
39
40
41
42
43
44
# File 'lib/fastlane/action.rb', line 37

def self.available_options
  # [
  #   FastlaneCore::ConfigItem.new(key: :ipa_path,
  #                                env_name: "CRASHLYTICS_IPA_PATH",
  #                                description: "Value Description")
  # ]
  nil
end

.categoryObject

Documentation category, availabe values defined in AVAILABLE_CATEGORIES



102
103
104
# File 'lib/fastlane/action.rb', line 102

def self.category
  :undefined
end

.descriptionObject

Implement in subclasses



29
30
31
# File 'lib/fastlane/action.rb', line 29

def self.description
  "No description provided".red
end

.detailsObject



33
34
35
# File 'lib/fastlane/action.rb', line 33

def self.details
  nil # this is your change to provide a more detailed description of this action
end

.example_codeObject

Returns an array of string of sample usage of this action



86
87
88
# File 'lib/fastlane/action.rb', line 86

def self.example_code
  nil
end

.is_supported?(platform) ⇒ Boolean

Returns:

  • (Boolean)


74
75
76
77
78
79
80
81
82
83
# File 'lib/fastlane/action.rb', line 74

def self.is_supported?(platform)
  # you can do things like
  #  true
  #
  #  platform == :ios
  #
  #  [:ios, :mac].include?(platform)
  #
  UI.crash!("Implementing `is_supported?` for all actions is mandatory. Please update #{self}")
end

.lane_contextObject



111
112
113
# File 'lib/fastlane/action.rb', line 111

def self.lane_context
  Actions.lane_context
end

.method_missing(method_sym, *arguments, &_block) ⇒ Object

Allows the user to call an action from an action



116
117
118
119
# File 'lib/fastlane/action.rb', line 116

def self.method_missing(method_sym, *arguments, &_block)
  UI.error("Unknown method '#{method_sym}'")
  UI.user_error!("To call another action from an action use `OtherAction.#{method_sym}` instead")
end

.other_actionObject

Return a new instance of the OtherAction action We need to do this, since it has to have access to the runner object



124
125
126
# File 'lib/fastlane/action.rb', line 124

def self.other_action
  return OtherAction.new(self.runner)
end

.outputObject



46
47
48
49
50
51
52
# File 'lib/fastlane/action.rb', line 46

def self.output
  # Return the keys you provide on the shared area
  # [
  #   ['IPA_OUTPUT_PATH', 'The path to the newly generated ipa file']
  # ]
  nil
end

.return_valueObject



54
55
56
57
# File 'lib/fastlane/action.rb', line 54

def self.return_value
  # Describes what this method returns
  nil
end

.run(params) ⇒ Object



25
26
# File 'lib/fastlane/action.rb', line 25

def self.run(params)
end

.sample_return_valueObject



59
60
61
62
63
64
# File 'lib/fastlane/action.rb', line 59

def self.sample_return_value
  # Very optional
  # You can return a sample return value, that might be returned by the actual action
  # This is currently only used when generating the documentation and running its tests
  nil
end

.sh(command, print_command: true, print_command_output: true, error_callback: nil) ⇒ Object

to allow a simple ‘sh` in the custom actions



97
98
99
# File 'lib/fastlane/action.rb', line 97

def self.sh(command, print_command: true, print_command_output: true, error_callback: nil)
  Fastlane::Actions.sh_control_output(command, print_command: print_command, print_command_output: print_command_output, error_callback: error_callback)
end

.step_textObject

Is printed out in the Steps: output in the terminal Return nil if you don’t want any logging in the terminal/JUnit Report



92
93
94
# File 'lib/fastlane/action.rb', line 92

def self.step_text
  self.action_name
end