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:
parent
67cb7a5360
commit
18a34a2cc9
9 changed files with 260 additions and 32 deletions
|
@ -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")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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:")
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue