Files
konrad 8a4f456e38 Publish shared FXML diagnostics and integrate IntelliJ Problems
Navigate authoritative FXML locations, withdraw stale results and preserve host Undo/Redo. Include editor ownership in native problem identity so equal diagnostics from separate owners survive independent cleanup. Qualify both hosts automatically.
2026-11-13 16:52:50 +01:00

44 lines
1.8 KiB
Kotlin

import org.jetbrains.intellij.platform.gradle.TestFrameworkType
plugins {
java
id("org.jetbrains.intellij.platform") version "2.20.1"
}
group = "de.neitzel.fxdesigner"
version = "0.1.0-SNAPSHOT"
repositories {
mavenLocal { content { includeGroup("de.neitzel.fxdesigner") } }
mavenCentral()
intellijPlatform { defaultRepositories() }
}
java { sourceCompatibility = JavaVersion.VERSION_25; targetCompatibility = JavaVersion.VERSION_25 }
tasks.withType<JavaCompile>().configureEach { options.release.set(25) }
val fxPlatform = if (System.getProperty("os.arch") == "aarch64") "mac-aarch64" else "mac"
dependencies {
implementation("de.neitzel.fxdesigner:designer-kit-ui:0.1.0-SNAPSHOT")
intellijPlatform {
local(providers.gradleProperty("ideaHome").orElse(providers.environmentVariable("IDEA_HOME")))
testFramework(TestFrameworkType.Platform)
bundledPlugin("com.intellij.problemsView")
}
// Maven platform profiles are not selected by Gradle: include the qualified macOS natives explicitly.
listOf("base", "controls", "fxml", "graphics", "media", "swing", "web").forEach {
implementation("org.openjfx:javafx-$it:26:$fxPlatform")
}
testImplementation("junit:junit:4.13.2")
testImplementation("de.neitzel.fxdesigner:designer-core:0.1.0-SNAPSHOT:tests")
}
intellijPlatform {
pluginConfiguration {
name = "Neitzel FX Designer"
ideaVersion { sinceBuild = "263.7307.200"; untilBuild = "263.*" }
}
instrumentCode = false
}
tasks.test { useJUnit(); jvmArgs("-Djava.awt.headless=true") }
tasks.test {
listOf("designer.workflow.fixtures", "designer.repository", "designer.target.java").forEach { key ->
providers.systemProperty(key).orNull?.let { systemProperty(key, it) }
}
}