work in progress on compiler unification between cli and plugin

This commit is contained in:
Alex Tkachman
2011-12-27 17:36:37 +02:00
parent 4272dafc36
commit 725bebc23f
43 changed files with 469 additions and 202 deletions
@@ -16,4 +16,4 @@ fun measureTimeNano(block: () -> Unit) : Long {
val start = System.nanoTime()
block()
return System.nanoTime() - start
}
}
@@ -21,9 +21,13 @@ class ModuleSetBuilder(): IModuleSetBuilder {
override fun getModules(): List<IModuleBuilder?>? = modules
}
class SourcesBuilder(val parent: ModuleBuilder) {
fun files(pattern: String) {
parent.addSourceFiles(pattern)
class SourcesBuilder() {
protected val sourceFiles: ArrayList<String?> = ArrayList<String?>()
fun files(vararg pattern: String) {
for(p in pattern) {
sourceFiles.add(p)
}
}
}
@@ -40,23 +44,18 @@ class JarBuilder(val parent: ModuleBuilder) {
}
open class ModuleBuilder(val name: String): IModuleBuilder {
val sourceFiles: ArrayList<String?> = ArrayList<String?>()
val source = SourcesBuilder()
val testSource = SourcesBuilder()
val classpathRoots: ArrayList<String?> = ArrayList<String?>()
var _jarName: String? = null
val source: SourcesBuilder
get() = SourcesBuilder(this)
val classpath: ClasspathBuilder
get() = ClasspathBuilder(this)
val jar: JarBuilder
get() = JarBuilder(this)
fun addSourceFiles(pattern: String) {
sourceFiles.add(pattern)
}
fun addClasspathEntry(name: String) {
classpathRoots.add(name)
}
@@ -65,7 +64,8 @@ open class ModuleBuilder(val name: String): IModuleBuilder {
_jarName = name
}
override fun getSourceFiles(): List<String?>? = sourceFiles
override fun getSourceFiles(): List<String?>? = source.sourceFiles
override fun getTestSourceFiles(): List<String?>? = testSource.sourceFiles
override fun getClasspathRoots(): List<String?>? = classpathRoots
override fun getModuleName(): String? = name
override fun getJarName(): String? = _jarName
@@ -8,6 +8,7 @@ import java.util.List;
public interface IModuleBuilder {
String getModuleName();
List<String> getSourceFiles();
List<String> getTestSourceFiles();
List<String> getClasspathRoots();
String getJarName();
}