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:
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.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")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue