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

Better classpath calculations.

This commit is contained in:
Cedric Beust 2016-07-28 23:30:08 -08:00
parent 67cb7a5360
commit 18a34a2cc9
9 changed files with 260 additions and 32 deletions

View file

@ -56,11 +56,11 @@ class DynamicGraphTest {
addEdge(1, 3)
addEdge(2, 4)
addEdge(6, 7)
assertThat(transitiveClosure(1)).isEqualTo(setOf(1, 2, 3, 4))
assertThat(transitiveClosure(2)).isEqualTo(setOf(2, 4))
assertThat(transitiveClosure(3)).isEqualTo(setOf(3))
assertThat(transitiveClosure(6)).isEqualTo(setOf(6, 7))
assertThat(transitiveClosure(7)).isEqualTo(setOf(7))
assertThat(transitiveClosure(1)).isEqualTo(listOf(1, 2, 3, 4))
assertThat(transitiveClosure(2)).isEqualTo(listOf(2, 4))
assertThat(transitiveClosure(3)).isEqualTo(listOf(3))
assertThat(transitiveClosure(6)).isEqualTo(listOf(6, 7))
assertThat(transitiveClosure(7)).isEqualTo(listOf(7))
println("done")
}
}

View file

@ -15,6 +15,7 @@ import org.testng.annotations.Test
@Guice(modules = arrayOf(TestModule::class))
class DependencyManagerTest @Inject constructor(val dependencyManager: DependencyManager,
val dependencyManager2: DependencyManager2,
val compilerFactory: BuildFileCompiler.IFactory, override val aether: KobaltAether) : BaseTest(aether) {
private fun assertContains(dependencies: List<IClasspathDependency>, vararg ids: String) {
@ -69,4 +70,30 @@ class DependencyManagerTest @Inject constructor(val dependencyManager: Dependenc
assertContains(dependencies, ":testng:")
assertContains(dependencies, ":jcommander:")
}
@Test
fun honorRuntimeDependenciesBetweenProjects2() {
val buildFileString = """
import com.beust.kobalt.*
val lib = project {
name = "lib"
dependencies {
compile("org.testng:testng:6.9.11")
runtime("com.beust:jcommander:1.48")
}
}
val p = project(lib) {
name = "transitive"
}
"""
val compileResult = compileBuildFile(buildFileString, Args(), compilerFactory)
val project2 = compileResult.projects[1]
val dependencies = dependencyManager2.resolve(project2, Kobalt.context!!, isTest = false,
passedScopeFilters = listOf(Scope.COMPILE, Scope.RUNTIME))
assertContains(dependencies, ":testng:")
assertContains(dependencies, ":jcommander:")
}
}