Extensions > API reference > XcodeVersionConfig

XcodeVersionConfig

The set of Apple versions computed from command line options and the xcode_config rule.

XcodeConfigInfo

XcodeVersionConfig XcodeConfigInfo(iosSdkVersion, iosMinimumOsVersion, watchosSdkVersion, watchosMinimumOsVersion, tvosSdkVersion, tvosMinimumOsVersion, macosSdkVersion, macosMinimumOsVersion, xcodeVersion)

Returns the Xcode info that is associated with this target

Parameters

Parameter Description
iosSdkVersion

The ios SDK version.

iosMinimumOsVersion

The ios minimum os version.

watchosSdkVersion

The watchos SDK version.

watchosMinimumOsVersion

The watchos minimum os version.

tvosSdkVersion

The tvos SDK version.

tvosMinimumOsVersion

The tvos minimum os version.

macosSdkVersion

The macos SDK version.

macosMinimumOsVersion

The macos minimum os version.

xcodeVersion

The selected Xcode version from this config.

availability

string XcodeVersionConfig.availability()

Returns the availability of this Xcode version, 'remote' if the version is only available remotely, 'local' if the version is only available locally, 'both' if the version is available both locally and remotely, or 'unknown' if the availability could not be determined.

execution_info

dict XcodeVersionConfig.execution_info()

Returns the execution requirements for actions that use this Xcode config.

minimum_os_for_platform_type

DottedVersion XcodeVersionConfig.minimum_os_for_platform_type(platform_type)

The minimum compatible OS version for target simulator and devices for a particular platform type.

Parameters

Parameter Description
platform_type

apple_platform_type

The apple platform type.

sdk_version_for_platform

DottedVersion XcodeVersionConfig.sdk_version_for_platform(platform)

The version of the platform SDK that will be used to build targets for the given platform.

Parameters

Parameter Description
platform

apple_platform

The apple platform.

to_json

string XcodeVersionConfig.to_json()

Creates a JSON string from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs, a list of these types or a dictionary with string keys and values of these types. Quotes and new lines in strings are escaped. Examples:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}

to_proto

string XcodeVersionConfig.to_proto()

Creates a text message from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs or dicts or lists of these types. Quotes and new lines in strings are escaped. Struct keys are iterated in the sorted order. Examples:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

xcode_version

DottedVersion XcodeVersionConfig.xcode_version()

Returns the Xcode version that is being used to build.

This will return None if no Xcode versions are available. May return None.