public class MavenUberJar extends AbstractBuildRuleWithDeclaredAndExtraDeps implements MavenPublishable
BuildRule used to have the provided JavaLibrary published to a maven repository| Modifier 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, getTargetGraphOnlyDepsequals, getBuildTarget, getDependencies, getProjectFilesystem, getSourcePathOutputs, getType, hasBuildSteps, hashCode, injectFields, isCacheable, toString, updateBuildRuleResolverclone, finalize, getClass, notify, notifyAll, wait, wait, waitisMavenCoordsPresentcompareTo, getBuildDeps, getBuildTarget, getFullyQualifiedName, getProjectFilesystem, hasBuildSteps, isCacheable, outputFileCanBeCopied, shouldRespectInputSizeLimitForRemoteExecution, toString, updateBuildRuleResolvergetDependencies, getSourcePathOutputsgetTypepublic 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 BuildRulepublic SourcePath getSourcePathToOutput()
getSourcePathToOutput in interface BuildRulepublic Optional<String> getMavenCoords()
HasMavenCoordinatesgetMavenCoords in interface HasMavenCoordinatespublic Optional<SourcePath> getPomTemplate()
getPomTemplate in interface MavenPublishablepublic Iterable<HasMavenCoordinates> getMavenDeps()
MavenPublishablegetMavenDeps in interface MavenPublishablepublic Iterable<BuildRule> getPackagedDependencies()
MavenPublishableMavenPublishable.getMavenDeps(), and the
transitive dependencies of those maven deps would form the complete set of transitive
dependencies for the artifact.getPackagedDependencies in interface MavenPublishable