@NotThreadSafe public static final class HaskellLibraryDescriptionArg.Builder extends Object
HaskellLibraryDescriptionArg.
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 HaskellLibraryDescriptionArg.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 HaskellLibraryDescriptionArg.Builder from(HaskellLibraryDescriptionArg instance)
HaskellLibraryDescriptionArg instance.instance - The instance from which to copy valuesthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder from(com.facebook.buck.features.haskell.HaskellLibraryDescription.AbstractHaskellLibraryDescriptionArg instance)
AbstractHaskellLibraryDescriptionArg instance into builder.instance - The instance from which to copy valuesthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.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 HaskellLibraryDescriptionArg.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 HaskellLibraryDescriptionArg.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 HaskellLibraryDescriptionArg.Builder addLinkerFlags(StringWithMacros element)
linkerFlags list.element - A linkerFlags elementthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addLinkerFlags(StringWithMacros... elements)
linkerFlags list.elements - An array of linkerFlags elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder setLinkerFlags(Iterable<? extends StringWithMacros> elements)
linkerFlags list.elements - An iterable of linkerFlags elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addAllLinkerFlags(Iterable<? extends StringWithMacros> elements)
linkerFlags list.elements - An iterable of linkerFlags elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addCompilerFlags(String element)
compilerFlags list.element - A compilerFlags elementthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addCompilerFlags(String... elements)
compilerFlags list.elements - An array of compilerFlags elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder setCompilerFlags(Iterable<String> elements)
compilerFlags list.elements - An iterable of compilerFlags elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addAllCompilerFlags(Iterable<String> elements)
compilerFlags list.elements - An iterable of compilerFlags elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.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 HaskellLibraryDescriptionArg.Builder setLinkWhole(boolean linkWhole)
linkWhole attribute.
If not set, this attribute will have a default value as returned by the initializer of linkWhole.
linkWhole - The value for linkWholethis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder setPreferredLinkage(NativeLinkableGroup.Linkage preferredLinkage)
preferredLinkage attribute.
If not set, this attribute will have a default value as returned by the initializer of preferredLinkage.
preferredLinkage - The value for preferredLinkagethis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.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 HaskellLibraryDescriptionArg.Builder addHaddockFlags(String element)
haddockFlags list.element - A haddockFlags elementthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addHaddockFlags(String... elements)
haddockFlags list.elements - An array of haddockFlags elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder setHaddockFlags(Iterable<String> elements)
haddockFlags list.elements - An iterable of haddockFlags elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addAllHaddockFlags(Iterable<String> elements)
haddockFlags list.elements - An iterable of haddockFlags elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.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 HaskellLibraryDescriptionArg.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 HaskellLibraryDescriptionArg.Builder setPlatform(Flavor platform)
platform to platform.platform - The value for platformthis builder for chained invocationpublic final HaskellLibraryDescriptionArg.Builder setPlatform(Optional<? extends Flavor> platform)
platform to platform.platform - The value for platformthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addCompatibleWith(UnconfiguredBuildTarget element)
compatibleWith list.element - A compatibleWith elementthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addCompatibleWith(UnconfiguredBuildTarget... elements)
compatibleWith list.elements - An array of compatibleWith elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder setCompatibleWith(Iterable<? extends UnconfiguredBuildTarget> elements)
compatibleWith list.elements - An iterable of compatibleWith elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addAllCompatibleWith(Iterable<? extends UnconfiguredBuildTarget> elements)
compatibleWith list.elements - An iterable of compatibleWith elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder setDefaultTargetPlatform(UnconfiguredBuildTarget defaultTargetPlatform)
defaultTargetPlatform to defaultTargetPlatform.defaultTargetPlatform - The value for defaultTargetPlatformthis builder for chained invocationpublic final HaskellLibraryDescriptionArg.Builder setDefaultTargetPlatform(Optional<? extends UnconfiguredBuildTarget> defaultTargetPlatform)
defaultTargetPlatform to defaultTargetPlatform.defaultTargetPlatform - The value for defaultTargetPlatformthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addLabels(String element)
labels sortedSet.element - A labels elementthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addLabels(String... elements)
labels sortedSet.elements - An array of labels elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder setLabels(Iterable<String> elements)
labels sortedSet.elements - An iterable of labels elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addAllLabels(Iterable<String> elements)
labels sortedSet.elements - An iterable of labels elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addLicenses(SourcePath element)
licenses set.element - A licenses elementthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addLicenses(SourcePath... elements)
licenses set.elements - An array of licenses elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder setLicenses(Iterable<? extends SourcePath> elements)
licenses set.elements - An iterable of licenses elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addAllLicenses(Iterable<? extends SourcePath> elements)
licenses set.elements - An iterable of licenses elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder setName(String name)
name attribute.name - The value for namethis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addDeps(BuildTarget element)
deps sortedSet.element - A deps elementthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addDeps(BuildTarget... elements)
deps sortedSet.elements - An array of deps elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder setDeps(Iterable<? extends BuildTarget> elements)
deps sortedSet.elements - An iterable of deps elementsthis builder for use in a chained invocationpublic final HaskellLibraryDescriptionArg.Builder addAllDeps(Iterable<? extends BuildTarget> elements)
deps sortedSet.elements - An iterable of deps elementsthis builder for use in a chained invocationpublic HaskellLibraryDescriptionArg build()
HaskellLibraryDescriptionArg.IllegalStateException - if any required attributes are missing