@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