diff --git a/src/main/kotlin/com/beust/kobalt/api/Project.kt b/src/main/kotlin/com/beust/kobalt/api/Project.kt index 258e090f..e49f047d 100644 --- a/src/main/kotlin/com/beust/kobalt/api/Project.kt +++ b/src/main/kotlin/com/beust/kobalt/api/Project.kt @@ -44,7 +44,7 @@ open public class Project( return sources } - var sourceDirectories : ArrayList = arrayListOf() + var sourceDirectories : HashSet = hashSetOf() get() = if (field.isEmpty()) projectInfo.defaultSourceDirectories else field set(value) { field = value @@ -57,7 +57,7 @@ open public class Project( return sources } - var sourceDirectoriesTest : ArrayList = arrayListOf() + var sourceDirectoriesTest : HashSet = hashSetOf() get() = if (field.isEmpty()) projectInfo.defaultTestDirectories else field set(value) { @@ -94,7 +94,7 @@ open public class Project( val projectName: String get() = name } -public class Sources(val project: Project, val sources: ArrayList) { +public class Sources(val project: Project, val sources: HashSet) { @Directive public fun path(vararg paths: String) { sources.addAll(paths) diff --git a/src/main/kotlin/com/beust/kobalt/internal/BuildGenerator.kt b/src/main/kotlin/com/beust/kobalt/internal/BuildGenerator.kt index 190a583b..df47c36d 100644 --- a/src/main/kotlin/com/beust/kobalt/internal/BuildGenerator.kt +++ b/src/main/kotlin/com/beust/kobalt/internal/BuildGenerator.kt @@ -12,8 +12,8 @@ import java.util.* * Abstract base class for the build generators that use build-template.mustache. */ abstract class BuildGenerator : IInitContributor { - abstract val defaultSourceDirectories : ArrayList - abstract val defaultTestDirectories : ArrayList + abstract val defaultSourceDirectories : HashSet + abstract val defaultTestDirectories : HashSet abstract val directive : String abstract val name : String abstract val fileMatch : (String) -> Boolean diff --git a/src/main/kotlin/com/beust/kobalt/internal/ProjectInfo.kt b/src/main/kotlin/com/beust/kobalt/internal/ProjectInfo.kt index 2c8ee288..81653a92 100644 --- a/src/main/kotlin/com/beust/kobalt/internal/ProjectInfo.kt +++ b/src/main/kotlin/com/beust/kobalt/internal/ProjectInfo.kt @@ -6,6 +6,6 @@ import java.util.* * Data that is useful for projects to have but should not be specified in the DSL. */ interface IProjectInfo { - val defaultSourceDirectories: ArrayList - val defaultTestDirectories: ArrayList + val defaultSourceDirectories: HashSet + val defaultTestDirectories: HashSet } diff --git a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt index 11307667..6cfd288f 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaPlugin.kt @@ -89,7 +89,7 @@ public class JavaPlugin @Inject constructor( return result } - private fun findSourceFiles(dir: String, sourceDirectories: List): List { + private fun findSourceFiles(dir: String, sourceDirectories: Collection): List { val projectDir = File(dir) return files.findRecursively(projectDir, sourceDirectories.map { File(it) }) { it: String -> it.endsWith(".java") } diff --git a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaProjectInfo.kt b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaProjectInfo.kt index 9b5513ec..f0ae3ff3 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/java/JavaProjectInfo.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/java/JavaProjectInfo.kt @@ -5,6 +5,6 @@ import com.google.inject.Singleton @Singleton class JavaProjectInfo : IProjectInfo { - override val defaultSourceDirectories = arrayListOf("src/main/java", "src/main/resources") - override val defaultTestDirectories = arrayListOf("src/test/java", "src/test/resources") + override val defaultSourceDirectories = hashSetOf("src/main/java", "src/main/resources") + override val defaultTestDirectories = hashSetOf("src/test/java", "src/test/resources") } diff --git a/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinProjectInfo.kt b/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinProjectInfo.kt index 77a07678..30f9c153 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinProjectInfo.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinProjectInfo.kt @@ -5,7 +5,7 @@ import com.google.inject.Singleton @Singleton class KotlinProjectInfo : IProjectInfo { - override val defaultSourceDirectories = arrayListOf("src/main/kotlin", "src/main/resources") - override val defaultTestDirectories = arrayListOf("src/test/kotlin", "src/test/resources") + override val defaultSourceDirectories = hashSetOf("src/main/kotlin", "src/main/resources") + override val defaultTestDirectories = hashSetOf("src/test/kotlin", "src/test/resources") }