public class JkDependencySet
extends java.lang.Object
JkDependency
generally standing for a given purpose (compile, test, runtime) in a project build.
JkDependencySet
also holds a JkVersionProvider
and a set of JkDependencyExclusion
.
Modifier and Type | Class and Description |
---|---|
static class |
JkDependencySet.Hint |
Modifier and Type | Method and Description |
---|---|
JkDependencySet |
and(JkDependency... others) |
JkDependencySet |
and(JkDependencySet.Hint hint,
JkDependency... others) |
JkDependencySet |
and(JkDependencySet.Hint hint,
JkDependencySet other)
Returns a clone of this object plus the specified
JkDependency s, at the
specified place and condition. |
JkDependencySet |
and(JkDependencySet.Hint hint,
JkModuleId moduleId) |
JkDependencySet |
and(JkDependencySet.Hint hint,
java.util.List<? extends JkDependency> others) |
JkDependencySet |
and(JkDependencySet.Hint hint,
java.lang.String moduleDescriptor) |
JkDependencySet |
and(JkDependencySet.Hint hint,
java.lang.String moduleDescriptor,
JkTransitivity transitivity) |
JkDependencySet |
and(JkDependencySet other) |
JkDependencySet |
and(JkModuleId moduleId) |
JkDependencySet |
and(java.util.List<? extends JkDependency> others)
Returns a clone of this object plus the specified
JkDependency s at the tail of
this one. |
JkDependencySet |
and(java.lang.String moduleDescriptor) |
JkDependencySet |
and(java.lang.String moduleDescriptor,
JkTransitivity transitivity) |
JkDependencySet |
andFiles(java.lang.Iterable<java.nio.file.Path> paths) |
JkDependencySet |
andFiles(JkDependencySet.Hint hint,
java.lang.Iterable<java.nio.file.Path> paths) |
JkDependencySet |
andFiles(JkDependencySet.Hint hint,
java.lang.String... paths) |
JkDependencySet |
andFiles(java.lang.String... paths) |
JkDependencySet |
andGlobalExclusion(JkDependencyExclusion exclusion) |
JkDependencySet |
andGlobalExclusion(java.lang.String groupAndName) |
JkDependencySet |
andVersionProvider(JkVersionProvider versionProvider)
Returns a clone of this object but using specified version provider to override
versions of transitive dependencies.
|
JkDependencySet |
assertNoUnspecifiedVersion()
Throws a
IllegalStateException if one of the module dependencies has an unspecified version. |
JkModuleDependency |
get(java.lang.String moduleId)
Returns the
JkDependency declared for the specified
JkModuleId . |
java.util.List<JkDependency> |
getEntries()
Returns the unmodifiable list list of scoped dependencies for this object.
|
java.util.Set<JkDependencyExclusion> |
getGlobalExclusions()
Returns the dependencies to be excluded to the transitive chain when using this dependency.
|
java.util.Set<java.nio.file.Path> |
getIdePathDirs() |
<T extends JkDependency> |
getMatching(T dependency) |
java.util.List<JkModuleDependency> |
getModuleDependencies() |
java.util.List<JkDependency> |
getVersionedDependencies()
Returns all dependencies, adding
versionProvider versions to module dependencies
that does not specify one. |
java.util.List<JkModuleDependency> |
getVersionedModuleDependencies() |
JkVersionProvider |
getVersionProvider()
Returns overridden versions for transitive dependencies and direct dependencies with no version specified on.
|
boolean |
hasDynamicAndResolvableVersions()
Returns
true if this object contains dependency on external
module whose rely on dynamic version that are resolvable (Maven Snapshot
versions are dynamic but not resolvable). |
boolean |
hasDynamicVersions()
Returns
true if this object contains dependency on external
module whose rely on dynamic version. |
boolean |
hasModules()
Returns
true if this object contains dependencies whose are
JkModuleDependency . |
JkDependencySetMerge |
merge(JkDependencySet other) |
JkDependencySet |
mergeLocalProjectExportedDependencies() |
JkDependencySet |
minus(JkDependency dependency) |
JkDependencySet |
minus(JkModuleId moduleId) |
JkDependencySet |
minus(java.util.List<JkDependency> dependencies) |
JkDependencySet |
minus(java.nio.file.Path path) |
JkDependencySet |
minus(java.lang.String moduleId) |
JkDependencySet |
minusModuleDependenciesHavingIdeProjectDir() |
JkDependencySet |
normalised() |
JkDependencySet |
normalised(JkVersionedModule.ConflictStrategy conflictStrategy)
Removes duplicates and select a version according the specified strategy in
case of duplicate with distinct versions.
|
static JkDependencySet |
of() |
static JkDependencySet |
of(JkDependency dependency) |
static JkDependencySet |
of(java.util.List<? extends JkDependency> dependencies)
Creates a
JkDependencySet to the specified scoped dependencies. |
static JkDependencySet |
of(java.lang.String dependencyDesc) |
static java.lang.String |
toJavaCode(int indentCount,
java.util.List<JkDependency> dependencies,
boolean and)
Returns the java codes that declare these dependencies.
|
java.lang.String |
toString() |
JkDependencySet |
withGlobalExclusion(java.util.Set<JkDependencyExclusion> excludes) |
JkDependencySet |
withGlobalTransitivityReplacement(JkTransitivity formerTransitivity,
JkTransitivity newTransitivity) |
JkDependencySet |
withIdeProjectDir(java.nio.file.Path ideProjectDir) |
JkDependencySet |
withLocalExclusions(JkDependencyExclusion... exclusions)
Returns a clone of this dependencySet but adding dependency exclusion on the the last element.
|
JkDependencySet |
withLocalExclusions(java.lang.String... groupAndNames) |
JkDependencySet |
withModuleDependenciesOnly()
Returns all dependencies declared as
JkModuleDependency . |
JkDependencySet |
withTransitivity(java.lang.String moduleId,
JkTransitivity newTransitivity) |
JkDependencySet |
withVersionProvider(JkVersionProvider versionProvider)
Returns a clone of this object but using specified version provider to override
versions of transitive dependencies.
|
public static JkDependencySet of(java.lang.String dependencyDesc)
public static JkDependencySet of()
public static JkDependencySet of(java.util.List<? extends JkDependency> dependencies)
JkDependencySet
to the specified scoped dependencies.public static JkDependencySet of(JkDependency dependency)
public java.util.List<JkDependency> getEntries()
public JkDependencySet and(JkDependencySet.Hint hint, JkDependencySet other)
JkDependency
s, at the
specified place and condition.public JkDependencySet and(JkDependencySet.Hint hint, java.util.List<? extends JkDependency> others)
public JkDependencySet and(java.util.List<? extends JkDependency> others)
JkDependency
s at the tail of
this one.public JkDependencySet and(JkDependencySet other)
public JkDependencySet and(JkDependencySet.Hint hint, JkDependency... others)
public JkDependencySet and(JkDependency... others)
public JkDependencySet and(JkDependencySet.Hint hint, java.lang.String moduleDescriptor)
public JkDependencySet and(JkDependencySet.Hint hint, JkModuleId moduleId)
public JkDependencySet and(JkModuleId moduleId)
public JkDependencySet and(java.lang.String moduleDescriptor)
public JkDependencySet and(JkDependencySet.Hint hint, java.lang.String moduleDescriptor, JkTransitivity transitivity)
public JkDependencySet and(java.lang.String moduleDescriptor, JkTransitivity transitivity)
public JkDependencySet andFiles(JkDependencySet.Hint hint, java.lang.Iterable<java.nio.file.Path> paths)
public JkDependencySet andFiles(java.lang.Iterable<java.nio.file.Path> paths)
public JkDependencySet andFiles(JkDependencySet.Hint hint, java.lang.String... paths)
public JkDependencySet andFiles(java.lang.String... paths)
public JkDependencySet minus(java.util.List<JkDependency> dependencies)
public JkDependencySet minus(JkDependency dependency)
public JkDependencySet minus(java.nio.file.Path path)
public JkDependencySet minus(JkModuleId moduleId)
public JkDependencySet minus(java.lang.String moduleId)
public JkDependencySet withGlobalTransitivityReplacement(JkTransitivity formerTransitivity, JkTransitivity newTransitivity)
public JkDependencySet withTransitivity(java.lang.String moduleId, JkTransitivity newTransitivity)
public JkDependencySet mergeLocalProjectExportedDependencies()
public JkDependencySet withVersionProvider(JkVersionProvider versionProvider)
public JkDependencySet andVersionProvider(JkVersionProvider versionProvider)
public boolean hasModules()
true
if this object contains dependencies whose are
JkModuleDependency
.public JkVersionProvider getVersionProvider()
Versions present here will overwrite versions found in transitive dependencies and unversioned direct dependencies.
Versions present in direct dependencies won't be overridden.
public java.lang.String toString()
toString
in class java.lang.Object
public JkModuleDependency get(java.lang.String moduleId)
JkDependency
declared for the specified
JkModuleId
. Returns null
if no dependency on this
module exists in this object.public <T extends JkDependency> T getMatching(T dependency)
public java.util.List<JkModuleDependency> getModuleDependencies()
public boolean hasDynamicVersions()
true
if this object contains dependency on external
module whose rely on dynamic version. It can be either dynamic version as
"1.3.+", "[1.0, 2.0[" ,... or snapshot version as defined in Maven (as
"1.0-SNAPSHOT).public boolean hasDynamicAndResolvableVersions()
true
if this object contains dependency on external
module whose rely on dynamic version that are resolvable (Maven Snapshot
versions are dynamic but not resolvable). It only stands for dynamic
versions as "1.3.+", "[1.0, 2.0[" ,... If so, when resolving, dynamic
versions are replaced by fixed resolved ones.public JkDependencySet withIdeProjectDir(java.nio.file.Path ideProjectDir)
public JkDependencySet minusModuleDependenciesHavingIdeProjectDir()
public JkDependencySetMerge merge(JkDependencySet other)
public java.util.Set<java.nio.file.Path> getIdePathDirs()
public JkDependencySet normalised(JkVersionedModule.ConflictStrategy conflictStrategy)
public JkDependencySet normalised()
public JkDependencySet assertNoUnspecifiedVersion()
IllegalStateException
if one of the module dependencies has an unspecified version.public java.util.List<JkDependency> getVersionedDependencies()
versionProvider
versions to module dependencies
that does not specify one.public java.util.List<JkModuleDependency> getVersionedModuleDependencies()
public JkDependencySet withModuleDependenciesOnly()
JkModuleDependency
.public JkDependencySet withLocalExclusions(JkDependencyExclusion... exclusions)
public JkDependencySet withLocalExclusions(java.lang.String... groupAndNames)
groupAndNames
- moduleIds to exclude (e.g. "a.group:a.name", "another.group:another.name", ...).public java.util.Set<JkDependencyExclusion> getGlobalExclusions()
public JkDependencySet andGlobalExclusion(JkDependencyExclusion exclusion)
public JkDependencySet andGlobalExclusion(java.lang.String groupAndName)
public JkDependencySet withGlobalExclusion(java.util.Set<JkDependencyExclusion> excludes)
public static java.lang.String toJavaCode(int indentCount, java.util.List<JkDependency> dependencies, boolean and)