public class MavenUberJar extends AbstractBuildRuleWithDeclaredAndExtraDeps implements MavenPublishable
BuildRule
used to have the provided JavaLibrary
published to a maven repositoryModifier and Type | Class and Description |
---|---|
static class |
MavenUberJar.SourceJar |
Modifier and Type | Method and Description |
---|---|
static MavenUberJar |
create(JavaLibrary rootRule,
BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
BuildRuleParams params,
Optional<String> mavenCoords,
Optional<SourcePath> mavenPomTemplate)
Will traverse transitive dependencies of
rootRule , separating those that do and don't
have maven coordinates. |
com.google.common.collect.ImmutableList<Step> |
getBuildSteps(BuildContext context,
BuildableContext buildableContext) |
Optional<String> |
getMavenCoords()
Used to identify this library within a maven repository
|
Iterable<HasMavenCoordinates> |
getMavenDeps()
When published, these will be listed in pom.xml as dependencies
|
Iterable<BuildRule> |
getPackagedDependencies()
When published, these will be included in the artifact.
|
Optional<SourcePath> |
getPomTemplate() |
SourcePath |
getSourcePathToOutput() |
deprecatedGetExtraDeps, getBuildDeps, getDeclaredDeps, getTargetGraphOnlyDeps
equals, getBuildTarget, getDependencies, getProjectFilesystem, getSourcePathOutputs, getType, hasBuildSteps, hashCode, injectFields, isCacheable, toString, updateBuildRuleResolver
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
isMavenCoordsPresent
compareTo, getBuildDeps, getBuildTarget, getFullyQualifiedName, getProjectFilesystem, hasBuildSteps, isCacheable, outputFileCanBeCopied, shouldRespectInputSizeLimitForRemoteExecution, toString, updateBuildRuleResolver
getDependencies, getSourcePathOutputs
getType
public static MavenUberJar create(JavaLibrary rootRule, BuildTarget buildTarget, ProjectFilesystem projectFilesystem, BuildRuleParams params, Optional<String> mavenCoords, Optional<SourcePath> mavenPomTemplate)
rootRule
, separating those that do and don't
have maven coordinates. Those that do will be considered maven-external dependencies. They will
be returned by getMavenDeps()
and will end up being specified as dependencies in
pom.xml. Others will be packaged in the same jar as if they are just a part of the one
published item.public com.google.common.collect.ImmutableList<Step> getBuildSteps(BuildContext context, BuildableContext buildableContext)
getBuildSteps
in interface BuildRule
public SourcePath getSourcePathToOutput()
getSourcePathToOutput
in interface BuildRule
public Optional<String> getMavenCoords()
HasMavenCoordinates
getMavenCoords
in interface HasMavenCoordinates
public Optional<SourcePath> getPomTemplate()
getPomTemplate
in interface MavenPublishable
public Iterable<HasMavenCoordinates> getMavenDeps()
MavenPublishable
getMavenDeps
in interface MavenPublishable
public Iterable<BuildRule> getPackagedDependencies()
MavenPublishable
MavenPublishable.getMavenDeps()
, and the
transitive dependencies of those maven deps would form the complete set of transitive
dependencies for the artifact.getPackagedDependencies
in interface MavenPublishable