mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-27 00:38:11 -07:00
Enable project dependencies for javaProject() too.
This commit is contained in:
parent
0e30ce1edf
commit
e3c36e9ad7
2 changed files with 12 additions and 9 deletions
|
@ -2,8 +2,6 @@ package com.beust.kobalt.api
|
||||||
|
|
||||||
import com.beust.kobalt.Plugins
|
import com.beust.kobalt.Plugins
|
||||||
import com.beust.kobalt.misc.Topological
|
import com.beust.kobalt.misc.Topological
|
||||||
import com.beust.kobalt.plugins
|
|
||||||
import com.google.common.collect.ArrayListMultimap
|
|
||||||
import com.google.inject.Injector
|
import com.google.inject.Injector
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.InputStream
|
import java.io.InputStream
|
||||||
|
@ -85,16 +83,20 @@ public class Kobalt {
|
||||||
|
|
||||||
val version = properties.getProperty(PROPERTY_KOBALT_VERSION)
|
val version = properties.getProperty(PROPERTY_KOBALT_VERSION)
|
||||||
|
|
||||||
val topological = Topological<Project>()
|
val topologicalProjects = Topological<Project>()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used by projects to specify that they depend on other projects, e.g.
|
||||||
|
* val p = javaProject(project1, project2) { ... }
|
||||||
|
*/
|
||||||
fun declareProjectDependencies(project: Project, projects: Array<out Project>) {
|
fun declareProjectDependencies(project: Project, projects: Array<out Project>) {
|
||||||
topological.addEdge(project, projects)
|
topologicalProjects.addEdge(project, projects)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the projects sorted topologically.
|
* @return the projects sorted topologically.
|
||||||
*/
|
*/
|
||||||
fun sortProjects(allProjects: ArrayList<Project>) = topological.sort(allProjects)
|
fun sortProjects(allProjects: ArrayList<Project>) = topologicalProjects.sort(allProjects)
|
||||||
|
|
||||||
fun findPlugin(name: String) = Plugins.findPlugin(name)
|
fun findPlugin(name: String) = Plugins.findPlugin(name)
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,10 +107,11 @@ public class JavaPlugin @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
@Directive
|
@Directive
|
||||||
public fun javaProject(init: JavaProject.() -> Unit): JavaProject {
|
public fun javaProject(vararg project: Project, init: JavaProject.() -> Unit): JavaProject {
|
||||||
val pd = JavaProject()
|
return JavaProject().apply {
|
||||||
pd.init()
|
init()
|
||||||
return pd
|
Kobalt.declareProjectDependencies(this, project)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class JavaCompilerConfig {
|
class JavaCompilerConfig {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue