diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Aether.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Aether.kt index 8986d3b2..4e8796b0 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Aether.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Aether.kt @@ -31,6 +31,7 @@ import org.eclipse.aether.resolution.VersionRangeResult import org.eclipse.aether.transfer.ArtifactNotFoundException import org.eclipse.aether.util.artifact.JavaScopes import java.io.File +import java.util.* import java.util.concurrent.Future enum class Scope(val scope: String, val dependencyLambda: (Project) -> List) { @@ -300,81 +301,81 @@ class AetherDependency(val artifact: Artifact, override val optional: Boolean = override fun toString() = id } -fun f(argv: Array) { - val collectRequest = CollectRequest().apply { - root = Dependency(DefaultArtifact("com.squareup.retrofit2:converter-jackson:jar:2.1.0"), JavaScopes.COMPILE) - repositories = listOf( -// RemoteRepository.Builder("Maven", "default", "http://repo1.maven.org/maven2/").build() - RemoteRepository.Builder("JCenter", "default", "https://jcenter.bintray.com").build() - ) - } -// val dependencyRequest = DependencyRequest().apply { -// collectRequest = request -// filter = object: DependencyFilter { -// override fun accept(p0: DependencyNode, p1: MutableList?): Boolean { -// if (p0.artifact.artifactId.contains("android")) { -// println("ANDROID") -// } -// return p0.dependency.scope == JavaScopes.COMPILE -// } -// -// } +//fun f(argv: Array) { +// val collectRequest = CollectRequest().apply { +// root = Dependency(DefaultArtifact("com.squareup.retrofit2:converter-jackson:jar:2.1.0"), JavaScopes.COMPILE) +// repositories = listOf( +//// RemoteRepository.Builder("Maven", "default", "http://repo1.maven.org/maven2/").build() +// RemoteRepository.Builder("JCenter", "default", "https://jcenter.bintray.com").build() +// ) // } - val dr2 = DependencyRequest(collectRequest, null).apply {} - - -// val system = ManualRepositorySystemFactory.newRepositorySystem() -// val session = DefaultRepositorySystemSession() -// val localRepo = LocalRepository(File("/Users/cedricbeust/t/localAether").absolutePath) -// session.localRepositoryManager = system.newLocalRepositoryManager(session, localRepo) - - val system = Booter.newRepositorySystem() - val session = Booter.newRepositorySystemSession(system) - - val result = system.resolveDependencies(session, dr2).artifactResults - println("RESULT: " + result) - -// KobaltLogger.LOG_LEVEL = 1 -// val id = "org.testng:testng:6.9.11" -// val aether = KobaltAether(KobaltSettings(KobaltSettingsXml()), Aether(File(homeDir(".aether")), -// KobaltSettings(KobaltSettingsXml()), EventBus())) -// val r = aether.resolve(id) -// val r2 = aether.resolve(id) -// val d = org.eclipse.aether.artifact.DefaultArtifact("org.testng:testng:6.9") +//// val dependencyRequest = DependencyRequest().apply { +//// collectRequest = request +//// filter = object: DependencyFilter { +//// override fun accept(p0: DependencyNode, p1: MutableList?): Boolean { +//// if (p0.artifact.artifactId.contains("android")) { +//// println("ANDROID") +//// } +//// return p0.dependency.scope == JavaScopes.COMPILE +//// } +//// +//// } +//// } +// val dr2 = DependencyRequest(collectRequest, null).apply {} // -// println("Artifact: " + d) -} +// +//// val system = ManualRepositorySystemFactory.newRepositorySystem() +//// val session = DefaultRepositorySystemSession() +//// val localRepo = LocalRepository(File("/Users/cedricbeust/t/localAether").absolutePath) +//// session.localRepositoryManager = system.newLocalRepositoryManager(session, localRepo) +// +// val system = Booter.newRepositorySystem() +// val session = Booter.newRepositorySystemSession(system) +// +// val result = system.resolveDependencies(session, dr2).artifactResults +// println("RESULT: " + result) +// +//// KobaltLogger.LOG_LEVEL = 1 +//// val id = "org.testng:testng:6.9.11" +//// val aether = KobaltAether(KobaltSettings(KobaltSettingsXml()), Aether(File(homeDir(".aether")), +//// KobaltSettings(KobaltSettingsXml()), EventBus())) +//// val r = aether.resolve(id) +//// val r2 = aether.resolve(id) +//// val d = org.eclipse.aether.artifact.DefaultArtifact("org.testng:testng:6.9") +//// +//// println("Artifact: " + d) +//} -fun f2() { - val system = Booter.newRepositorySystem() - - val session = Booter.newRepositorySystemSession(system) - - val artifact = DefaultArtifact("com.squareup.retrofit2:converter-jackson:jar:2.1.0") - -// DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter( JavaScopes.COMPILE ); - val f2 = DependencyFilter { dependencyNode, list -> - println("ACCEPTING " + dependencyNode) - true - } - - val collectRequest = CollectRequest() - collectRequest.root = Dependency(artifact, JavaScopes.COMPILE) - collectRequest.repositories = listOf( - RemoteRepository.Builder("Maven", "default", "http://repo1.maven.org/maven2/").build() - ) - - val dependencyRequest = DependencyRequest(collectRequest, null) - - val artifactResults = system.resolveDependencies(session, dependencyRequest).artifactResults - - for (artifactResult in artifactResults) { - println(artifactResult.artifact.toString() + " resolved to " + artifactResult.artifact.file) - } -} - - -fun main(args: Array) { - f2() -} +//fun f2() { +// val system = Booter.newRepositorySystem() +// +// val session = Booter.newRepositorySystemSession(system) +// +// val artifact = DefaultArtifact("com.squareup.retrofit2:converter-jackson:jar:2.1.0") +// +//// DependencyFilter classpathFlter = DependencyFilterUtils.classpathFilter( JavaScopes.COMPILE ); +// val f2 = DependencyFilter { dependencyNode, list -> +// println("ACCEPTING " + dependencyNode) +// true +// } +// +// val collectRequest = CollectRequest() +// collectRequest.root = Dependency(artifact, JavaScopes.COMPILE) +// collectRequest.repositories = listOf( +// RemoteRepository.Builder("Maven", "default", "http://repo1.maven.org/maven2/").build() +// ) +// +// val dependencyRequest = DependencyRequest(collectRequest, null) +// +// val artifactResults = system.resolveDependencies(session, dependencyRequest).artifactResults +// +// for (artifactResult in artifactResults) { +// println(artifactResult.artifact.toString() + " resolved to " + artifactResult.artifact.file) +// } +//} +// +// +//fun main(args: Array) { +// f2() +//} diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Booter.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Booter.kt index f963ff4c..e3b52dcd 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Booter.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Booter.kt @@ -16,20 +16,20 @@ object Booter { // return org.eclipse.aether.examples.plexus.PlexusRepositorySystemFactory.newRepositorySystem(); } - fun newRepositorySystemSession(system: RepositorySystem): DefaultRepositorySystemSession { - val session = org.apache.maven.repository.internal.MavenRepositorySystemUtils.newSession() - - val localRepo = LocalRepository("target/local-repo") - session.localRepositoryManager = system.newLocalRepositoryManager(session, localRepo) - - session.transferListener = ConsoleTransferListener() - session.repositoryListener = ConsoleRepositoryListener(System.out, EventBus()) - - // uncomment to generate dirty trees - // session.setDependencyGraphTransformer( null ); - - return session - } +// fun newRepositorySystemSession(system: RepositorySystem): DefaultRepositorySystemSession { +// val session = org.apache.maven.repository.internal.MavenRepositorySystemUtils.newSession() +// +// val localRepo = LocalRepository("target/local-repo") +// session.localRepositoryManager = system.newLocalRepositoryManager(session, localRepo) +// +// session.transferListener = ConsoleTransferListener() +// session.repositoryListener = ConsoleRepositoryListener(System.out, EventBus()) +// +// // uncomment to generate dirty trees +// // session.setDependencyGraphTransformer( null ); +// +// return session +// } fun newRepositorySystemSession(system: RepositorySystem, repo: File, settings: KobaltSettings, eventBus: EventBus): DefaultRepositorySystemSession { diff --git a/src/test/kotlin/com/beust/kobalt/misc/AetherTest.kt b/src/test/kotlin/com/beust/kobalt/misc/AetherTest.kt index ede0890b..7504a2ae 100644 --- a/src/test/kotlin/com/beust/kobalt/misc/AetherTest.kt +++ b/src/test/kotlin/com/beust/kobalt/misc/AetherTest.kt @@ -1,9 +1,13 @@ package com.beust.kobalt.misc import com.beust.kobalt.TestModule +import com.beust.kobalt.internal.KobaltSettings +import com.beust.kobalt.internal.KobaltSettingsXml import com.beust.kobalt.maven.DependencyManager +import com.beust.kobalt.maven.LocalRepo import com.beust.kobalt.maven.aether.Booter import com.beust.kobalt.maven.aether.KobaltAether +import com.google.common.eventbus.EventBus import com.google.inject.Inject import org.assertj.core.api.Assertions.assertThat import org.eclipse.aether.artifact.DefaultArtifact @@ -23,10 +27,14 @@ class AetherTest { @Inject lateinit var dependencyManager: DependencyManager + @Inject + lateinit var localRepo: LocalRepo + @Test fun aetherShouldNotIncludeOptionalDependencies() { val system = Booter.newRepositorySystem() - val session = Booter.newRepositorySystemSession(system) + val session = Booter.newRepositorySystemSession(system, + localRepo.localRepo, KobaltSettings(KobaltSettingsXml()), EventBus()) val artifact = DefaultArtifact("com.squareup.retrofit2:converter-jackson:jar:2.1.0") val collectRequest = CollectRequest().apply {