mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-27 00:38:11 -07:00
LATEST version work.
This commit is contained in:
parent
50641b14df
commit
811e1bceb7
1 changed files with 36 additions and 13 deletions
|
@ -16,11 +16,9 @@ import org.eclipse.aether.collection.CollectResult
|
||||||
import org.eclipse.aether.graph.Dependency
|
import org.eclipse.aether.graph.Dependency
|
||||||
import org.eclipse.aether.graph.DependencyFilter
|
import org.eclipse.aether.graph.DependencyFilter
|
||||||
import org.eclipse.aether.graph.DependencyNode
|
import org.eclipse.aether.graph.DependencyNode
|
||||||
|
import org.eclipse.aether.metadata.DefaultMetadata
|
||||||
import org.eclipse.aether.repository.RemoteRepository
|
import org.eclipse.aether.repository.RemoteRepository
|
||||||
import org.eclipse.aether.resolution.ArtifactResult
|
import org.eclipse.aether.resolution.*
|
||||||
import org.eclipse.aether.resolution.DependencyRequest
|
|
||||||
import org.eclipse.aether.resolution.DependencyResolutionException
|
|
||||||
import org.eclipse.aether.resolution.VersionRequest
|
|
||||||
import org.eclipse.aether.util.artifact.JavaScopes
|
import org.eclipse.aether.util.artifact.JavaScopes
|
||||||
import org.eclipse.aether.util.filter.AndDependencyFilter
|
import org.eclipse.aether.util.filter.AndDependencyFilter
|
||||||
import org.eclipse.aether.util.filter.DependencyFilterUtils
|
import org.eclipse.aether.util.filter.DependencyFilterUtils
|
||||||
|
@ -55,7 +53,11 @@ class Aether(val localRepo: File = File(homeDir(TEST_DIR))) {
|
||||||
ExcludeOptionalDependencyFilter(),
|
ExcludeOptionalDependencyFilter(),
|
||||||
DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE))
|
DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE))
|
||||||
private val kobaltRepositories : List<RemoteRepository>
|
private val kobaltRepositories : List<RemoteRepository>
|
||||||
get() = Kobalt.repos.map { RemoteRepository.Builder("maven", "default", it.url).build() }
|
get() = Kobalt.repos.map {
|
||||||
|
RemoteRepository.Builder("maven", "default", it.url)
|
||||||
|
// .setSnapshotPolicy(RepositoryPolicy(false, null, null))
|
||||||
|
.build()
|
||||||
|
}
|
||||||
|
|
||||||
private fun collectRequest(artifact: Artifact) : CollectRequest {
|
private fun collectRequest(artifact: Artifact) : CollectRequest {
|
||||||
with(CollectRequest()) {
|
with(CollectRequest()) {
|
||||||
|
@ -66,8 +68,28 @@ class Aether(val localRepo: File = File(homeDir(TEST_DIR))) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun resolveVersion(artifact: Artifact)
|
fun resolveVersion(artifact: Artifact): VersionRangeResult? {
|
||||||
= system.resolveVersion(session, VersionRequest(artifact, kobaltRepositories, null))
|
val metadata = DefaultMetadata(artifact.groupId, artifact.artifactId, "maven-metadata.xml",
|
||||||
|
org.eclipse.aether.metadata.Metadata.Nature.RELEASE)
|
||||||
|
|
||||||
|
val r = system.resolveMetadata(session, kobaltRepositories.map {
|
||||||
|
MetadataRequest(metadata, it, null).apply {
|
||||||
|
isFavorLocalRepository = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// kobaltRepositories.forEach {
|
||||||
|
// val request = MetadataRequest(metadata, it, null).apply {
|
||||||
|
// isFavorLocalRepository = false
|
||||||
|
// }
|
||||||
|
// val r = system.resolveMetadata(session, listOf(request))
|
||||||
|
// println("Repo: $it " + r)
|
||||||
|
// }
|
||||||
|
val request = VersionRangeRequest(artifact, kobaltRepositories, null)
|
||||||
|
val result = system.resolveVersionRange(session, request)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
fun resolve(artifact: Artifact): List<ArtifactResult>? {
|
fun resolve(artifact: Artifact): List<ArtifactResult>? {
|
||||||
try {
|
try {
|
||||||
|
@ -161,13 +183,14 @@ class AetherDependency(val artifact: Artifact): IClasspathDependency, Comparable
|
||||||
fun main(argv: Array<String>) {
|
fun main(argv: Array<String>) {
|
||||||
KobaltLogger.LOG_LEVEL = 2
|
KobaltLogger.LOG_LEVEL = 2
|
||||||
val aether = Aether()
|
val aether = Aether()
|
||||||
val artifact = DefaultArtifact("org.testng:testng:RELEASE")
|
val artifact = DefaultArtifact("org.testng:testng:(0,]")
|
||||||
aether.resolveVersion(artifact)?.let { versionResult ->
|
aether.resolveVersion(artifact)?.let { versionResult ->
|
||||||
println("Latest version: " + versionResult.version + " repo: " + versionResult.repository)
|
println("Latest version: " + versionResult + " " + versionResult.highestVersion)
|
||||||
val newArtifact = DefaultArtifact(artifact.groupId, artifact.artifactId, artifact.extension,
|
println("")
|
||||||
versionResult.version)
|
// val newArtifact = DefaultArtifact(artifact.groupId, artifact.artifactId, artifact.extension,
|
||||||
val artifactResult = aether.resolve(newArtifact)
|
// versionResult.highestVersion)
|
||||||
println(" File: " + artifactResult)
|
// val artifactResult = aether.resolve(newArtifact)
|
||||||
|
// println(" File: " + artifactResult)
|
||||||
}
|
}
|
||||||
val d2 = Aether().resolve(artifact)
|
val d2 = Aether().resolve(artifact)
|
||||||
// val dd = Aether().resolve("org.testng:testng:6.9.9")
|
// val dd = Aether().resolve("org.testng:testng:6.9.9")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue