@NotThreadSafe public static final class CxxToolchainDescriptionArg.Builder extends Object
CxxToolchainDescriptionArg
.
Initialize attributes and then invoke the build()
method to create an
immutable instance.
Builder
is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
public final CxxToolchainDescriptionArg.Builder from(CxxToolchainDescriptionArg instance)
CxxToolchainDescriptionArg
instance.instance
- The instance from which to copy valuesthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder from(com.facebook.buck.cxx.CxxToolchainDescription.AbstractCxxToolchainDescriptionArg instance)
AbstractCxxToolchainDescriptionArg
instance into builder.instance
- The instance from which to copy valuesthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder from(BuildRuleArg instance)
com.facebook.buck.core.description.arg.BuildRuleArg
instance.instance
- The instance from which to copy valuesthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder from(ConstructorArg instance)
com.facebook.buck.core.description.arg.ConstructorArg
instance.instance
- The instance from which to copy valuesthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setPrivateHeadersSymlinksEnabled(boolean privateHeadersSymlinksEnabled)
privateHeadersSymlinksEnabled
attribute.
If not set, this attribute will have a default value as returned by the initializer of privateHeadersSymlinksEnabled
.
privateHeadersSymlinksEnabled
- The value for privateHeadersSymlinksEnabledthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setPublicHeadersSymlinksEnabled(boolean publicHeadersSymlinksEnabled)
publicHeadersSymlinksEnabled
attribute.
If not set, this attribute will have a default value as returned by the initializer of publicHeadersSymlinksEnabled
.
publicHeadersSymlinksEnabled
- The value for publicHeadersSymlinksEnabledthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setUseArgFile(boolean useArgFile)
useArgFile
attribute.
If not set, this attribute will have a default value as returned by the initializer of useArgFile
.
useArgFile
- The value for useArgFilethis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setSharedLibraryExtension(String sharedLibraryExtension)
sharedLibraryExtension
attribute.sharedLibraryExtension
- The value for sharedLibraryExtensionthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setSharedLibraryVersionedExtensionFormat(String sharedLibraryVersionedExtensionFormat)
sharedLibraryVersionedExtensionFormat
attribute.sharedLibraryVersionedExtensionFormat
- The value for sharedLibraryVersionedExtensionFormatthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setStaticLibraryExtension(String staticLibraryExtension)
staticLibraryExtension
attribute.staticLibraryExtension
- The value for staticLibraryExtensionthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setObjectFileExtension(String objectFileExtension)
objectFileExtension
attribute.objectFileExtension
- The value for objectFileExtensionthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setBinaryExtension(String binaryExtension)
binaryExtension
to binaryExtension.binaryExtension
- The value for binaryExtensionthis
builder for chained invocationpublic final CxxToolchainDescriptionArg.Builder setBinaryExtension(Optional<String> binaryExtension)
binaryExtension
to binaryExtension.binaryExtension
- The value for binaryExtensionthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setCompilerType(CxxToolProvider.Type compilerType)
compilerType
attribute.compilerType
- The value for compilerTypethis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setLinkerType(LinkerProvider.Type linkerType)
linkerType
attribute.linkerType
- The value for linkerTypethis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setAssembler(SourcePath assembler)
assembler
attribute.assembler
- The value for assemblerthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAssemblerFlags(String element)
assemblerFlags
list.element
- A assemblerFlags elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAssemblerFlags(String... elements)
assemblerFlags
list.elements
- An array of assemblerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setAssemblerFlags(Iterable<String> elements)
assemblerFlags
list.elements
- An iterable of assemblerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllAssemblerFlags(Iterable<String> elements)
assemblerFlags
list.elements
- An iterable of assemblerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setCCompiler(SourcePath cCompiler)
cCompiler
attribute.cCompiler
- The value for cCompilerthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addCCompilerFlags(String element)
cCompilerFlags
list.element
- A cCompilerFlags elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addCCompilerFlags(String... elements)
cCompilerFlags
list.elements
- An array of cCompilerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setCCompilerFlags(Iterable<String> elements)
cCompilerFlags
list.elements
- An iterable of cCompilerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllCCompilerFlags(Iterable<String> elements)
cCompilerFlags
list.elements
- An iterable of cCompilerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setCxxCompiler(SourcePath cxxCompiler)
cxxCompiler
attribute.cxxCompiler
- The value for cxxCompilerthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addCxxCompilerFlags(String element)
cxxCompilerFlags
list.element
- A cxxCompilerFlags elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addCxxCompilerFlags(String... elements)
cxxCompilerFlags
list.elements
- An array of cxxCompilerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setCxxCompilerFlags(Iterable<String> elements)
cxxCompilerFlags
list.elements
- An iterable of cxxCompilerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllCxxCompilerFlags(Iterable<String> elements)
cxxCompilerFlags
list.elements
- An iterable of cxxCompilerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setLinker(SourcePath linker)
linker
attribute.linker
- The value for linkerthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addLinkerFlags(String element)
linkerFlags
list.element
- A linkerFlags elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addLinkerFlags(String... elements)
linkerFlags
list.elements
- An array of linkerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setLinkerFlags(Iterable<String> elements)
linkerFlags
list.elements
- An iterable of linkerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllLinkerFlags(Iterable<String> elements)
linkerFlags
list.elements
- An iterable of linkerFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setArchiver(SourcePath archiver)
archiver
attribute.archiver
- The value for archiverthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addArchiverFlags(String element)
archiverFlags
list.element
- A archiverFlags elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addArchiverFlags(String... elements)
archiverFlags
list.elements
- An array of archiverFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setArchiverFlags(Iterable<String> elements)
archiverFlags
list.elements
- An iterable of archiverFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllArchiverFlags(Iterable<String> elements)
archiverFlags
list.elements
- An iterable of archiverFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setArchiverType(ArchiverProvider.Type archiverType)
archiverType
attribute.archiverType
- The value for archiverTypethis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setStrip(SourcePath strip)
strip
attribute.strip
- The value for stripthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setRanlib(SourcePath ranlib)
ranlib
to ranlib.ranlib
- The value for ranlibthis
builder for chained invocationpublic final CxxToolchainDescriptionArg.Builder setRanlib(Optional<? extends SourcePath> ranlib)
ranlib
to ranlib.ranlib
- The value for ranlibthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addRanlibFlags(String element)
ranlibFlags
list.element
- A ranlibFlags elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addRanlibFlags(String... elements)
ranlibFlags
list.elements
- An array of ranlibFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setRanlibFlags(Iterable<String> elements)
ranlibFlags
list.elements
- An iterable of ranlibFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllRanlibFlags(Iterable<String> elements)
ranlibFlags
list.elements
- An iterable of ranlibFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addStripFlags(String element)
stripFlags
list.element
- A stripFlags elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addStripFlags(String... elements)
stripFlags
list.elements
- An array of stripFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setStripFlags(Iterable<String> elements)
stripFlags
list.elements
- An iterable of stripFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllStripFlags(Iterable<String> elements)
stripFlags
list.elements
- An iterable of stripFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addStaticDepRuntimeLdFlags(String element)
staticDepRuntimeLdFlags
list.element
- A staticDepRuntimeLdFlags elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addStaticDepRuntimeLdFlags(String... elements)
staticDepRuntimeLdFlags
list.elements
- An array of staticDepRuntimeLdFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setStaticDepRuntimeLdFlags(Iterable<String> elements)
staticDepRuntimeLdFlags
list.elements
- An iterable of staticDepRuntimeLdFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllStaticDepRuntimeLdFlags(Iterable<String> elements)
staticDepRuntimeLdFlags
list.elements
- An iterable of staticDepRuntimeLdFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addStaticPicDepRuntimeLdFlags(String element)
staticPicDepRuntimeLdFlags
list.element
- A staticPicDepRuntimeLdFlags elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addStaticPicDepRuntimeLdFlags(String... elements)
staticPicDepRuntimeLdFlags
list.elements
- An array of staticPicDepRuntimeLdFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setStaticPicDepRuntimeLdFlags(Iterable<String> elements)
staticPicDepRuntimeLdFlags
list.elements
- An iterable of staticPicDepRuntimeLdFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllStaticPicDepRuntimeLdFlags(Iterable<String> elements)
staticPicDepRuntimeLdFlags
list.elements
- An iterable of staticPicDepRuntimeLdFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addSharedDepRuntimeLdFlags(String element)
sharedDepRuntimeLdFlags
list.element
- A sharedDepRuntimeLdFlags elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addSharedDepRuntimeLdFlags(String... elements)
sharedDepRuntimeLdFlags
list.elements
- An array of sharedDepRuntimeLdFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setSharedDepRuntimeLdFlags(Iterable<String> elements)
sharedDepRuntimeLdFlags
list.elements
- An iterable of sharedDepRuntimeLdFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllSharedDepRuntimeLdFlags(Iterable<String> elements)
sharedDepRuntimeLdFlags
list.elements
- An iterable of sharedDepRuntimeLdFlags elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setNm(SourcePath nm)
nm
attribute.nm
- The value for nmthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setSharedLibraryInterfaceType(SharedLibraryInterfaceParams.Type sharedLibraryInterfaceType)
sharedLibraryInterfaceType
attribute.sharedLibraryInterfaceType
- The value for sharedLibraryInterfaceTypethis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setObjcopyForSharedLibraryInterface(SourcePath objcopyForSharedLibraryInterface)
objcopyForSharedLibraryInterface
attribute.objcopyForSharedLibraryInterface
- The value for objcopyForSharedLibraryInterfacethis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setUseHeaderMap(boolean useHeaderMap)
useHeaderMap
attribute.useHeaderMap
- The value for useHeaderMapthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setFilepathLengthLimited(boolean filepathLengthLimited)
filepathLengthLimited
attribute.
If not set, this attribute will have a default value as returned by the initializer of filepathLengthLimited
.
filepathLengthLimited
- The value for filepathLengthLimitedthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addHeadersWhitelist(String element)
headersWhitelist
list.element
- A headersWhitelist elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addHeadersWhitelist(String... elements)
headersWhitelist
list.elements
- An array of headersWhitelist elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setHeadersWhitelist(Iterable<String> elements)
headersWhitelist
list.elements
- An iterable of headersWhitelist elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllHeadersWhitelist(Iterable<String> elements)
headersWhitelist
list.elements
- An iterable of headersWhitelist elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addLicenses(SourcePath element)
licenses
set.element
- A licenses elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addLicenses(SourcePath... elements)
licenses
set.elements
- An array of licenses elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setLicenses(Iterable<? extends SourcePath> elements)
licenses
set.elements
- An iterable of licenses elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllLicenses(Iterable<? extends SourcePath> elements)
licenses
set.elements
- An iterable of licenses elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addLabels(String element)
labels
sortedSet.element
- A labels elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addLabels(String... elements)
labels
sortedSet.elements
- An array of labels elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setLabels(Iterable<String> elements)
labels
sortedSet.elements
- An iterable of labels elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllLabels(Iterable<String> elements)
labels
sortedSet.elements
- An iterable of labels elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setDefaultTargetPlatform(UnconfiguredBuildTarget defaultTargetPlatform)
defaultTargetPlatform
to defaultTargetPlatform.defaultTargetPlatform
- The value for defaultTargetPlatformthis
builder for chained invocationpublic final CxxToolchainDescriptionArg.Builder setDefaultTargetPlatform(Optional<? extends UnconfiguredBuildTarget> defaultTargetPlatform)
defaultTargetPlatform
to defaultTargetPlatform.defaultTargetPlatform
- The value for defaultTargetPlatformthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addCompatibleWith(UnconfiguredBuildTarget element)
compatibleWith
list.element
- A compatibleWith elementthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addCompatibleWith(UnconfiguredBuildTarget... elements)
compatibleWith
list.elements
- An array of compatibleWith elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setCompatibleWith(Iterable<? extends UnconfiguredBuildTarget> elements)
compatibleWith
list.elements
- An iterable of compatibleWith elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder addAllCompatibleWith(Iterable<? extends UnconfiguredBuildTarget> elements)
compatibleWith
list.elements
- An iterable of compatibleWith elementsthis
builder for use in a chained invocationpublic final CxxToolchainDescriptionArg.Builder setName(String name)
name
attribute.name
- The value for namethis
builder for use in a chained invocationpublic CxxToolchainDescriptionArg build()
CxxToolchainDescriptionArg
.IllegalStateException
- if any required attributes are missing