Documentation
¶
Index ¶
- Constants
- func AppInfoLocalizationFilePath(rootDir, locale string) (string, error)
- func ApplyWritePlans(plans []WritePlan) error
- func EncodeAppInfoLocalization(loc AppInfoLocalization) ([]byte, error)
- func EncodeVersionLocalization(loc VersionLocalization) ([]byte, error)
- func MetadataApplyCommand() *ffcli.Command
- func MetadataCommand() *ffcli.Command
- func MetadataKeywordsApplyCommand() *ffcli.Command
- func MetadataKeywordsCommand() *ffcli.Command
- func MetadataKeywordsDiffCommand() *ffcli.Command
- func MetadataKeywordsImportCommand() *ffcli.Command
- func MetadataKeywordsLocalizeCommand() *ffcli.Command
- func MetadataKeywordsPlanCommand() *ffcli.Command
- func MetadataKeywordsSyncCommand() *ffcli.Command
- func MetadataPullCommand() *ffcli.Command
- func MetadataPushCommand() *ffcli.Command
- func MetadataValidateCommand() *ffcli.Command
- func VersionLocalizationFilePath(rootDir, version, locale string) (string, error)
- type AppInfoLocalization
- type ApplyAction
- type MetadataKeywordFileResult
- type MetadataKeywordIssue
- type MetadataKeywordSideDataArtifact
- type MetadataKeywordSideDataRecord
- type MetadataKeywordsImportResult
- type MetadataKeywordsLocalizeResult
- type MetadataKeywordsPlanResult
- type MetadataKeywordsSyncResult
- type MetadataKeywordsWarning
- type PlanAPICall
- type PlanItem
- type PullResult
- type PushExecutionOptions
- type PushPlanResult
- type ValidateIssue
- type ValidateResult
- type ValidationIssue
- type ValidationOptions
- type VersionLocalization
- type WritePlan
Constants ¶
const (
// DefaultLocale is the fastlane-compatible fallback locale token.
DefaultLocale = "default"
)
Variables ¶
This section is empty.
Functions ¶
func AppInfoLocalizationFilePath ¶
AppInfoLocalizationFilePath resolves canonical app-info file path.
func ApplyWritePlans ¶
ApplyWritePlans writes plans in deterministic order.
func EncodeAppInfoLocalization ¶
func EncodeAppInfoLocalization(loc AppInfoLocalization) ([]byte, error)
EncodeAppInfoLocalization returns deterministic canonical JSON.
func EncodeVersionLocalization ¶
func EncodeVersionLocalization(loc VersionLocalization) ([]byte, error)
EncodeVersionLocalization returns deterministic canonical JSON.
func MetadataApplyCommand ¶ added in v1.260404.0
MetadataApplyCommand returns the canonical apply alias for metadata push.
func MetadataCommand ¶
MetadataCommand returns the metadata command group.
func MetadataKeywordsApplyCommand ¶
MetadataKeywordsApplyCommand returns the keywords apply subcommand.
func MetadataKeywordsCommand ¶
MetadataKeywordsCommand returns the canonical metadata keywords subtree.
func MetadataKeywordsDiffCommand ¶
MetadataKeywordsDiffCommand returns the keywords diff subcommand.
func MetadataKeywordsImportCommand ¶
MetadataKeywordsImportCommand returns the keywords import subcommand.
func MetadataKeywordsLocalizeCommand ¶
MetadataKeywordsLocalizeCommand returns the keywords localize subcommand.
func MetadataKeywordsPlanCommand ¶
MetadataKeywordsPlanCommand returns the keywords plan subcommand.
func MetadataKeywordsSyncCommand ¶
MetadataKeywordsSyncCommand returns the keywords sync subcommand.
func MetadataPullCommand ¶
MetadataPullCommand returns the metadata pull subcommand.
func MetadataPushCommand ¶
MetadataPushCommand returns the metadata push subcommand.
func MetadataValidateCommand ¶
MetadataValidateCommand returns the metadata validate subcommand.
func VersionLocalizationFilePath ¶
VersionLocalizationFilePath resolves canonical version file path.
Types ¶
type AppInfoLocalization ¶
type AppInfoLocalization struct {
Name string `json:"name,omitempty"`
Subtitle string `json:"subtitle,omitempty"`
PrivacyPolicyURL string `json:"privacyPolicyUrl,omitempty"`
PrivacyChoicesURL string `json:"privacyChoicesUrl,omitempty"`
PrivacyPolicyText string `json:"privacyPolicyText,omitempty"`
}
AppInfoLocalization is the canonical app-info localization schema.
func DecodeAppInfoLocalization ¶
func DecodeAppInfoLocalization(data []byte) (AppInfoLocalization, error)
DecodeAppInfoLocalization strictly decodes canonical app-info JSON.
func NormalizeAppInfoLocalization ¶
func NormalizeAppInfoLocalization(loc AppInfoLocalization) AppInfoLocalization
NormalizeAppInfoLocalization trims all field values.
func ReadAppInfoLocalizationFile ¶
func ReadAppInfoLocalizationFile(path string) (AppInfoLocalization, error)
ReadAppInfoLocalizationFile reads and decodes canonical app-info JSON.
type ApplyAction ¶
type ApplyAction struct {
Scope string `json:"scope"`
Locale string `json:"locale"`
Version string `json:"version,omitempty"`
Action string `json:"action"`
LocalizationID string `json:"localizationId,omitempty"`
}
ApplyAction represents one executed mutation action.
type MetadataKeywordFileResult ¶
type MetadataKeywordFileResult struct {
Locale string `json:"locale"`
File string `json:"file"`
Action string `json:"action"`
Reason string `json:"reason,omitempty"`
KeywordField string `json:"keywordField,omitempty"`
KeywordCount int `json:"keywordCount,omitempty"`
DuplicateCount int `json:"duplicateCount,omitempty"`
SkippedDuplicates []string `json:"skippedDuplicates,omitempty"`
}
MetadataKeywordFileResult describes one local keyword file change.
type MetadataKeywordIssue ¶
type MetadataKeywordIssue struct {
Locale string `json:"locale,omitempty"`
File string `json:"file,omitempty"`
Severity string `json:"severity"`
Message string `json:"message"`
KeywordField string `json:"keywordField,omitempty"`
Length int `json:"length,omitempty"`
Limit int `json:"limit,omitempty"`
}
MetadataKeywordIssue describes one preview-time validation issue.
type MetadataKeywordSideDataArtifact ¶
type MetadataKeywordSideDataArtifact struct {
Dir string `json:"dir"`
Version string `json:"version"`
Input string `json:"input"`
Format string `json:"format"`
Records []MetadataKeywordSideDataRecord `json:"records"`
}
MetadataKeywordSideDataArtifact is the persisted side-data report format.
type MetadataKeywordSideDataRecord ¶
type MetadataKeywordSideDataRecord struct {
Locale string `json:"locale,omitempty"`
Keywords []string `json:"keywords,omitempty"`
Fields map[string]any `json:"fields"`
}
MetadataKeywordSideDataRecord captures non-publishable research fields from imports.
type MetadataKeywordsImportResult ¶
type MetadataKeywordsImportResult struct {
Dir string `json:"dir"`
Version string `json:"version"`
Input string `json:"input"`
Format string `json:"format"`
DryRun bool `json:"dryRun"`
Valid bool `json:"valid"`
DetectedLocales []string `json:"detectedLocales"`
Results []MetadataKeywordFileResult `json:"results"`
Issues []MetadataKeywordIssue `json:"issues,omitempty"`
SideDataRecordCount int `json:"sideDataRecordCount,omitempty"`
SideDataReportPath string `json:"sideDataReportPath,omitempty"`
}
MetadataKeywordsImportResult describes one import run.
type MetadataKeywordsLocalizeResult ¶
type MetadataKeywordsLocalizeResult struct {
Dir string `json:"dir"`
Version string `json:"version"`
FromLocale string `json:"fromLocale"`
DryRun bool `json:"dryRun"`
Valid bool `json:"valid"`
DetectedLocales []string `json:"detectedLocales"`
Results []MetadataKeywordFileResult `json:"results"`
Issues []MetadataKeywordIssue `json:"issues,omitempty"`
SideDataRecordCount int `json:"sideDataRecordCount,omitempty"`
SideDataReportPath string `json:"sideDataReportPath,omitempty"`
}
MetadataKeywordsLocalizeResult describes one localization-copy run.
type MetadataKeywordsPlanResult ¶
type MetadataKeywordsPlanResult struct {
AppID string `json:"appId"`
Version string `json:"version"`
VersionID string `json:"versionId"`
Dir string `json:"dir"`
DryRun bool `json:"dryRun"`
Applied bool `json:"applied,omitempty"`
Adds []PlanItem `json:"adds"`
Updates []PlanItem `json:"updates"`
APICalls []PlanAPICall `json:"apiCalls,omitempty"`
Actions []ApplyAction `json:"actions,omitempty"`
Warnings []MetadataKeywordsWarning `json:"warnings,omitempty"`
}
MetadataKeywordsPlanResult describes keyword-only remote changes.
type MetadataKeywordsSyncResult ¶
type MetadataKeywordsSyncResult struct {
Import MetadataKeywordsImportResult `json:"import"`
Plan *MetadataKeywordsPlanResult `json:"plan,omitempty"`
}
MetadataKeywordsSyncResult combines import and remote planning/apply.
type MetadataKeywordsWarning ¶
type MetadataKeywordsWarning struct {
Action string `json:"action"`
Locale string `json:"locale"`
Message string `json:"message"`
MissingFields []string `json:"missingFields,omitempty"`
}
MetadataKeywordsWarning highlights submit-readiness risk during keyword creates.
type PlanAPICall ¶
type PlanAPICall struct {
Operation string `json:"operation"`
Scope string `json:"scope"`
Count int `json:"count"`
}
PlanAPICall is an estimated API call summary for the plan.
type PlanItem ¶
type PlanItem struct {
Key string `json:"key"`
Scope string `json:"scope"`
Locale string `json:"locale"`
Version string `json:"version,omitempty"`
Field string `json:"field"`
Reason string `json:"reason"`
From string `json:"from,omitempty"`
To string `json:"to,omitempty"`
}
PlanItem represents one deterministic metadata change entry.
type PullResult ¶
type PullResult struct {
AppID string `json:"appId"`
AppInfoID string `json:"appInfoId"`
Version string `json:"version"`
VersionID string `json:"versionId"`
Dir string `json:"dir"`
Includes []string `json:"includes"`
Locales []string `json:"locales,omitempty"`
FileCount int `json:"fileCount"`
Files []string `json:"files"`
}
PullResult is the structured output artifact for metadata pull.
type PushExecutionOptions ¶
type PushExecutionOptions struct {
CommandName string
AppID string
AppInfoID string
Version string
Platform string
Dir string
Include string
DryRun bool
AllowDeletes bool
Confirm bool
}
PushExecutionOptions controls metadata push planning and apply behavior.
type PushPlanResult ¶
type PushPlanResult struct {
AppID string `json:"appId"`
AppInfoID string `json:"appInfoId"`
Version string `json:"version"`
VersionID string `json:"versionId"`
Dir string `json:"dir"`
DryRun bool `json:"dryRun"`
Applied bool `json:"applied,omitempty"`
Includes []string `json:"includes"`
Adds []PlanItem `json:"adds"`
Updates []PlanItem `json:"updates"`
Deletes []PlanItem `json:"deletes"`
APICalls []PlanAPICall `json:"apiCalls,omitempty"`
Actions []ApplyAction `json:"actions,omitempty"`
}
PushPlanResult is the push dry-run output artifact.
func ExecutePush ¶
func ExecutePush(ctx context.Context, opts PushExecutionOptions) (PushPlanResult, error)
ExecutePush computes and optionally applies a metadata push plan.
This is the command-agnostic execution path used by metadata push and release orchestration.
type ValidateIssue ¶
type ValidateIssue struct {
Scope string `json:"scope"`
File string `json:"file"`
Locale string `json:"locale,omitempty"`
Version string `json:"version,omitempty"`
Field string `json:"field"`
Severity string `json:"severity"`
Message string `json:"message"`
Length int `json:"length,omitempty"`
Limit int `json:"limit,omitempty"`
}
ValidateIssue represents one metadata validation issue.
type ValidateResult ¶
type ValidateResult struct {
Dir string `json:"dir"`
FilesScanned int `json:"filesScanned"`
Issues []ValidateIssue `json:"issues"`
ErrorCount int `json:"errorCount"`
WarningCount int `json:"warningCount"`
Valid bool `json:"valid"`
}
ValidateResult is the structured result for metadata validate.
type ValidationIssue ¶
ValidationIssue describes a schema or content validation issue.
func ValidateAppInfoLocalization ¶
func ValidateAppInfoLocalization(loc AppInfoLocalization, opts ValidationOptions) []ValidationIssue
ValidateAppInfoLocalization validates required app-info localization fields.
func ValidateVersionLocalization ¶
func ValidateVersionLocalization(loc VersionLocalization) []ValidationIssue
ValidateVersionLocalization validates required version localization fields.
type ValidationOptions ¶
ValidationOptions controls required-field validation.
type VersionLocalization ¶
type VersionLocalization struct {
Description string `json:"description,omitempty"`
Keywords string `json:"keywords,omitempty"`
MarketingURL string `json:"marketingUrl,omitempty"`
PromotionalText string `json:"promotionalText,omitempty"`
SupportURL string `json:"supportUrl,omitempty"`
WhatsNew string `json:"whatsNew,omitempty"`
}
VersionLocalization is the canonical version localization schema.
func DecodeVersionLocalization ¶
func DecodeVersionLocalization(data []byte) (VersionLocalization, error)
DecodeVersionLocalization strictly decodes canonical version JSON.
func NormalizeVersionLocalization ¶
func NormalizeVersionLocalization(loc VersionLocalization) VersionLocalization
NormalizeVersionLocalization trims all field values.
func ReadVersionLocalizationFile ¶
func ReadVersionLocalizationFile(path string) (VersionLocalization, error)
ReadVersionLocalizationFile reads and decodes canonical version JSON.
type WritePlan ¶
WritePlan represents one deterministic file write operation.
func BuildWritePlans ¶
func BuildWritePlans( rootDir string, appInfoLocalizations map[string]AppInfoLocalization, versionLocalizations map[string]map[string]VersionLocalization, ) ([]WritePlan, error)
BuildWritePlans creates deterministic write plans for canonical metadata files.