@NotThreadSafe public static final class HaskellBinaryDescriptionArg.Builder extends Object
HaskellBinaryDescriptionArg
.
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 HaskellBinaryDescriptionArg.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 HaskellBinaryDescriptionArg.Builder from(HaskellBinaryDescriptionArg instance)
HaskellBinaryDescriptionArg
instance.instance
- The instance from which to copy valuesthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder from(com.facebook.buck.features.haskell.HaskellBinaryDescription.AbstractHaskellBinaryDescriptionArg instance)
AbstractHaskellBinaryDescriptionArg
instance into builder.instance
- The instance from which to copy valuesthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder from(HasDepsQuery instance)
com.facebook.buck.core.description.arg.HasDepsQuery
instance.instance
- The instance from which to copy valuesthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.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 HaskellBinaryDescriptionArg.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 HaskellBinaryDescriptionArg.Builder setSrcs(SourceSortedSet srcs)
srcs
attribute.
If not set, this attribute will have a default value as returned by the initializer of srcs
.
srcs
- The value for srcsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addCompilerFlags(String element)
compilerFlags
list.element
- A compilerFlags elementthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addCompilerFlags(String... elements)
compilerFlags
list.elements
- An array of compilerFlags elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setCompilerFlags(Iterable<String> elements)
compilerFlags
list.elements
- An iterable of compilerFlags elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addAllCompilerFlags(Iterable<String> elements)
compilerFlags
list.elements
- An iterable of compilerFlags elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addLinkerFlags(StringWithMacros element)
linkerFlags
list.element
- A linkerFlags elementthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addLinkerFlags(StringWithMacros... elements)
linkerFlags
list.elements
- An array of linkerFlags elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setLinkerFlags(Iterable<? extends StringWithMacros> elements)
linkerFlags
list.elements
- An iterable of linkerFlags elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addAllLinkerFlags(Iterable<? extends StringWithMacros> elements)
linkerFlags
list.elements
- An iterable of linkerFlags elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setPlatformDeps(PatternMatchedCollection<com.google.common.collect.ImmutableSortedSet<BuildTarget>> platformDeps)
platformDeps
attribute.
If not set, this attribute will have a default value as returned by the initializer of platformDeps
.
platformDeps
- The value for platformDepsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setLinkDepsQueryWhole(boolean linkDepsQueryWhole)
linkDepsQueryWhole
attribute.
If not set, this attribute will have a default value as returned by the initializer of linkDepsQueryWhole
.
linkDepsQueryWhole
- The value for linkDepsQueryWholethis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setMain(String main)
main
to main.main
- The value for mainthis
builder for chained invocationpublic final HaskellBinaryDescriptionArg.Builder setMain(Optional<String> main)
main
to main.main
- The value for mainthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setLinkStyle(Linker.LinkableDepType linkStyle)
linkStyle
to linkStyle.linkStyle
- The value for linkStylethis
builder for chained invocationpublic final HaskellBinaryDescriptionArg.Builder setLinkStyle(Optional<? extends Linker.LinkableDepType> linkStyle)
linkStyle
to linkStyle.linkStyle
- The value for linkStylethis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setPlatform(Flavor platform)
platform
to platform.platform
- The value for platformthis
builder for chained invocationpublic final HaskellBinaryDescriptionArg.Builder setPlatform(Optional<? extends Flavor> platform)
platform
to platform.platform
- The value for platformthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.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 HaskellBinaryDescriptionArg.Builder setGhciPreloadDeps(com.google.common.collect.ImmutableSortedSet<BuildTarget> ghciPreloadDeps)
ghciPreloadDeps
attribute.
If not set, this attribute will have a default value as returned by the initializer of ghciPreloadDeps
.
ghciPreloadDeps
- The value for ghciPreloadDepsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setGhciPlatformPreloadDeps(PatternMatchedCollection<com.google.common.collect.ImmutableSortedSet<BuildTarget>> ghciPlatformPreloadDeps)
ghciPlatformPreloadDeps
attribute.
If not set, this attribute will have a default value as returned by the initializer of ghciPlatformPreloadDeps
.
ghciPlatformPreloadDeps
- The value for ghciPlatformPreloadDepsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addCompatibleWith(UnconfiguredBuildTarget element)
compatibleWith
list.element
- A compatibleWith elementthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addCompatibleWith(UnconfiguredBuildTarget... elements)
compatibleWith
list.elements
- An array of compatibleWith elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setCompatibleWith(Iterable<? extends UnconfiguredBuildTarget> elements)
compatibleWith
list.elements
- An iterable of compatibleWith elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addAllCompatibleWith(Iterable<? extends UnconfiguredBuildTarget> elements)
compatibleWith
list.elements
- An iterable of compatibleWith elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setDefaultTargetPlatform(UnconfiguredBuildTarget defaultTargetPlatform)
defaultTargetPlatform
to defaultTargetPlatform.defaultTargetPlatform
- The value for defaultTargetPlatformthis
builder for chained invocationpublic final HaskellBinaryDescriptionArg.Builder setDefaultTargetPlatform(Optional<? extends UnconfiguredBuildTarget> defaultTargetPlatform)
defaultTargetPlatform
to defaultTargetPlatform.defaultTargetPlatform
- The value for defaultTargetPlatformthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addLabels(String element)
labels
sortedSet.element
- A labels elementthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addLabels(String... elements)
labels
sortedSet.elements
- An array of labels elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setLabels(Iterable<String> elements)
labels
sortedSet.elements
- An iterable of labels elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addAllLabels(Iterable<String> elements)
labels
sortedSet.elements
- An iterable of labels elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addLicenses(SourcePath element)
licenses
set.element
- A licenses elementthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addLicenses(SourcePath... elements)
licenses
set.elements
- An array of licenses elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setLicenses(Iterable<? extends SourcePath> elements)
licenses
set.elements
- An iterable of licenses elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addAllLicenses(Iterable<? extends SourcePath> elements)
licenses
set.elements
- An iterable of licenses elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setName(String name)
name
attribute.name
- The value for namethis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setDepsQuery(Query depsQuery)
depsQuery
to depsQuery.depsQuery
- The value for depsQuerythis
builder for chained invocationpublic final HaskellBinaryDescriptionArg.Builder setDepsQuery(Optional<? extends Query> depsQuery)
depsQuery
to depsQuery.depsQuery
- The value for depsQuerythis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addDeps(BuildTarget element)
deps
sortedSet.element
- A deps elementthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addDeps(BuildTarget... elements)
deps
sortedSet.elements
- An array of deps elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder setDeps(Iterable<? extends BuildTarget> elements)
deps
sortedSet.elements
- An iterable of deps elementsthis
builder for use in a chained invocationpublic final HaskellBinaryDescriptionArg.Builder addAllDeps(Iterable<? extends BuildTarget> elements)
deps
sortedSet.elements
- An iterable of deps elementsthis
builder for use in a chained invocationpublic HaskellBinaryDescriptionArg build()
HaskellBinaryDescriptionArg
.IllegalStateException
- if any required attributes are missing