step

package
v0.0.0-...-1bc853e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2025 License: MIT Imports: 44 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// Output tools
	XcbeautifyTool = "xcbeautify"
	XcodebuildTool = "xcodebuild"
	XcprettyTool   = "xcpretty"
)

Variables

This section is empty.

Functions

func ExportDSYMs

func ExportDSYMs(dsymDir string, dsyms []string) error

ExportDSYMs ...

func ExportOutputDir

func ExportOutputDir(cmdFactory command.Factory, sourceDirPth, destinationDirPth, envKey string, logger log.Logger) error

ExportOutputDir ...

func ExportOutputDirAsZip

func ExportOutputDirAsZip(cmdFactory command.Factory, sourceDirPth, destinationPth, envKey string, logger log.Logger) error

ExportOutputDirAsZip ...

func ExportOutputFile

func ExportOutputFile(cmdFactory command.Factory, sourcePth, destinationPth, envKey string) error

ExportOutputFile ...

func ExportOutputFileContent

func ExportOutputFileContent(cmdFactory command.Factory, content, destinationPth, envKey string) error

ExportOutputFileContent ...

func OpenArchivableProject

func OpenArchivableProject(pth, schemeName, configurationName string) (*xcodeproj.XcodeProj, *xcscheme.Scheme, string, error)

Types

type Config

type Config struct {
	Inputs
	DestinationPlatform         Platform
	XcodeMajorVersion           int
	XcodebuildAdditionalOptions []string
	CodesignManager             *codesign.Manager // nil if automatic code signing is "off"
}

Config ...

type ExportOpts

type ExportOpts struct {
	OutputDir      string
	ArtifactName   string
	ExportAllDsyms bool

	Archive *xcarchive.IosArchive

	ExportOptionsPath string
	IPAExportDir      string

	XcodebuildArchiveLog       string
	XcodebuildExportArchiveLog string
	IDEDistrubutionLogsDir     string
}

ExportOpts ...

type Inputs

type Inputs struct {
	ProjectPath  string `env:"project_path,file"`
	Scheme       string `env:"scheme,required"`
	ExportMethod string `env:"distribution_method,opt[app-store,ad-hoc,enterprise,development]"`
	Platform     string `env:"platform,opt[detect,iOS,watchOS,tvOS,visionOS]"`

	// xcodebuild configuration
	Configuration      string `env:"configuration"`
	XcconfigContent    string `env:"xcconfig_content"`
	PerformCleanAction bool   `env:"perform_clean_action,opt[yes,no]"`
	XcodebuildOptions  string `env:"xcodebuild_options"`

	// xcodebuild log formatting
	LogFormatter string `env:"log_formatter,opt[xcbeautify,xcodebuild,xcpretty]"`

	// Automatic code signing
	CodeSigningAuthSource           string          `env:"automatic_code_signing,opt[off,api-key,apple-id]"`
	RegisterTestDevices             bool            `env:"register_test_devices,opt[yes,no]"`
	TestDeviceListPath              string          `env:"test_device_list_path"`
	MinDaysProfileValid             int             `env:"min_profile_validity,required"`
	CertificateURLList              string          `env:"certificate_url_list"`
	CertificatePassphraseList       stepconf.Secret `env:"passphrase_list"`
	KeychainPath                    string          `env:"keychain_path"`
	KeychainPassword                stepconf.Secret `env:"keychain_password"`
	FallbackProvisioningProfileURLs string          `env:"fallback_provisioning_profile_url_list"`

	// IPA export configuration
	ExportDevelopmentTeam         string `env:"export_development_team"`
	CompileBitcode                bool   `env:"compile_bitcode,opt[yes,no]"`
	UploadBitcode                 bool   `env:"upload_bitcode,opt[yes,no]"`
	ICloudContainerEnvironment    string `env:"icloud_container_environment"`
	TestFlightInternalTestingOnly bool   `env:"testflight_internal_testing_only,opt[yes,no]"`
	ExportOptionsPlistContent     string `env:"export_options_plist_content"`

	// Step Output Export configuration
	OutputDir      string `env:"output_dir,required"`
	ExportAllDsyms bool   `env:"export_all_dsyms,opt[yes,no]"`
	ArtifactName   string `env:"artifact_name"`

	// Caching
	CacheLevel string `env:"cache_level,opt[none,swift_packages]"`

	// App Store Connect connection override
	APIKeyPath              stepconf.Secret `env:"api_key_path"`
	APIKeyID                string          `env:"api_key_id"`
	APIKeyIssuerID          string          `env:"api_key_issuer_id"`
	APIKeyEnterpriseAccount bool            `env:"api_key_enterprise_account,opt[yes,no]"`

	// Debugging
	VerboseLog bool `env:"verbose_log,opt[yes,no]"`

	// Hidden inputs
	BuildURL      string          `env:"BITRISE_BUILD_URL"`
	BuildAPIToken stepconf.Secret `env:"BITRISE_BUILD_API_TOKEN"`
}

Inputs ...

type Platform

type Platform string

func BuildableTargetPlatform

func BuildableTargetPlatform(
	xcodeProj *xcodeproj.XcodeProj,
	scheme *xcscheme.Scheme,
	configurationName string,
	additionalOptions []string,
	provider TargetBuildSettingsProvider,
	logger log.Logger,
) (Platform, error)

type RunOpts

type RunOpts struct {
	// Shared
	ProjectPath         string
	Scheme              string
	DestinationPlatform Platform
	Configuration       string
	XcodeMajorVersion   int
	ArtifactName        string

	// Code signing, nil if automatic code signing is "off"
	CodesignManager *codesign.Manager

	// Archive
	PerformCleanAction          bool
	XcconfigContent             string
	XcodebuildAdditionalOptions []string
	CacheLevel                  string

	// IPA Export
	CustomExportOptionsPlistContent string
	ExportMethod                    string
	TestFlightInternalTestingOnly   bool
	ICloudContainerEnvironment      string
	ExportDevelopmentTeam           string
	UploadBitcode                   bool
	CompileBitcode                  bool
}

RunOpts ...

type RunResult

type RunResult struct {
	Archive      *xcarchive.IosArchive
	ArtifactName string

	ExportOptionsPath string
	IPAExportDir      string

	XcodebuildArchiveLog       string
	XcodebuildExportArchiveLog string
	IDEDistrubutionLogsDir     string
}

RunResult ...

type TargetBuildSettingsProvider

type TargetBuildSettingsProvider interface {
	TargetBuildSettings(xcodeProj *xcodeproj.XcodeProj, target, configuration string, customOptions ...string) (serialized.Object, error)
}

type XcodeBuild

type XcodeBuild struct {
}

func (XcodeBuild) TargetBuildSettings

func (x XcodeBuild) TargetBuildSettings(xcodeProj *xcodeproj.XcodeProj, target, configuration string, customOptions ...string) (serialized.Object, error)

type XcodebuildArchiveConfigParser

type XcodebuildArchiveConfigParser struct {
	// contains filtered or unexported fields
}

func NewXcodeArchiveConfigParser

func NewXcodeArchiveConfigParser(stepInputParser stepconf.InputParser, xcodeVersionReader xcodeversion.Reader, fileManager fileutil.FileManager, cmdFactory command.Factory, logger log.Logger) XcodebuildArchiveConfigParser

func (XcodebuildArchiveConfigParser) ProcessInputs

func (s XcodebuildArchiveConfigParser) ProcessInputs() (Config, error)

ProcessInputs ...

type XcodebuildArchiver

type XcodebuildArchiver struct {
	// contains filtered or unexported fields
}

XcodebuildArchiver ...

func NewXcodebuildArchiver

func NewXcodebuildArchiver(xcodecommandRunner xcodecommand.Runner, logFormatter string, xcodeVersionReader xcodeversion.Reader, pathProvider pathutil.PathProvider, pathChecker pathutil.PathChecker, pathModifier pathutil.PathModifier, fileManager fileutil.FileManager, cmdFactory command.Factory, logger log.Logger) XcodebuildArchiver

NewXcodebuildArchiver ...

func (*XcodebuildArchiver) EnsureDependencies

func (s *XcodebuildArchiver) EnsureDependencies()

EnsureDependencies ...

func (XcodebuildArchiver) ExportOutput

func (s XcodebuildArchiver) ExportOutput(opts ExportOpts) error

ExportOutput ...

func (XcodebuildArchiver) Run

func (s XcodebuildArchiver) Run(opts RunOpts) (RunResult, error)

Run ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL