mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-27 00:38:11 -07:00
Working on LATEST.
This commit is contained in:
parent
22ccb868c8
commit
50641b14df
4 changed files with 29 additions and 13 deletions
|
@ -4,7 +4,6 @@ import com.beust.kobalt.api.IClasspathDependency
|
||||||
import com.beust.kobalt.api.Kobalt
|
import com.beust.kobalt.api.Kobalt
|
||||||
import com.beust.kobalt.maven.aether.KobaltAether
|
import com.beust.kobalt.maven.aether.KobaltAether
|
||||||
import com.beust.kobalt.maven.dependency.FileDependency
|
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.DependencyExecutor
|
||||||
import com.beust.kobalt.misc.KobaltExecutors
|
import com.beust.kobalt.misc.KobaltExecutors
|
||||||
import com.google.inject.Key
|
import com.google.inject.Key
|
||||||
|
@ -12,10 +11,8 @@ import java.util.concurrent.ExecutorService
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
public class DepFactory @Inject constructor(val localRepo: LocalRepo,
|
public class DepFactory @Inject constructor(val localRepo: LocalRepo,
|
||||||
val remoteRepo: RepoFinder,
|
|
||||||
val executors: KobaltExecutors,
|
val executors: KobaltExecutors,
|
||||||
val aether: KobaltAether,
|
val aether: KobaltAether) {
|
||||||
val mavenDependencyFactory: MavenDependency.IFactory) {
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val defExecutor : ExecutorService by lazy {
|
val defExecutor : ExecutorService by lazy {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.beust.kobalt.api.IClasspathDependency
|
||||||
import com.beust.kobalt.api.Kobalt
|
import com.beust.kobalt.api.Kobalt
|
||||||
import com.beust.kobalt.homeDir
|
import com.beust.kobalt.homeDir
|
||||||
import com.beust.kobalt.maven.CompletedFuture
|
import com.beust.kobalt.maven.CompletedFuture
|
||||||
|
import com.beust.kobalt.misc.KobaltLogger
|
||||||
import com.beust.kobalt.misc.Versions
|
import com.beust.kobalt.misc.Versions
|
||||||
import com.beust.kobalt.misc.log
|
import com.beust.kobalt.misc.log
|
||||||
import com.beust.kobalt.misc.warn
|
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.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.repository.RemoteRepository
|
||||||
import org.eclipse.aether.resolution.ArtifactResult
|
import org.eclipse.aether.resolution.ArtifactResult
|
||||||
import org.eclipse.aether.resolution.DependencyRequest
|
import org.eclipse.aether.resolution.DependencyRequest
|
||||||
import org.eclipse.aether.resolution.DependencyResolutionException
|
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
|
||||||
|
@ -51,16 +54,21 @@ class Aether(val localRepo: File = File(homeDir(TEST_DIR))) {
|
||||||
private val classpathFilter = AndDependencyFilter(
|
private val classpathFilter = AndDependencyFilter(
|
||||||
ExcludeOptionalDependencyFilter(),
|
ExcludeOptionalDependencyFilter(),
|
||||||
DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE))
|
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 {
|
private fun collectRequest(artifact: Artifact) : CollectRequest {
|
||||||
with(CollectRequest()) {
|
with(CollectRequest()) {
|
||||||
root = Dependency(artifact, JavaScopes.COMPILE)
|
root = Dependency(artifact, JavaScopes.COMPILE)
|
||||||
repositories = Booter.newRepositories(Kobalt.repos.map { it.url })
|
repositories = kobaltRepositories
|
||||||
|
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun resolveVersion(artifact: Artifact)
|
||||||
|
= system.resolveVersion(session, VersionRequest(artifact, kobaltRepositories, null))
|
||||||
|
|
||||||
fun resolve(artifact: Artifact): List<ArtifactResult>? {
|
fun resolve(artifact: Artifact): List<ArtifactResult>? {
|
||||||
try {
|
try {
|
||||||
val dependencyRequest = DependencyRequest(collectRequest(artifact), classpathFilter)
|
val dependencyRequest = DependencyRequest(collectRequest(artifact), classpathFilter)
|
||||||
|
@ -151,8 +159,20 @@ class AetherDependency(val artifact: Artifact): IClasspathDependency, Comparable
|
||||||
}
|
}
|
||||||
|
|
||||||
fun main(argv: Array<String>) {
|
fun main(argv: Array<String>) {
|
||||||
val d2 = Aether().transitiveDependencies(DefaultArtifact("com.google.inject:guice-parent:4.0"))
|
KobaltLogger.LOG_LEVEL = 2
|
||||||
// val dd = Aether().directDependencies("org.testng:testng:6.9.9")
|
val aether = Aether()
|
||||||
val artifact = d2?.root?.artifact
|
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)
|
println("DD: " + d2)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,6 @@ package com.beust.kobalt.maven.aether
|
||||||
import org.eclipse.aether.DefaultRepositorySystemSession
|
import org.eclipse.aether.DefaultRepositorySystemSession
|
||||||
import org.eclipse.aether.RepositorySystem
|
import org.eclipse.aether.RepositorySystem
|
||||||
import org.eclipse.aether.repository.LocalRepository
|
import org.eclipse.aether.repository.LocalRepository
|
||||||
import org.eclipse.aether.repository.RemoteRepository
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
object Booter {
|
object Booter {
|
||||||
|
@ -30,7 +29,7 @@ object Booter {
|
||||||
return session
|
return session
|
||||||
}
|
}
|
||||||
|
|
||||||
fun newRepositories(repositories: Collection<String>)
|
// fun newRepositories(repositories: Collection<String>)
|
||||||
= repositories.map { RemoteRepository.Builder("maven", "default", it).build() }
|
// = repositories.map { RemoteRepository.Builder("maven", "default", it).build() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ class ConsoleRepositoryListener @JvmOverloads constructor(out: PrintStream? = nu
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun artifactDownloading(event: RepositoryEvent?) {
|
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?) {
|
override fun artifactDownloaded(event: RepositoryEvent?) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue