1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 08:27:12 -07:00

LATEST version work.

This commit is contained in:
Cedric Beust 2016-03-24 22:24:44 -07:00
parent 50641b14df
commit 811e1bceb7

View file

@ -16,11 +16,9 @@ import org.eclipse.aether.collection.CollectResult
import org.eclipse.aether.graph.Dependency
import org.eclipse.aether.graph.DependencyFilter
import org.eclipse.aether.graph.DependencyNode
import org.eclipse.aether.metadata.DefaultMetadata
import org.eclipse.aether.repository.RemoteRepository
import org.eclipse.aether.resolution.ArtifactResult
import org.eclipse.aether.resolution.DependencyRequest
import org.eclipse.aether.resolution.DependencyResolutionException
import org.eclipse.aether.resolution.VersionRequest
import org.eclipse.aether.resolution.*
import org.eclipse.aether.util.artifact.JavaScopes
import org.eclipse.aether.util.filter.AndDependencyFilter
import org.eclipse.aether.util.filter.DependencyFilterUtils
@ -55,7 +53,11 @@ class Aether(val localRepo: File = File(homeDir(TEST_DIR))) {
ExcludeOptionalDependencyFilter(),
DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE))
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 {
with(CollectRequest()) {
@ -66,8 +68,28 @@ class Aether(val localRepo: File = File(homeDir(TEST_DIR))) {
}
}
fun resolveVersion(artifact: Artifact)
= system.resolveVersion(session, VersionRequest(artifact, kobaltRepositories, null))
fun resolveVersion(artifact: Artifact): VersionRangeResult? {
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>? {
try {
@ -161,13 +183,14 @@ class AetherDependency(val artifact: Artifact): IClasspathDependency, Comparable
fun main(argv: Array<String>) {
KobaltLogger.LOG_LEVEL = 2
val aether = Aether()
val artifact = DefaultArtifact("org.testng:testng:RELEASE")
val artifact = DefaultArtifact("org.testng:testng:(0,]")
aether.resolveVersion(artifact)?.let { versionResult ->
println("Latest version: " + versionResult.version + " repo: " + versionResult.repository)
val newArtifact = DefaultArtifact(artifact.groupId, artifact.artifactId, artifact.extension,
versionResult.version)
val artifactResult = aether.resolve(newArtifact)
println(" File: " + artifactResult)
println("Latest version: " + versionResult + " " + versionResult.highestVersion)
println("")
// val newArtifact = DefaultArtifact(artifact.groupId, artifact.artifactId, artifact.extension,
// versionResult.highestVersion)
// val artifactResult = aether.resolve(newArtifact)
// println(" File: " + artifactResult)
}
val d2 = Aether().resolve(artifact)
// val dd = Aether().resolve("org.testng:testng:6.9.9")