in buildSrc/src/main/kotlin/org/fbme/gradle/GenerateDistPluginTasks.kt [12:45]
fun GenerateDistPluginTasks(
project: Project,
mpsExtension: MpsExtension,
pluginId: String?
) {
with(project) {
val tasksEnabled = pluginId != null
val buildSrcPlugin by tasks.getting
val mps by configurations.registering {
isCanBeConsumed = true
isCanBeResolved = false
}
val buildDistPlugin by tasks.registering(Copy::class) {
enabled = tasksEnabled
dependsOn(buildSrcPlugin, mpsExtension.mpsArtifactTasks)
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from(rootProject.layout.buildDirectory.dir("src-plugins/$pluginId").map { it.asFileTree })
into(rootProject.layout.buildDirectory.dir("dist-plugins/$pluginId"))
from(mpsExtension.mpsArtifacts) {
into("languages")
}
}
artifacts {
add(mps.name, rootProject.layout.buildDirectory.dir("dist-plugins/$pluginId")) {
builtBy(buildDistPlugin)
}
}
}
}