From 9f76eeabdc421e3552f8283b69f707d7509dfcbe Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Thu, 19 Nov 2015 19:57:14 -0800 Subject: [PATCH] Initialize the Pom lazily. --- src/main/kotlin/com/beust/kobalt/maven/Pom.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/beust/kobalt/maven/Pom.kt b/src/main/kotlin/com/beust/kobalt/maven/Pom.kt index 8871bf2e..c65d3252 100644 --- a/src/main/kotlin/com/beust/kobalt/maven/Pom.kt +++ b/src/main/kotlin/com/beust/kobalt/maven/Pom.kt @@ -54,9 +54,9 @@ public class Pom @javax.inject.Inject constructor(@Assisted val id: String, val id: String = "$groupId:$artifactId:$version" } - var dependencies = arrayListOf() + val dependencies: List by lazy { + val result = arrayListOf() - init { val DEPENDENCIES = XPATH.compile("/project/dependencies/dependency") val document = kotlinx.dom.parseXml(InputSource(FileReader(documentFile))) @@ -99,8 +99,9 @@ public class Pom @javax.inject.Inject constructor(@Assisted val id: String, } log(3, "Done parsing: $groupId $artifactId $version") val tmpDependency = Dependency(groupId!!, artifactId!!, packaging, version, optional!!, scope) - dependencies.add(tmpDependency) + result.add(tmpDependency) } + result } override public fun toString() = toString("Pom", id, "id")