43 lines
845 B
Kotlin
Vendored
43 lines
845 B
Kotlin
Vendored
val foo = object : AntBuilder() {
|
|
|
|
@lazy val groovy = library {
|
|
classpath("$libs/groovy-...")
|
|
}
|
|
|
|
@lazy val gant = library {
|
|
File("$gantHome/lib").files.each {
|
|
classpath(it)
|
|
}
|
|
}
|
|
|
|
@lazy val JPS = module {
|
|
targetLevel = "1.5"
|
|
classpath(antLayout, gant, groovy)
|
|
src("$projectHome/antLayout/src")
|
|
}
|
|
|
|
}.build()
|
|
|
|
class AntBuilder {
|
|
abstract class ClassPathEntry {}
|
|
|
|
class Module : ClassPathEntry {
|
|
fun classpath(entries : ClassPathEntry/*...*/) { /*...*/ }
|
|
var targetLevel : String
|
|
fun src(src : String) { /*...*/ }
|
|
}
|
|
|
|
class Library : ClassPathEntry {
|
|
fun classpath(entries : ClassPathEntry/*...*/) { /*...*/ }
|
|
}
|
|
|
|
fun library(initializer : Library.() -> Library) {
|
|
val lib = Library()
|
|
lib.initializer()
|
|
return lib
|
|
}
|
|
|
|
fun classpath(/*...*/)
|
|
|
|
fun module(/*...*/)
|
|
} |