diff --git a/libraries/stdlib/src/kotlin/modules/AllModules.kt b/libraries/stdlib/src/kotlin/modules/AllModules.kt new file mode 100644 index 00000000000..9fe91187dc5 --- /dev/null +++ b/libraries/stdlib/src/kotlin/modules/AllModules.kt @@ -0,0 +1,7 @@ +package kotlin.modules + +import java.util.ArrayList + +object AllModules : ThreadLocal>() { + override fun initialValue() = ArrayList() +} diff --git a/libraries/stdlib/src/kotlin/modules/Module.kt b/libraries/stdlib/src/kotlin/modules/Module.kt new file mode 100644 index 00000000000..a3a3d5c1d30 --- /dev/null +++ b/libraries/stdlib/src/kotlin/modules/Module.kt @@ -0,0 +1,13 @@ +package kotlin.modules + +public trait Module { + public fun getModuleName(): String + + public fun getOutputDirectory(): String + + public fun getSourceFiles(): List + + public fun getClasspathRoots(): List + + public fun getAnnotationsRoots(): List +} diff --git a/libraries/stdlib/src/kotlin/modules/ModuleBuilder.kt b/libraries/stdlib/src/kotlin/modules/ModuleBuilder.kt index 53c3021718d..35522d7b98a 100644 --- a/libraries/stdlib/src/kotlin/modules/ModuleBuilder.kt +++ b/libraries/stdlib/src/kotlin/modules/ModuleBuilder.kt @@ -1,12 +1,12 @@ package kotlin.modules -import java.util.* -import jet.modules.* +import java.util.ArrayList -public fun module(name: String, outputDir: String, callback: ModuleBuilder.() -> Unit) { +public fun module(name: String, outputDir: String, callback: ModuleBuilder.() -> Unit) { val builder = ModuleBuilder(name, outputDir) builder.callback() - AllModules.modules.get()?.add(builder) + jet.modules.AllModules.modules.get()?.add(builder) + kotlin.modules.AllModules.get()?.add(builder) } class SourcesBuilder(val parent: ModuleBuilder) { @@ -27,7 +27,7 @@ class AnnotationsPathBuilder(val parent: ModuleBuilder) { } } -open class ModuleBuilder(val name: String, val outputDir: String): Module { +open class ModuleBuilder(val name: String, val outputDir: String): jet.modules.Module, kotlin.modules.Module { // http://youtrack.jetbrains.net/issue/KT-904 private val sourceFiles0 = ArrayList() private val classpathRoots0 = ArrayList()