Skip to content

Commit 8553fd0

Browse files
committed
feat(bulk-model-sync-gradle): ability to add meta properties for root node
1 parent 6d0bb08 commit 8553fd0

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ class ModelSyncGradlePlugin : Plugin<Project> {
161161
it.includedModulePrefixes.set(syncDirection.includedModulePrefixes)
162162
it.continueOnError.set(syncDirection.continueOnError)
163163
it.requestTimeoutSeconds.set(serverTarget.requestTimeoutSeconds)
164+
it.metaProperties.set(serverTarget.metaProperties)
164165
}
165166

166167
project.tasks.register("runSync${syncDirection.name.replaceFirstChar { it.uppercaseChar() }}") {

bulk-model-sync-gradle/src/main/kotlin/org/modelix/model/sync/bulk/gradle/config/ModelSyncGradleSettings.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ data class ServerTarget(
184184
override var repositoryId: String? = null,
185185
override var branchName: String? = null,
186186
override var requestTimeoutSeconds: Int = DEFAULT_REQUEST_TIMEOUT_SECONDS,
187+
val metaProperties: MutableMap<String, String> = mutableMapOf(),
187188
) : ServerEndpoint {
188189
override fun getValidationErrors(): List<String> {
189190
val errors = mutableListOf<String>()

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import kotlinx.coroutines.runBlocking
2020
import org.gradle.api.DefaultTask
2121
import org.gradle.api.file.DirectoryProperty
2222
import org.gradle.api.model.ObjectFactory
23+
import org.gradle.api.provider.MapProperty
2324
import org.gradle.api.provider.Property
2425
import org.gradle.api.provider.SetProperty
2526
import org.gradle.api.tasks.Input
@@ -29,6 +30,7 @@ import org.gradle.api.tasks.PathSensitivity
2930
import org.gradle.api.tasks.TaskAction
3031
import org.modelix.model.ModelFacade
3132
import org.modelix.model.api.INode
33+
import org.modelix.model.api.IProperty
3234
import org.modelix.model.api.PNodeAdapter
3335
import org.modelix.model.client2.ModelClientV2
3436
import org.modelix.model.client2.runWrite
@@ -67,6 +69,9 @@ abstract class ImportIntoModelServer @Inject constructor(of: ObjectFactory) : De
6769
@Input
6870
val requestTimeoutSeconds: Property<Int> = of.property(Int::class.java)
6971

72+
@Input
73+
val metaProperties: MapProperty<String, String> = of.mapProperty(String::class.java, String::class.java)
74+
7075
@TaskAction
7176
fun import() {
7277
val inputDir = inputDir.get().asFile
@@ -91,6 +96,11 @@ abstract class ImportIntoModelServer @Inject constructor(of: ObjectFactory) : De
9196
logger.info("Got root node: {}", rootNode)
9297
logger.info("Calculating diff...")
9398
ModelImporter(rootNode, continueOnError.get()).importFilesAsRootChildren(files)
99+
100+
logger.info("Setting meta properties...")
101+
for ((key, value) in metaProperties.get()) {
102+
rootNode.setPropertyValue(IProperty.fromName(key), value)
103+
}
94104
}
95105
logger.info("Sending diff to server...")
96106
}

0 commit comments

Comments
 (0)