Skip to content

Commit 2291043

Browse files
committed
fix(bulk-model-sync-gradle): avoid copy of file list
1 parent 791abcb commit 2291043

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

bulk-model-sync-gradle/src/main/kotlin/org/modelix/model/sync/bulk/gradle/tasks/ImportIntoModelServer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ abstract class ImportIntoModelServer @Inject constructor(of: ObjectFactory) : De
7474
client.runWrite(branchRef) { rootNode ->
7575
logger.info("Got root node: {}", rootNode)
7676
logger.info("Importing...")
77-
ModelImporter(rootNode).importFilesAsRootChildren(*files.toTypedArray())
77+
ModelImporter(rootNode).importFilesAsRootChildren(files)
7878
logger.info("Import finished")
7979
}
8080
}

bulk-model-sync-lib/src/commonMain/kotlin/org/modelix/model/sync/bulk/Util.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ import org.modelix.model.api.BuiltinLanguages
2121
import org.modelix.model.data.ModelData
2222
import org.modelix.model.data.NodeData
2323

24+
fun mergeModelData(models: Collection<ModelData>): ModelData {
25+
return ModelData(root = NodeData(children = models.map { it.root }))
26+
}
27+
28+
@Deprecated("use collection parameter for better performance")
2429
fun mergeModelData(vararg models: ModelData): ModelData {
2530
return ModelData(root = NodeData(children = models.map { it.root }))
2631
}

bulk-model-sync-lib/src/jvmMain/kotlin/org/modelix/model/sync/bulk/PlatformSpecific.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@ fun ModelImporter.import(jsonFile: File) {
3535
import(data)
3636
}
3737

38+
fun ModelImporter.importFilesAsRootChildren(files: Collection<File>) {
39+
val models = files.map { ModelData.fromJson(it.readText()) }
40+
import(mergeModelData(models))
41+
}
42+
43+
@Deprecated("use collection parameter for better performance")
3844
fun ModelImporter.importFilesAsRootChildren(vararg files: File) {
3945
val models = files.map { ModelData.fromJson(it.readText()) }
4046
import(mergeModelData(*models.toTypedArray()))

0 commit comments

Comments
 (0)