@NotThreadSafe public static final class HaskellPrebuiltLibraryDescriptionArg.Builder extends Object
HaskellPrebuiltLibraryDescriptionArg
.
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 HaskellPrebuiltLibraryDescriptionArg.Builder from(HaskellPrebuiltLibraryDescriptionArg instance)
HaskellPrebuiltLibraryDescriptionArg
instance.instance
- The instance from which to copy valuesthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder from(com.facebook.buck.features.haskell.HaskellPrebuiltLibraryDescription.AbstractHaskellPrebuiltLibraryDescriptionArg instance)
AbstractHaskellPrebuiltLibraryDescriptionArg
instance into builder.instance
- The instance from which to copy valuesthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder from(HasDeclaredDeps instance)
com.facebook.buck.core.description.arg.HasDeclaredDeps
instance.instance
- The instance from which to copy valuesthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.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 HaskellPrebuiltLibraryDescriptionArg.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 HaskellPrebuiltLibraryDescriptionArg.Builder setVersion(String version)
version
attribute.version
- The value for versionthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setId(String id)
id
attribute.
If not set, this attribute will have a default value as returned by the initializer of id
.
id
- The value for idthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setDb(SourcePath db)
db
attribute.db
- The value for dbthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addImportDirs(SourcePath element)
importDirs
list.element
- A importDirs elementthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addImportDirs(SourcePath... elements)
importDirs
list.elements
- An array of importDirs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setImportDirs(Iterable<? extends SourcePath> elements)
importDirs
list.elements
- An iterable of importDirs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addAllImportDirs(Iterable<? extends SourcePath> elements)
importDirs
list.elements
- An iterable of importDirs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addStaticLibs(SourcePath element)
staticLibs
list.element
- A staticLibs elementthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addStaticLibs(SourcePath... elements)
staticLibs
list.elements
- An array of staticLibs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setStaticLibs(Iterable<? extends SourcePath> elements)
staticLibs
list.elements
- An iterable of staticLibs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addAllStaticLibs(Iterable<? extends SourcePath> elements)
staticLibs
list.elements
- An iterable of staticLibs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addProfiledStaticLibs(SourcePath element)
profiledStaticLibs
list.element
- A profiledStaticLibs elementthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addProfiledStaticLibs(SourcePath... elements)
profiledStaticLibs
list.elements
- An array of profiledStaticLibs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setProfiledStaticLibs(Iterable<? extends SourcePath> elements)
profiledStaticLibs
list.elements
- An iterable of profiledStaticLibs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addAllProfiledStaticLibs(Iterable<? extends SourcePath> elements)
profiledStaticLibs
list.elements
- An iterable of profiledStaticLibs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder putSharedLibs(String key, SourcePath value)
sharedLibs
map.key
- The key in the sharedLibs mapvalue
- The associated value in the sharedLibs mapthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder putSharedLibs(Map.Entry<String,? extends SourcePath> entry)
sharedLibs
map. Nulls are not permittedentry
- The key and value entrythis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setSharedLibs(Map<String,? extends SourcePath> entries)
sharedLibs
map. Nulls are not permittedentries
- The entries that will be added to the sharedLibs mapthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder putAllSharedLibs(Map<String,? extends SourcePath> entries)
sharedLibs
map. Nulls are not permittedentries
- The entries that will be added to the sharedLibs mapthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addExportedLinkerFlags(String element)
exportedLinkerFlags
list.element
- A exportedLinkerFlags elementthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addExportedLinkerFlags(String... elements)
exportedLinkerFlags
list.elements
- An array of exportedLinkerFlags elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setExportedLinkerFlags(Iterable<String> elements)
exportedLinkerFlags
list.elements
- An iterable of exportedLinkerFlags elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addAllExportedLinkerFlags(Iterable<String> elements)
exportedLinkerFlags
list.elements
- An iterable of exportedLinkerFlags elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addExportedCompilerFlags(String element)
exportedCompilerFlags
list.element
- A exportedCompilerFlags elementthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addExportedCompilerFlags(String... elements)
exportedCompilerFlags
list.elements
- An array of exportedCompilerFlags elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setExportedCompilerFlags(Iterable<String> elements)
exportedCompilerFlags
list.elements
- An iterable of exportedCompilerFlags elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addAllExportedCompilerFlags(Iterable<String> elements)
exportedCompilerFlags
list.elements
- An iterable of exportedCompilerFlags elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addCxxHeaderDirs(SourcePath element)
cxxHeaderDirs
sortedSet.element
- A cxxHeaderDirs elementthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addCxxHeaderDirs(SourcePath... elements)
cxxHeaderDirs
sortedSet.elements
- An array of cxxHeaderDirs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setCxxHeaderDirs(Iterable<? extends SourcePath> elements)
cxxHeaderDirs
sortedSet.elements
- An iterable of cxxHeaderDirs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addAllCxxHeaderDirs(Iterable<? extends SourcePath> elements)
cxxHeaderDirs
sortedSet.elements
- An iterable of cxxHeaderDirs elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setEnableProfiling(boolean enableProfiling)
enableProfiling
attribute.
If not set, this attribute will have a default value as returned by the initializer of enableProfiling
.
enableProfiling
- The value for enableProfilingthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addCompatibleWith(UnconfiguredBuildTarget element)
compatibleWith
list.element
- A compatibleWith elementthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addCompatibleWith(UnconfiguredBuildTarget... elements)
compatibleWith
list.elements
- An array of compatibleWith elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setCompatibleWith(Iterable<? extends UnconfiguredBuildTarget> elements)
compatibleWith
list.elements
- An iterable of compatibleWith elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addAllCompatibleWith(Iterable<? extends UnconfiguredBuildTarget> elements)
compatibleWith
list.elements
- An iterable of compatibleWith elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setDefaultTargetPlatform(UnconfiguredBuildTarget defaultTargetPlatform)
defaultTargetPlatform
to defaultTargetPlatform.defaultTargetPlatform
- The value for defaultTargetPlatformthis
builder for chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setDefaultTargetPlatform(Optional<? extends UnconfiguredBuildTarget> defaultTargetPlatform)
defaultTargetPlatform
to defaultTargetPlatform.defaultTargetPlatform
- The value for defaultTargetPlatformthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addLabels(String element)
labels
sortedSet.element
- A labels elementthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addLabels(String... elements)
labels
sortedSet.elements
- An array of labels elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setLabels(Iterable<String> elements)
labels
sortedSet.elements
- An iterable of labels elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addAllLabels(Iterable<String> elements)
labels
sortedSet.elements
- An iterable of labels elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addLicenses(SourcePath element)
licenses
set.element
- A licenses elementthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addLicenses(SourcePath... elements)
licenses
set.elements
- An array of licenses elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setLicenses(Iterable<? extends SourcePath> elements)
licenses
set.elements
- An iterable of licenses elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addAllLicenses(Iterable<? extends SourcePath> elements)
licenses
set.elements
- An iterable of licenses elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setName(String name)
name
attribute.name
- The value for namethis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addDeps(BuildTarget element)
deps
sortedSet.element
- A deps elementthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addDeps(BuildTarget... elements)
deps
sortedSet.elements
- An array of deps elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder setDeps(Iterable<? extends BuildTarget> elements)
deps
sortedSet.elements
- An iterable of deps elementsthis
builder for use in a chained invocationpublic final HaskellPrebuiltLibraryDescriptionArg.Builder addAllDeps(Iterable<? extends BuildTarget> elements)
deps
sortedSet.elements
- An iterable of deps elementsthis
builder for use in a chained invocationpublic HaskellPrebuiltLibraryDescriptionArg build()
HaskellPrebuiltLibraryDescriptionArg
.IllegalStateException
- if any required attributes are missing