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

Working on LATEST.

This commit is contained in:
Cedric Beust 2016-03-24 15:00:12 +04:00
parent 22ccb868c8
commit 50641b14df
4 changed files with 29 additions and 13 deletions

View file

@ -4,7 +4,6 @@ import com.beust.kobalt.api.IClasspathDependency
import com.beust.kobalt.api.Kobalt
import com.beust.kobalt.maven.aether.KobaltAether
import com.beust.kobalt.maven.dependency.FileDependency
import com.beust.kobalt.maven.dependency.MavenDependency
import com.beust.kobalt.misc.DependencyExecutor
import com.beust.kobalt.misc.KobaltExecutors
import com.google.inject.Key
@ -12,10 +11,8 @@ import java.util.concurrent.ExecutorService
import javax.inject.Inject
public class DepFactory @Inject constructor(val localRepo: LocalRepo,
val remoteRepo: RepoFinder,
val executors: KobaltExecutors,
val aether: KobaltAether,
val mavenDependencyFactory: MavenDependency.IFactory) {
val aether: KobaltAether) {
companion object {
val defExecutor : ExecutorService by lazy {

View file

@ -5,6 +5,7 @@ import com.beust.kobalt.api.IClasspathDependency
import com.beust.kobalt.api.Kobalt
import com.beust.kobalt.homeDir
import com.beust.kobalt.maven.CompletedFuture
import com.beust.kobalt.misc.KobaltLogger
import com.beust.kobalt.misc.Versions
import com.beust.kobalt.misc.log
import com.beust.kobalt.misc.warn
@ -15,9 +16,11 @@ 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.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.util.artifact.JavaScopes
import org.eclipse.aether.util.filter.AndDependencyFilter
import org.eclipse.aether.util.filter.DependencyFilterUtils
@ -51,16 +54,21 @@ class Aether(val localRepo: File = File(homeDir(TEST_DIR))) {
private val classpathFilter = AndDependencyFilter(
ExcludeOptionalDependencyFilter(),
DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE))
private val kobaltRepositories : List<RemoteRepository>
get() = Kobalt.repos.map { RemoteRepository.Builder("maven", "default", it.url).build() }
private fun collectRequest(artifact: Artifact) : CollectRequest {
with(CollectRequest()) {
root = Dependency(artifact, JavaScopes.COMPILE)
repositories = Booter.newRepositories(Kobalt.repos.map { it.url })
repositories = kobaltRepositories
return this
}
}
fun resolveVersion(artifact: Artifact)
= system.resolveVersion(session, VersionRequest(artifact, kobaltRepositories, null))
fun resolve(artifact: Artifact): List<ArtifactResult>? {
try {
val dependencyRequest = DependencyRequest(collectRequest(artifact), classpathFilter)
@ -151,8 +159,20 @@ class AetherDependency(val artifact: Artifact): IClasspathDependency, Comparable
}
fun main(argv: Array<String>) {
val d2 = Aether().transitiveDependencies(DefaultArtifact("com.google.inject:guice-parent:4.0"))
// val dd = Aether().directDependencies("org.testng:testng:6.9.9")
val artifact = d2?.root?.artifact
println("DD: " + d2)
KobaltLogger.LOG_LEVEL = 2
val aether = Aether()
val artifact = DefaultArtifact("org.testng:testng:RELEASE")
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)
}
val d2 = Aether().resolve(artifact)
// val dd = Aether().resolve("org.testng:testng:6.9.9")
// val artifact = d2?.root?.artifact
if (d2 != null && d2.size > 0) {
println("DD: " + d2)
}
}

View file

@ -3,7 +3,6 @@ package com.beust.kobalt.maven.aether
import org.eclipse.aether.DefaultRepositorySystemSession
import org.eclipse.aether.RepositorySystem
import org.eclipse.aether.repository.LocalRepository
import org.eclipse.aether.repository.RemoteRepository
import java.io.File
object Booter {
@ -30,7 +29,7 @@ object Booter {
return session
}
fun newRepositories(repositories: Collection<String>)
= repositories.map { RemoteRepository.Builder("maven", "default", it).build() }
// fun newRepositories(repositories: Collection<String>)
// = repositories.map { RemoteRepository.Builder("maven", "default", it).build() }
}

View file

@ -46,7 +46,7 @@ class ConsoleRepositoryListener @JvmOverloads constructor(out: PrintStream? = nu
}
override fun artifactDownloading(event: RepositoryEvent?) {
log(2, "Downloading artifact " + event!!.artifact + " from " + event.repository)
log(1, "Downloading artifact " + event!!.artifact + " from " + event.repository)
}
override fun artifactDownloaded(event: RepositoryEvent?) {