Documentation
¶
Index ¶
- func DefaultExportOptionsPathForArchive(archivePath string) string
- func GetConsistentMarketingVersion(ctx context.Context, opts GetVersionOptions) (string, error)
- func InferArchivePlatform(archivePath string) (string, error)
- func IsDirectUploadMode(exportOptionsPlistPath string) bool
- func IsExportDestinationUsageError(err error) bool
- func PreflightExport(ctx context.Context) error
- func PreflightExportDestination(ipaPath string, overwrite, directUpload bool) error
- func SupportsBuildStatusBundleID(ctx context.Context) bool
- func UniqueDiagnosticDetails(values []string) []string
- func UniqueExportOptionsPathForArchive(archivePath string) (string, error)
- func ValidateBumpVersion(ctx context.Context, opts BumpVersionOptions) error
- func ValidateExportDestination(ipaPath string, overwrite, directUpload bool) error
- func ValidateSetVersion(opts SetVersionOptions) error
- type ArchiveOptions
- type ArchiveResult
- type BuildStatusOptions
- type BuildStatusResult
- type BumpType
- type BumpVersionOptions
- type BumpVersionResult
- type ExportOptions
- type ExportOptionsGenerateOptions
- type ExportOptionsGenerateResult
- type ExportResult
- type GetVersionOptions
- type SetVersionOptions
- type SetVersionResult
- type ValidateOptions
- type ValidateResult
- type VersionChange
- type VersionInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultExportOptionsPathForArchive ¶ added in v1.260722.0
DefaultExportOptionsPathForArchive returns the archive-adjacent default path used when an explicit ExportOptions.plist was not supplied.
func GetConsistentMarketingVersion ¶ added in v1.260722.0
func GetConsistentMarketingVersion(ctx context.Context, opts GetVersionOptions) (string, error)
GetConsistentMarketingVersion resolves one marketing version across the full selected mutation scope.
func InferArchivePlatform ¶
InferArchivePlatform returns the App Store platform for the archived app by reading the embedded app Info.plist inside the .xcarchive.
func IsDirectUploadMode ¶
IsDirectUploadMode reports whether ExportOptions.plist uploads directly to App Store Connect instead of producing a local IPA artifact.
func IsExportDestinationUsageError ¶ added in v1.260722.0
IsExportDestinationUsageError reports whether destination preflight failed because of deterministic CLI input rather than a filesystem access error.
func PreflightExport ¶ added in v1.260722.0
PreflightExport verifies that local Xcode export tooling is available before callers perform any preparatory filesystem mutation.
func PreflightExportDestination ¶ added in v1.260722.0
PreflightExportDestination validates an IPA destination and proves its parent writable with a transient probe. Export repeats the check before the final mutation.
func SupportsBuildStatusBundleID ¶
SupportsBuildStatusBundleID reports whether the current altool help output advertises a dedicated --bundle-id flag for build-status lookups.
func UniqueDiagnosticDetails ¶
func UniqueExportOptionsPathForArchive ¶ added in v1.260722.0
UniqueExportOptionsPathForArchive returns a non-existing archive-adjacent path suitable for implicit generation. The random suffix prevents an implicit export from replacing a user-managed ExportOptions.plist.
func ValidateBumpVersion ¶ added in v1.260722.0
func ValidateBumpVersion(ctx context.Context, opts BumpVersionOptions) error
ValidateBumpVersion verifies the complete local bump, including a consistent baseline across the selected configurations, without changing any files. Callers can use it before remote work such as resolving a build number.
func ValidateExportDestination ¶ added in v1.260722.0
ValidateExportDestination checks an IPA destination without mutating the filesystem.
func ValidateSetVersion ¶ added in v1.260722.0
func ValidateSetVersion(opts SetVersionOptions) error
ValidateSetVersion verifies that a version mutation is locally valid and editable without changing any files. Callers can use it before remote work.
Types ¶
type ArchiveOptions ¶
type ArchiveResult ¶
type ArchiveResult struct {
ArchivePath string `json:"archive_path"`
BundleID string `json:"bundle_id,omitempty"`
Version string `json:"version,omitempty"`
BuildNumber string `json:"build_number,omitempty"`
Scheme string `json:"scheme,omitempty"`
Configuration string `json:"configuration,omitempty"`
}
func Archive ¶
func Archive(ctx context.Context, opts ArchiveOptions) (*ArchiveResult, error)
type BuildStatusOptions ¶
type BuildStatusResult ¶
type BuildStatusResult struct {
BuildStatus string `json:"build_status,omitempty"`
DeliveryUUID string `json:"delivery_uuid,omitempty"`
ImportStatus string `json:"import_status,omitempty"`
ProcessingErrors []string `json:"processing_errors,omitempty"`
}
func BuildStatus ¶
func BuildStatus(ctx context.Context, opts BuildStatusOptions) (*BuildStatusResult, error)
type BumpType ¶
type BumpType string
BumpType represents the version component to increment.
func ParseBumpType ¶
ParseBumpType validates and normalizes a bump type string.
type BumpVersionOptions ¶
type BumpVersionOptions struct {
ProjectDir string
Target string
Configuration string
BumpType BumpType
BuildNumber string
}
BumpVersionOptions configures the bump operation.
type BumpVersionResult ¶
type BumpVersionResult struct {
BumpType string `json:"bumpType"`
OldVersion string `json:"oldVersion,omitempty"`
NewVersion string `json:"newVersion,omitempty"`
OldBuild string `json:"oldBuild,omitempty"`
NewBuild string `json:"newBuild,omitempty"`
ProjectDir string `json:"projectDir"`
Target string `json:"target,omitempty"`
Configuration string `json:"configuration,omitempty"`
ChangedFiles []string `json:"changedFiles"`
Changes []VersionChange `json:"changes"`
}
BumpVersionResult holds the result of a bump operation.
func BumpVersion ¶
func BumpVersion(ctx context.Context, opts BumpVersionOptions) (*BumpVersionResult, error)
BumpVersion increments the version or build number.
type ExportOptions ¶
type ExportOptionsGenerateOptions ¶ added in v1.260722.0
type ExportOptionsGenerateOptions struct {
ArchivePath string
OutputPath string
Destination string
SigningStyle string
TeamID string
Overwrite bool
}
ExportOptionsGenerateOptions describes an ExportOptions.plist generated from an existing Xcode archive.
type ExportOptionsGenerateResult ¶ added in v1.260722.0
type ExportOptionsGenerateResult struct {
Path string `json:"path"`
ArchivePath string `json:"archive_path"`
Method string `json:"method"`
Destination string `json:"destination"`
SigningStyle string `json:"signing_style"`
TeamID string `json:"team_id,omitempty"`
SigningCertificate string `json:"signing_certificate,omitempty"`
ProvisioningProfiles map[string]string `json:"provisioning_profiles,omitempty"`
Overwritten bool `json:"overwritten"`
}
ExportOptionsGenerateResult describes the generated ExportOptions.plist.
func GenerateExportOptions ¶ added in v1.260722.0
func GenerateExportOptions(ctx context.Context, opts ExportOptionsGenerateOptions) (*ExportOptionsGenerateResult, error)
GenerateExportOptions creates a validated ExportOptions.plist without changing signing assets. Automatic signing only reads archive metadata; manual signing may inspect locally installed profiles and identities.
type ExportResult ¶
type ExportResult struct {
ArchivePath string `json:"archive_path"`
IPAPath string `json:"ipa_path"`
BundleID string `json:"bundle_id,omitempty"`
Version string `json:"version,omitempty"`
BuildNumber string `json:"build_number,omitempty"`
}
func Export ¶
func Export(ctx context.Context, opts ExportOptions) (*ExportResult, error)
type GetVersionOptions ¶ added in v1.260722.0
GetVersionOptions configures a structured version read.
type SetVersionOptions ¶
type SetVersionOptions struct {
ProjectDir string
Target string
Configuration string
Version string
BuildNumber string
}
SetVersionOptions configures what to set.
type SetVersionResult ¶
type SetVersionResult struct {
Version string `json:"version,omitempty"`
BuildNumber string `json:"buildNumber,omitempty"`
ProjectDir string `json:"projectDir"`
Target string `json:"target,omitempty"`
Configuration string `json:"configuration,omitempty"`
ChangedFiles []string `json:"changedFiles"`
Changes []VersionChange `json:"changes"`
}
SetVersionResult holds the result of a set operation.
func SetVersion ¶
func SetVersion(ctx context.Context, opts SetVersionOptions) (*SetVersionResult, error)
SetVersion sets the marketing version and/or build number.
type ValidateOptions ¶
type ValidateResult ¶
func Validate ¶
func Validate(ctx context.Context, opts ValidateOptions) (*ValidateResult, error)
type VersionChange ¶ added in v1.260722.0
type VersionChange struct {
Setting string `json:"setting"`
OldValue string `json:"oldValue,omitempty"`
NewValue string `json:"newValue"`
Target string `json:"target,omitempty"`
Configuration string `json:"configuration,omitempty"`
Path string `json:"path"`
Source string `json:"source"`
}
VersionChange describes one concrete build-setting mutation.
type VersionInfo ¶
type VersionInfo struct {
Version string `json:"version"`
BuildNumber string `json:"buildNumber"`
ProjectDir string `json:"projectDir"`
Target string `json:"target,omitempty"`
Configuration string `json:"configuration,omitempty"`
VersionSource string `json:"versionSource,omitempty"`
BuildNumberSource string `json:"buildNumberSource,omitempty"`
Modern bool `json:"modern"` // true if project uses MARKETING_VERSION build setting
}
VersionInfo holds the current version and build number from an Xcode project.
func GetVersion ¶
func GetVersion(ctx context.Context, projectDir, target string) (*VersionInfo, error)
GetVersion reads the current marketing version and build number.
func GetVersionScoped ¶ added in v1.260722.0
func GetVersionScoped(ctx context.Context, opts GetVersionOptions) (*VersionInfo, error)
GetVersionScoped reads version values from a selected Xcode target and configuration.