mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 08:27:12 -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.misc.Topological
|
||||
import com.beust.kobalt.plugins
|
||||
import com.google.common.collect.ArrayListMultimap
|
||||
import com.google.inject.Injector
|
||||
import java.io.File
|
||||
import java.io.InputStream
|
||||
|
@ -85,16 +83,20 @@ public class Kobalt {
|
|||
|
||||
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>) {
|
||||
topological.addEdge(project, projects)
|
||||
topologicalProjects.addEdge(project, projects)
|
||||
}
|
||||
|
||||
/**
|
||||
* @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)
|
||||
}
|
||||
|
|
|
@ -107,10 +107,11 @@ public class JavaPlugin @Inject constructor(
|
|||
}
|
||||
|
||||
@Directive
|
||||
public fun javaProject(init: JavaProject.() -> Unit): JavaProject {
|
||||
val pd = JavaProject()
|
||||
pd.init()
|
||||
return pd
|
||||
public fun javaProject(vararg project: Project, init: JavaProject.() -> Unit): JavaProject {
|
||||
return JavaProject().apply {
|
||||
init()
|
||||
Kobalt.declareProjectDependencies(this, project)
|
||||
}
|
||||
}
|
||||
|
||||
class JavaCompilerConfig {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue