xcscheme

package
v1.0.19 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2024 License: MIT Imports: 10 Imported by: 10

Documentation

Overview

Example
scheme, err := Open("scheme.xcscheme")
if err != nil {
	panic(err)
}

fmt.Printf("archive action's default configuration name: %s\n", scheme.ArchiveAction.BuildConfiguration)

for _, entry := range scheme.BuildAction.BuildActionEntries {
	if entry.BuildForArchiving == "YES" {

	}

	if entry.BuildForTesting == "YES" {

	}

	targetContainerProjectPth, err := entry.BuildableReference.ReferencedContainerAbsPath("scheme_container_project.xcodeproj")
	if err != nil {
		panic(err)
	}

	fmt.Printf("target with id: %s can be found in project: %s\n", entry.BuildableReference.BlueprintIdentifier, targetContainerProjectPth)
}
Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsNotFoundError

func IsNotFoundError(err error) bool

IsNotFoundError reports whatever the given error is an instance of NotFoundError

Types

type AdditionalOptions

type AdditionalOptions struct {
}

AdditionalOptions ...

type AnalyzeAction

type AnalyzeAction struct {
	BuildConfiguration string `xml:"buildConfiguration,attr"`
}

AnalyzeAction ...

type ArchiveAction

type ArchiveAction struct {
	BuildConfiguration       string `xml:"buildConfiguration,attr"`
	RevealArchiveInOrganizer string `xml:"revealArchiveInOrganizer,attr"`
}

ArchiveAction ...

type BuildAction

type BuildAction struct {
	ParallelizeBuildables     string             `xml:"parallelizeBuildables,attr"`
	BuildImplicitDependencies string             `xml:"buildImplicitDependencies,attr"`
	BuildActionEntries        []BuildActionEntry `xml:"BuildActionEntries>BuildActionEntry"`
}

BuildAction ...

type BuildActionEntry

type BuildActionEntry struct {
	BuildForTesting   string `xml:"buildForTesting,attr"`
	BuildForRunning   string `xml:"buildForRunning,attr"`
	BuildForProfiling string `xml:"buildForProfiling,attr"`
	BuildForArchiving string `xml:"buildForArchiving,attr"`
	BuildForAnalyzing string `xml:"buildForAnalyzing,attr"`

	BuildableReference BuildableReference
}

BuildActionEntry ...

type BuildableProductRunnable

type BuildableProductRunnable struct {
	RunnableDebuggingMode string `xml:"runnableDebuggingMode,attr"`
	BuildableReference    BuildableReference
}

BuildableProductRunnable ...

type BuildableReference

type BuildableReference struct {
	BuildableIdentifier string `xml:"BuildableIdentifier,attr"`
	BlueprintIdentifier string `xml:"BlueprintIdentifier,attr"`
	BuildableName       string `xml:"BuildableName,attr"`
	BlueprintName       string `xml:"BlueprintName,attr"`
	ReferencedContainer string `xml:"ReferencedContainer,attr"`
}

BuildableReference ...

func (BuildableReference) IsAppReference

func (r BuildableReference) IsAppReference() bool

IsAppReference ...

func (BuildableReference) ReferencedContainerAbsPath

func (r BuildableReference) ReferencedContainerAbsPath(schemeContainerDir string) (string, error)

ReferencedContainerAbsPath ...

type LaunchAction

type LaunchAction struct {
	BuildConfiguration             string `xml:"buildConfiguration,attr"`
	SelectedDebuggerIdentifier     string `xml:"selectedDebuggerIdentifier,attr"`
	SelectedLauncherIdentifier     string `xml:"selectedLauncherIdentifier,attr"`
	LaunchStyle                    string `xml:"launchStyle,attr"`
	UseCustomWorkingDirectory      string `xml:"useCustomWorkingDirectory,attr"`
	IgnoresPersistentStateOnLaunch string `xml:"ignoresPersistentStateOnLaunch,attr"`
	DebugDocumentVersioning        string `xml:"debugDocumentVersioning,attr"`
	DebugServiceExtension          string `xml:"debugServiceExtension,attr"`
	AllowLocationSimulation        string `xml:"allowLocationSimulation,attr"`
	BuildableProductRunnable       BuildableProductRunnable
	AdditionalOptions              AdditionalOptions
}

LaunchAction ...

type MacroExpansion

type MacroExpansion struct {
	BuildableReference BuildableReference
}

MacroExpansion ...

type NotFoundError

type NotFoundError struct {
	Scheme    string
	Container string
}

NotFoundError represents that the given scheme was not found in the container

func (NotFoundError) Error

func (e NotFoundError) Error() string

Error implements the error interface

type ProfileAction

type ProfileAction struct {
	BuildConfiguration           string `xml:"buildConfiguration,attr"`
	ShouldUseLaunchSchemeArgsEnv string `xml:"shouldUseLaunchSchemeArgsEnv,attr"`
	SavedToolIdentifier          string `xml:"savedToolIdentifier,attr"`
	UseCustomWorkingDirectory    string `xml:"useCustomWorkingDirectory,attr"`
	DebugDocumentVersioning      string `xml:"debugDocumentVersioning,attr"`
	BuildableProductRunnable     BuildableProductRunnable
}

ProfileAction ...

type Scheme

type Scheme struct {
	// The last known Xcode version.
	LastUpgradeVersion string `xml:"LastUpgradeVersion,attr"`
	// The version of `.xcscheme` files supported.
	Version string `xml:"version,attr"`

	BuildAction   BuildAction
	TestAction    TestAction
	LaunchAction  LaunchAction
	ProfileAction ProfileAction
	AnalyzeAction AnalyzeAction
	ArchiveAction ArchiveAction

	Name     string `xml:"-"`
	Path     string `xml:"-"`
	IsShared bool   `xml:"-"`
}

Scheme ...

func Open

func Open(pth string) (Scheme, error)

Open ...

func (Scheme) AppBuildActionEntry

func (s Scheme) AppBuildActionEntry() (BuildActionEntry, bool)

AppBuildActionEntry ...

func (Scheme) DefaultTestPlan added in v1.0.9

func (s Scheme) DefaultTestPlan() *TestPlanReference

DefaultTestPlan ...

func (Scheme) IsTestable

func (s Scheme) IsTestable() bool

IsTestable returns true if Test is a valid action

func (Scheme) Marshal

func (s Scheme) Marshal() ([]byte, error)

Marshal ...

type TestAction

type TestAction struct {
	BuildConfiguration           string `xml:"buildConfiguration,attr"`
	SelectedDebuggerIdentifier   string `xml:"selectedDebuggerIdentifier,attr"`
	SelectedLauncherIdentifier   string `xml:"selectedLauncherIdentifier,attr"`
	ShouldUseLaunchSchemeArgsEnv string `xml:"shouldUseLaunchSchemeArgsEnv,attr"`

	// TODO: This property means that a TestPlan belongs to this test action.
	//   As long as the related testPlan has default settings it is not created as a separate TestPlan file.
	//   If any default test plan setting is changed, Xcode creates the TestPlan file, adds a TestPlans entry to the scheme and removes this property from the TestAction.
	//   Code working with test plans should be updated to consider this new property.
	ShouldAutocreateTestPlan string `xml:"shouldAutocreateTestPlan,attr,omitempty"`

	Testables         []TestableReference `xml:"Testables>TestableReference"`
	TestPlans         *TestPlans
	MacroExpansion    MacroExpansion
	AdditionalOptions AdditionalOptions
}

TestAction ...

type TestPlanReference added in v1.0.9

type TestPlanReference struct {
	Reference string `xml:"reference,attr,omitempty"`
	Default   string `xml:"default,attr,omitempty"`
}

TestPlanReference ...

func (TestPlanReference) IsDefault added in v1.0.9

func (r TestPlanReference) IsDefault() bool

IsDefault ...

func (TestPlanReference) Name added in v1.0.9

func (r TestPlanReference) Name() string

Name ...

type TestPlans added in v1.0.9

type TestPlans struct {
	TestPlanReferences []TestPlanReference `xml:"TestPlanReference,omitempty"`
}

TestPlans ...

type TestableReference

type TestableReference struct {
	Skipped        string `xml:"skipped,attr"`
	Parallelizable string `xml:"parallelizable,attr,omitempty"`

	BuildableReference BuildableReference
}

TestableReference ...

type XMLToken

type XMLToken int

XMLToken ...

const (

	// XMLStart ...
	XMLStart XMLToken
	// XMLEnd ...
	XMLEnd
	// XMLAttribute ...
	XMLAttribute
)

Jump to

Keyboard shortcuts

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