diff --git a/platform/jewel/buildSrc/src/main/kotlin/jewel.gradle.kts b/platform/jewel/buildSrc/src/main/kotlin/jewel.gradle.kts index 7b4a189dc363..f4514089db83 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/jewel.gradle.kts +++ b/platform/jewel/buildSrc/src/main/kotlin/jewel.gradle.kts @@ -56,13 +56,17 @@ kotlin { } tasks { - detektMain { exclude { it.file.absolutePath.startsWith(layout.buildDirectory.asFile.get().absolutePath) } } + // We need to use relative paths for patterns. + // Exclude does not work; this is how the Kotlinter plugin docs recommend doing it, and it works... + val buildDir = layout.buildDirectory.asFile.get().relativeTo(project.projectDir).path + detektMain { source = (source - fileTree(buildDir)).asFileTree } - formatKotlinMain { exclude { it.file.absolutePath.replace('\\', '/').contains("build/generated") } } - withType { exclude { it.file.absolutePath.contains("build/generated") } } + formatKotlinMain { source = (source - fileTree(buildDir)).asFileTree } + + withType { source = (source - fileTree(buildDir)).asFileTree } lintKotlinMain { - exclude { it.file.absolutePath.replace('\\', '/').contains("build/generated") } + source = (source - fileTree(buildDir)).asFileTree reports = provider { mapOf( diff --git a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/ApiIdeaReleasesItem.kt b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/ApiIdeaReleasesItem.kt deleted file mode 100644 index 29fec60d7094..000000000000 --- a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/ApiIdeaReleasesItem.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.jetbrains.jewel.buildlogic.ideversion - -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -internal data class ApiIdeaReleasesItem( - @SerialName("code") val code: String, - @SerialName("releases") val releases: List, -) { - - @Serializable - internal data class Release( - @SerialName("build") val build: String, - @SerialName("type") val type: String, - @SerialName("version") val version: String, - @SerialName("majorVersion") val majorVersion: String, - ) -} diff --git a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/CheckIdeaVersionTask.kt b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/CheckIdeaVersionTask.kt deleted file mode 100644 index 9945a907392b..000000000000 --- a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/CheckIdeaVersionTask.kt +++ /dev/null @@ -1,186 +0,0 @@ -package org.jetbrains.jewel.buildlogic.ideversion - -import java.io.File -import org.gradle.api.DefaultTask -import org.gradle.api.GradleException -import org.gradle.api.tasks.TaskAction - -open class CheckIdeaVersionTask : DefaultTask() { - - private val releasesUrl = - "https://data.services.jetbrains.com/products?" + - "fields=code,releases,releases.version,releases.build,releases.type,releases.majorVersion&" + - "code=IC" - - private val ideaVersionRegex = "202\\d\\.(\\d\\.)?\\d".toRegex(RegexOption.IGNORE_CASE) - - private val intelliJPlatformBuildRegex = "2\\d{2}\\.\\d+\\.\\d+(?:-EAP-SNAPSHOT)?".toRegex(RegexOption.IGNORE_CASE) - - private val currentIjpVersion = project.currentIjpVersion - - init { - group = "jewel" - } - - @TaskAction - fun generate() { - logger.lifecycle("Fetching IntelliJ Platform releases from $releasesUrl...") - val ideaVersion = readCurrentVersionInfo() - validateIdeaVersion(ideaVersion) - - val platformBuildsForThisMajorVersion = - IJPVersionsFetcher.fetchBuildsForCurrentMajorVersion(releasesUrl, ideaVersion.majorVersion, logger) - - if (platformBuildsForThisMajorVersion == null) { - logger.error("Cannot check platform version, no builds found for current version $ideaVersion") - return - } - - val latestAvailableBuild = platformBuildsForThisMajorVersion.last() - logger.info("The latest IntelliJ Platform ${ideaVersion.version} build is ${latestAvailableBuild.build}") - - val isCurrentBuildStable = ideaVersion.type.lowercase() != "eap" - if (IJPVersionsFetcher.compare(ideaVersion, latestAvailableBuild) < 0) { - throw GradleException( - buildString { - appendLine("IntelliJ Platform version dependency is out of date.") - appendLine() - - append("Current build: ${ideaVersion.build}") - if (!isCurrentBuildStable) append("-EAP-SNAPSHOT") - appendLine() - appendLine("Current version: ${ideaVersion.version}") - append("Detected channel: ") - appendLine(latestAvailableBuild.type) - appendLine() - - append("Latest build: ${latestAvailableBuild.build}") - if (!isCurrentBuildStable) append("-EAP-SNAPSHOT") - appendLine() - - append("Latest version: ") - if (isCurrentBuildStable) { - appendLine(latestAvailableBuild.version) - } else { - appendLine(latestAvailableBuild.build.removeSuffix("-EAP-SNAPSHOT")) - } - - appendLine( - "Please update the 'idea' and 'intelliJPlatformBuild' " + "versions in the catalog accordingly." - ) - } - ) - } - - logger.lifecycle( - "No IntelliJ Platform version updates available. " + - "Current: ${ideaVersion.build} (${ideaVersion.version})" - ) - } - - private fun readCurrentVersionInfo(): ApiIdeaReleasesItem.Release { - val catalogFile = project.rootProject.file("gradle/libs.versions.toml") - val ideaVersion = readIdeaVersion(catalogFile) - val isStableBuild = !ideaVersion.matches(intelliJPlatformBuildRegex) - - val platformBuild = readPlatformBuild(catalogFile) - val majorVersion = - if (isStableBuild) { - asMajorPlatformVersion(ideaVersion) - } else { - inferMajorPlatformVersion(platformBuild) - } - - return ApiIdeaReleasesItem.Release( - build = platformBuild.removeSuffix("-EAP-SNAPSHOT"), - version = ideaVersion, - majorVersion = majorVersion, - type = if (isStableBuild) "release" else "eap", - ) - } - - private fun asMajorPlatformVersion(rawVersion: String) = rawVersion.take(6) - - private fun inferMajorPlatformVersion(rawBuildNumber: String) = - "20${rawBuildNumber.take(2)}.${rawBuildNumber.substringBefore('.').last()}" - - private fun readIdeaVersion(catalogFile: File): String { - val versionName = "idea" - - val catalogDependencyLine = - catalogFile.useLines { lines -> lines.find { it.startsWith(versionName) } } - ?: throw GradleException( - "Unable to find IJP dependency '$versionName' in the catalog file '${catalogFile.path}'" - ) - - val dependencyVersion = - catalogDependencyLine.substringAfter(versionName).trimStart(' ', '=').trimEnd().trim('"') - - if (!dependencyVersion.matches(ideaVersionRegex) && !dependencyVersion.matches(intelliJPlatformBuildRegex)) { - throw GradleException("Invalid IJ IDEA version found in version catalog: '$dependencyVersion'") - } - - return dependencyVersion - } - - private fun readPlatformBuild(catalogFile: File): String { - val versionName = "intelliJPlatformBuild" - - val catalogDependencyLine = - catalogFile.useLines { lines -> lines.find { it.startsWith(versionName) } } - ?: throw GradleException( - "Unable to find IJP dependency '$versionName' in the catalog file '${catalogFile.path}'" - ) - - val declaredPlatformBuild = - catalogDependencyLine.substringAfter(versionName).trimStart(' ', '=').trimEnd().trim('"') - - if (!declaredPlatformBuild.matches(intelliJPlatformBuildRegex)) { - throw GradleException("Invalid IJP build found in version catalog: '$declaredPlatformBuild'") - } - - return declaredPlatformBuild - } - - private fun validateIdeaVersion(currentVersion: ApiIdeaReleasesItem.Release) { - val candidateMatches = - IJPVersionsFetcher.fetchIJPVersions(releasesUrl, logger) - ?: throw GradleException("Can't fetch all IJP releases.") - - val match = - candidateMatches.find { it.build == currentVersion.build } - ?: throw GradleException("IJ build ${currentVersion.build} seemingly does not exist") - - if (currentVersion.type != "eap" && match.version != currentVersion.version) { - throw GradleException( - buildString { - appendLine("The 'idea' and 'intelliJPlatformBuild' properties in the catalog don't match.") - append("'idea' = ") - append(currentVersion.version) - append(", 'intelliJPlatformBuild' = ") - appendLine(currentVersion.build) - appendLine() - appendLine("That build number is for version ${match.version}.") - appendLine("Adjust the values so they're aligned correctly.") - } - ) - } - - // The match's build doesn't contain the -EAP-SNAPSHOT SUFFIX - if (currentVersion.type == "eap" && currentVersion.version != match.build) { - throw GradleException( - buildString { - appendLine("The 'idea' and 'intelliJPlatformBuild' properties in the catalog don't match.") - append("'idea' = ") - append(currentVersion.version) - append(", 'intelliJPlatformBuild' = ") - appendLine(currentVersion.build + "-EAP-SNAPSHOT") - appendLine() - appendLine("For non-stable IJP versions, the version and build should match,") - appendLine("minus the '-EAP-SNAPSHOT' suffix in the build number.") - appendLine("Adjust the values so they're aligned correctly.") - } - ) - } - } -} diff --git a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/CurrentIjpTarget.kt b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/CurrentIjpTarget.kt deleted file mode 100644 index 04adba0fac56..000000000000 --- a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/CurrentIjpTarget.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.jetbrains.jewel.buildlogic.ideversion - -import org.gradle.api.Project - -val Project.currentIjpVersion: String - get() { - val rawValue = - property("ijp.target") as? String ?: error("Property ijp.target not defined. Check your gradle.properties!") - - if (rawValue.length != 3 || rawValue.toIntOrNull()?.let { it < 0 } == true) { - error("Invalid ijp.target property value: '$rawValue'") - } - - return rawValue - } diff --git a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/IJPVersionsFetcher.kt b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/IJPVersionsFetcher.kt deleted file mode 100644 index 749d70caab20..000000000000 --- a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/ideversion/IJPVersionsFetcher.kt +++ /dev/null @@ -1,97 +0,0 @@ -package org.jetbrains.jewel.buildlogic.ideversion - -import java.io.IOException -import java.net.URI -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.decodeFromStream -import org.gradle.api.logging.Logger - -internal object IJPVersionsFetcher { - - fun fetchIJPVersions(releasesUrl: String, logger: Logger): List? { - val json = Json { - ignoreUnknownKeys = true - isLenient = true - } - - val icReleases = - try { - URI.create(releasesUrl) - .toURL() - .openStream() - .use { json.decodeFromStream>(it) } - .first() - } catch (e: IOException) { - logger.warn( - "Couldn't fetch IJ Platform releases, can't check for updates.\n" + - "Cause: ${e::class.qualifiedName} — ${e.message}" - ) - return null - } catch (e: RuntimeException) { - logger.error("Unexpected error while fetching IJ Platform releases, can't check for updates.", e) - return null - } - - check(icReleases.code == "IIC") { "Was expecting code IIC but was ${icReleases.code}" } - check(icReleases.releases.isNotEmpty()) { "Was expecting to have releases but the list is empty" } - - return icReleases.releases - } - - fun fetchBuildsForCurrentMajorVersion( - releasesUrl: String, - majorPlatformVersion: String, - logger: Logger, - ): List? { - val releases = fetchIJPVersions(releasesUrl, logger) ?: return null - - return releases - .asSequence() - .filter { it.majorVersion == majorPlatformVersion } - .sortedWith(ReleaseComparator) - .toList() - } - - fun fetchLatestBuildForCurrentMajorVersion(releasesUrl: String, majorPlatformVersion: String, logger: Logger) = - fetchBuildsForCurrentMajorVersion(releasesUrl, majorPlatformVersion, logger)?.last() - - fun compare(first: ApiIdeaReleasesItem.Release, second: ApiIdeaReleasesItem.Release): Int = - VersionComparator.compare(first.build, second.build) - - private object ReleaseComparator : Comparator { - - override fun compare(o1: ApiIdeaReleasesItem.Release?, o2: ApiIdeaReleasesItem.Release?): Int { - if (o1 == o2) return 0 - if (o1 == null) return -1 - if (o2 == null) return 1 - - return VersionComparator.compare(o1.build, o2.build) - } - } - - private object VersionComparator : Comparator { - - override fun compare(o1: String?, o2: String?): Int { - if (o1 == o2) return 0 - if (o1 == null) return -1 - if (o2 == null) return 1 - - require(o1.isNotEmpty() && o1.all { it.isDigit() || it == '.' }) { "The first version is invalid: '$o1'" } - require(o2.isNotEmpty() && o2.all { it.isDigit() || it == '.' }) { "The first version is invalid: '$o2'" } - - val firstGroups = o1.split('.') - val secondGroups = o2.split('.') - - require(firstGroups.size == 3) { "The first version is invalid: '$o1'" } - require(secondGroups.size == 3) { "The second version is invalid: '$o2'" } - - val firstComparison = firstGroups[0].toInt().compareTo(secondGroups[0].toInt()) - if (firstComparison != 0) return firstComparison - - val secondComparison = firstGroups[1].toInt().compareTo(secondGroups[1].toInt()) - if (secondComparison != 0) return secondComparison - - return firstGroups[2].toInt().compareTo(secondGroups[2].toInt()) - } - } -} diff --git a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/theme/IntUiThemeDescriptorReader.kt b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/theme/IntUiThemeDescriptorReader.kt index 3b7e5d89c95b..ff6e24161479 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/theme/IntUiThemeDescriptorReader.kt +++ b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/theme/IntUiThemeDescriptorReader.kt @@ -7,22 +7,24 @@ import com.squareup.kotlinpoet.KModifier import com.squareup.kotlinpoet.PropertySpec import com.squareup.kotlinpoet.TypeSpec import com.squareup.kotlinpoet.joinToCode -import java.time.ZoneOffset -import java.time.ZonedDateTime import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonPrimitive internal object IntUiThemeDescriptorReader { - private val colorGroups = setOf("Gray", "Blue", "Green", "Red", "Yellow", "Orange", "Purple", "Teal") private val colorClassName = ClassName("androidx.compose.ui.graphics", "Color") - fun readThemeFrom(themeDescriptor: IntellijThemeDescriptor, className: ClassName, sourcePath: String) = + fun readThemeFrom( + themeDescriptor: IntellijThemeDescriptor, + className: ClassName, + sourcePath: String, + ijpMajor: String, + ) = FileSpec.builder(className) .apply { indent(" ") - val todayUtc = ZonedDateTime.now().withZoneSameInstant(ZoneOffset.UTC).toLocalDate() - addFileComment("Generated by the Jewel Int UI Palette Generator on $todayUtc\n") + addFileComment("Generated by the Jewel Int UI Palette Generator for IJP $ijpMajor\n") + addFileComment("*** DO NOT EDIT MANUALLY! Use generateThemes task to update. ***\n") addFileComment("Source: $sourcePath") addImport(colorClassName.packageName, colorClassName.simpleName) @@ -104,7 +106,9 @@ internal object IntUiThemeDescriptorReader { val pairValue = it.value if (pairValue is JsonPrimitive && pairValue.isString) { it.key to pairValue.content - } else null + } else { + null + } } .forEach { colorPalette[it.first] = it.second } } @@ -117,7 +121,7 @@ internal object IntUiThemeDescriptorReader { PropertySpec.builder("iconData", iconDataClassName, KModifier.OVERRIDE) .initializer( CodeBlock.of( - "ThemeIconData(iconOverrides = \n%L,colorPalette = \n%L,\nselectionColorPalette = %L\n)", + "ThemeIconData(\niconOverrides = \n%L,\ncolorPalette = \n%L,\nselectionColorPalette = %L\n)", iconOverridesBlock, colorPalette.toMapCodeBlock(), selectionColorPaletteBlock, @@ -127,8 +131,11 @@ internal object IntUiThemeDescriptorReader { ) } - private inline fun Map.toMapCodeBlock() = - entries + private inline fun Map.toMapCodeBlock(): CodeBlock { + if (entries.isEmpty()) return CodeBlock.of("emptyMap()") + + return entries .map { (key, value) -> CodeBlock.of("\"%L\" to \"%L\"", key, value) } .joinToCode(prefix = "mapOf(", separator = ",\n", suffix = ")") + } } diff --git a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/theme/IntelliJThemeGeneratorPlugin.kt b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/theme/IntelliJThemeGeneratorPlugin.kt index 39d153c4d51b..4a25176baa93 100644 --- a/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/theme/IntelliJThemeGeneratorPlugin.kt +++ b/platform/jewel/buildSrc/src/main/kotlin/org/jetbrains/jewel/buildlogic/theme/IntelliJThemeGeneratorPlugin.kt @@ -24,7 +24,6 @@ class ThemeGeneratorContainer(container: NamedDomainObjectContainer by container class ThemeGeneration(val name: String, project: Project) { - val targetDir: DirectoryProperty = project.objects.directoryProperty().convention(project.layout.buildDirectory.dir("generated/theme")) val themeClassName = project.objects.property() @@ -33,15 +32,11 @@ class ThemeGeneration(val name: String, project: Project) { @CacheableTask abstract class IntelliJThemeGeneratorTask : DefaultTask() { - @get:OutputFile abstract val outputFile: RegularFileProperty - @get:InputFile - @get:PathSensitive(PathSensitivity.RELATIVE) - abstract val themeFile: RegularFileProperty + @get:InputFile @get:PathSensitive(PathSensitivity.RELATIVE) abstract val themeFile: RegularFileProperty - @get:Input - abstract val themeFilePath: Property + @get:Input abstract val themeFilePath: Property @get:Input abstract val themeClassName: Property @@ -59,7 +54,19 @@ abstract class IntelliJThemeGeneratorTask : DefaultTask() { val themeDescriptor = themeFile.inputStream().use { json.decodeFromStream(it) } val className = ClassName.bestGuess(themeClassName.get()) - val file = IntUiThemeDescriptorReader.readThemeFrom(themeDescriptor, className, themeFilePath.get()) + val buildNumberFile = project.rootDir.resolve("../../build.txt") + check(buildNumberFile.isFile) { "The build.txt file must exist in the community root" } + + val buildNumber = buildNumberFile.readText().trim() + check(validateBuildNumber(buildNumber)) { "The build number in build.txt does not seem valid: '$buildNumber'" } + + val file = + IntUiThemeDescriptorReader.readThemeFrom( + themeDescriptor, + className, + themeFilePath.get(), + buildNumber.substringBefore('.'), + ) val outputFile = outputFile.get().asFile logger.lifecycle( @@ -67,6 +74,19 @@ abstract class IntelliJThemeGeneratorTask : DefaultTask() { ) outputFile.bufferedWriter().use { file.writeTo(it) } } + + private fun validateBuildNumber(buildNumber: String): Boolean { + // Examples: + // * 253.1234.567 + // * 241.SNAPSHOT + if (buildNumber.isBlank()) return false + if (buildNumber.length < 5) return false + if (buildNumber.take(3).toIntOrNull()?.takeIf { it > 240 } == null) return false + if (buildNumber[3] != '.') return false + + val afterDot = buildNumber.drop(4) + return afterDot == "SNAPSHOT" || afterDot.all { it.isDigit() || it == '.' } + } } @Serializable diff --git a/platform/jewel/docs/releasing-guide.md b/platform/jewel/docs/releasing-guide.md index 3f54f2d2af27..39957fd6e120 100644 --- a/platform/jewel/docs/releasing-guide.md +++ b/platform/jewel/docs/releasing-guide.md @@ -24,9 +24,9 @@ High-level steps: ``` 5. Cherry-pick the changes to the target release branches (e.g., `252`) 1. Make sure you've not included IJP major release-specific changes - 2. Update the `ijp.target` entry in [`gradle.properties`](../gradle.properties) - 3. Update the Kotlin version in the [Gradle version catalog](../gradle/libs.versions.toml) to match the IJP's Kotlin version - 4. Update other related versions if needed + 2. Update the Kotlin version in the [Gradle version catalog](../gradle/libs.versions.toml) to match the IJ Platform's Kotlin version + 3. Update other related versions if needed + 4. Run `./gradlew generateThemes --rerun-tasks` to update the standalone theme definitions 5. Run all Gradle-based checks 6. Run all IJ tests (e.g., via the `tests.cmd` script) 7. Verify everything works in the Jewel Standalone sample (components, Markdown rendering) @@ -36,8 +36,11 @@ High-level steps: ```shell ./scripts/metalava-signatures.sh --validate --release ``` - 11. Open a MR for each cherry-pick branch on Space -6. When both MRs are approved and merged, run the TeamCity job to publish the artefacts to Maven Central + 11. Open a merge request for each cherry-pick branch on Space +6. When both MRs are approved and merged: + 1. Run the TeamCity job to publish the artefacts to Maven Central + 2. Tag the commits the releases were cut from, with this format: `JEWEL-[Jewel version]-[major IJP version]`. For + example, for Jewel 0.30.0, `JEWEL-0.30.0-251` on the 251 branch and `JEWEL-0.30.0-252` on the 252 branch. ## Testing publishing locally diff --git a/platform/jewel/gradle.properties b/platform/jewel/gradle.properties index 7c7c1d8ea8bb..4ed88f159914 100644 --- a/platform/jewel/gradle.properties +++ b/platform/jewel/gradle.properties @@ -8,5 +8,4 @@ org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true jdk.level=21 -ijp.target=251 jewel.release.version=0.30.0 diff --git a/platform/jewel/gradle/libs.versions.toml b/platform/jewel/gradle/libs.versions.toml index 426c58fcfa7b..a4d3fff41c19 100644 --- a/platform/jewel/gradle/libs.versions.toml +++ b/platform/jewel/gradle/libs.versions.toml @@ -6,9 +6,9 @@ composeDesktop = "1.9.0-beta03" detekt = "1.23.8" dokka = "2.0.0" filepicker = "3.1.0" -idea = "2025.2" -intelliJPlatformBuild = "252.23892.409" -ideaPlugin = "2.6.0" +idea = "2025.2.1" +intelliJPlatformBuild = "252.25557.131" +ideaPlugin = "2.8.0" jbr = "1.6.0" jna = "5.17.0" junitJupiter = "5.13.4" diff --git a/platform/jewel/int-ui/int-ui-standalone/build.gradle.kts b/platform/jewel/int-ui/int-ui-standalone/build.gradle.kts index 4d2fc7013a65..86744dbe707b 100644 --- a/platform/jewel/int-ui/int-ui-standalone/build.gradle.kts +++ b/platform/jewel/int-ui/int-ui-standalone/build.gradle.kts @@ -1,3 +1,4 @@ +import io.gitlab.arturbosch.detekt.Detekt import org.jetbrains.jewel.buildlogic.metalava.GenerateMetalavaApiTask import org.jetbrains.jewel.buildlogic.theme.IntelliJThemeGeneratorTask @@ -18,14 +19,50 @@ intelliJThemeGenerator { register("intUiLight") { themeClassName = "org.jetbrains.jewel.intui.core.theme.IntUiLightTheme" themeFilePath = "../../platform/platform-resources/src/themes/expUI/expUI_light.theme.json" + targetDir = project.file("generated/theme/") } + register("intUiDark") { themeClassName = "org.jetbrains.jewel.intui.core.theme.IntUiDarkTheme" themeFilePath = "../../platform/platform-resources/src/themes/expUI/expUI_dark.theme.json" + targetDir = project.file("generated/theme/") } } tasks { val themeGeneratorTasks = withType() - withType { dependsOn(themeGeneratorTasks) } + themeGeneratorTasks.configureEach { finalizedBy(ktfmtFormatMain) } + + ktfmtFormatMain { + // Ensure the ktfmtFormatMain task is not considered UP-TO-DATE when + // we've regenerated the theme definitions (it doesn't always pick + // it up for some reason) + outputs.upToDateWhen { themeGeneratorTasks.none { it.state.executed } } + } + + val generateThemes by + register("generateThemes") { + description = "Updates the ThemeDescription dumps and reformats them." + dependsOn(themeGeneratorTasks) + dependsOn(ktfmtFormatMain) + } + + withType { dependsOn(generateThemes) } + + ktfmtCheckMain { + mustRunAfter(generateThemes) + mustRunAfter(ktfmtFormatMain) + } + lintKotlinMain { + mustRunAfter(generateThemes) + mustRunAfter(ktfmtFormatMain) + } + withType().configureEach { + mustRunAfter(generateThemes) + mustRunAfter(ktfmtFormatMain) + } + detektMain { + mustRunAfter(generateThemes) + mustRunAfter(ktfmtFormatMain) + } } diff --git a/platform/jewel/int-ui/int-ui-standalone/generated/theme/org/jetbrains/jewel/intui/core/theme/IntUiDarkTheme.kt b/platform/jewel/int-ui/int-ui-standalone/generated/theme/org/jetbrains/jewel/intui/core/theme/IntUiDarkTheme.kt index dec708d7f71b..c978323b875d 100644 --- a/platform/jewel/int-ui/int-ui-standalone/generated/theme/org/jetbrains/jewel/intui/core/theme/IntUiDarkTheme.kt +++ b/platform/jewel/int-ui/int-ui-standalone/generated/theme/org/jetbrains/jewel/intui/core/theme/IntUiDarkTheme.kt @@ -1,6 +1,6 @@ -// Generated by the Jewel Int UI Palette Generator -// Generated from the IntelliJ Platform version idea/243.19420.21 -// Source: https://raw.githubusercontent.com/JetBrains/intellij-community/idea/243.19420.21/platform/platform-resources/src/themes/expUI/expUI_dark.theme.json +// Generated by the Jewel Int UI Palette Generator for IJP 253 +// *** DO NOT EDIT MANUALLY! Use generateThemes task to update. *** +// Source: ../../platform/platform-resources/src/themes/expUI/expUI_dark.theme.json package org.jetbrains.jewel.intui.core.theme import androidx.compose.ui.graphics.Color @@ -15,254 +15,265 @@ public object IntUiDarkTheme : ThemeDescriptor { override val name: String = "Dark (Int UI)" - override val colors: ThemeColorPalette = ThemeColorPalette( - gray = listOf( - Color(0xFF1E1F22), - Color(0xFF2B2D30), - Color(0xFF393B40), - Color(0xFF43454A), - Color(0xFF4E5157), - Color(0xFF5A5D63), - Color(0xFF6F737A), - Color(0xFF868A91), - Color(0xFF9DA0A8), - Color(0xFFB4B8BF), - Color(0xFFCED0D6), - Color(0xFFDFE1E5), - Color(0xFFF0F1F2), - Color(0xFFFFFFFF) - ), - blue = listOf( - Color(0xFF25324D), - Color(0xFF2E436E), - Color(0xFF35538F), - Color(0xFF375FAD), - Color(0xFF366ACE), - Color(0xFF3574F0), - Color(0xFF467FF2), - Color(0xFF548AF7), - Color(0xFF6B9BFA), - Color(0xFF83ACFC), - Color(0xFF99BBFF), - Color(0xFFB5CEFF), - Color(0xFFD1E0FF) - ), - green = listOf( - Color(0xFF253627), - Color(0xFF273828), - Color(0xFF375239), - Color(0xFF436946), - Color(0xFF4E8052), - Color(0xFF57965C), - Color(0xFF5FAD65), - Color(0xFF73BD79), - Color(0xFF89CC8E), - Color(0xFFA0DBA5), - Color(0xFFB9EBBD), - Color(0xFFD4FAD7) - ), - yellow = listOf( - Color(0xFF3D3223), - Color(0xFF5E4D33), - Color(0xFF826A41), - Color(0xFF9E814A), - Color(0xFFBA9752), - Color(0xFFD6AE58), - Color(0xFFF2C55C), - Color(0xFFF5D273), - Color(0xFFF7DE8B), - Color(0xFFFCEBA4), - Color(0xFFFFF6BD) - ), - red = listOf( - Color(0xFF402929), - Color(0xFF472B2B), - Color(0xFF5E3838), - Color(0xFF7A4343), - Color(0xFF9C4E4E), - Color(0xFFBD5757), - Color(0xFFDB5C5C), - Color(0xFFE37774), - Color(0xFFEB938D), - Color(0xFFF2B1AA), - Color(0xFFF7CCC6), - Color(0xFFFAE3DE) - ), - orange = listOf( - Color(0xFF45322B), - Color(0xFF614438), - Color(0xFF825845), - Color(0xFFA36B4E), - Color(0xFFC27A53), - Color(0xFFE08855), - Color(0xFFE5986C), - Color(0xFFF0AC81), - Color(0xFFF5BD98), - Color(0xFFFACEAF), - Color(0xFFFFDFC7) - ), - purple = listOf( - Color(0xFF2F2936), - Color(0xFF3B3147), - Color(0xFF433358), - Color(0xFF583D7A), - Color(0xFF6C469C), - Color(0xFF8150BE), - Color(0xFF955AE0), - Color(0xFFA571E6), - Color(0xFFB589EC), - Color(0xFFC4A0F3), - Color(0xFFD4B8F9), - Color(0xFFE4CEFF) - ), - teal = listOf( - Color(0xFF1D3838), - Color(0xFF1D3D3B), - Color(0xFF1E4D4A), - Color(0xFF20635D), - Color(0xFF21786F), - Color(0xFF238E82), - Color(0xFF24A394), - Color(0xFF42B1A4), - Color(0xFF60C0B5), - Color(0xFF7DCEC5), - Color(0xFF9BDDD6), - Color(0xFFB9EBE6) - ), + override val colors: ThemeColorPalette = + ThemeColorPalette( + gray = + listOf( + Color(0xFF1E1F22), + Color(0xFF2B2D30), + Color(0xFF393B40), + Color(0xFF43454A), + Color(0xFF4E5157), + Color(0xFF5A5D63), + Color(0xFF6F737A), + Color(0xFF868A91), + Color(0xFF9DA0A8), + Color(0xFFB4B8BF), + Color(0xFFCED0D6), + Color(0xFFDFE1E5), + Color(0xFFF0F1F2), + Color(0xFFFFFFFF), + ), + blue = + listOf( + Color(0xFF25324D), + Color(0xFF2E436E), + Color(0xFF35538F), + Color(0xFF375FAD), + Color(0xFF366ACE), + Color(0xFF3574F0), + Color(0xFF467FF2), + Color(0xFF548AF7), + Color(0xFF6B9BFA), + Color(0xFF83ACFC), + Color(0xFF99BBFF), + Color(0xFFB5CEFF), + Color(0xFFD1E0FF), + ), + green = + listOf( + Color(0xFF253627), + Color(0xFF273828), + Color(0xFF375239), + Color(0xFF436946), + Color(0xFF4E8052), + Color(0xFF57965C), + Color(0xFF5FAD65), + Color(0xFF73BD79), + Color(0xFF89CC8E), + Color(0xFFA0DBA5), + Color(0xFFB9EBBD), + Color(0xFFD4FAD7), + ), + yellow = + listOf( + Color(0xFF3D3223), + Color(0xFF5E4D33), + Color(0xFF826A41), + Color(0xFF9E814A), + Color(0xFFBA9752), + Color(0xFFD6AE58), + Color(0xFFF2C55C), + Color(0xFFF5D273), + Color(0xFFF7DE8B), + Color(0xFFFCEBA4), + Color(0xFFFFF6BD), + ), + red = + listOf( + Color(0xFF402929), + Color(0xFF472B2B), + Color(0xFF5E3838), + Color(0xFF7A4343), + Color(0xFF9C4E4E), + Color(0xFFBD5757), + Color(0xFFDB5C5C), + Color(0xFFE37774), + Color(0xFFEB938D), + Color(0xFFF2B1AA), + Color(0xFFF7CCC6), + Color(0xFFFAE3DE), + ), + orange = + listOf( + Color(0xFF45322B), + Color(0xFF614438), + Color(0xFF825845), + Color(0xFFA36B4E), + Color(0xFFC27A53), + Color(0xFFE08855), + Color(0xFFE5986C), + Color(0xFFF0AC81), + Color(0xFFF5BD98), + Color(0xFFFACEAF), + Color(0xFFFFDFC7), + ), + purple = + listOf( + Color(0xFF2F2936), + Color(0xFF3B3147), + Color(0xFF433358), + Color(0xFF583D7A), + Color(0xFF6C469C), + Color(0xFF8150BE), + Color(0xFF955AE0), + Color(0xFFA571E6), + Color(0xFFB589EC), + Color(0xFFC4A0F3), + Color(0xFFD4B8F9), + Color(0xFFE4CEFF), + ), + teal = + listOf( + Color(0xFF1D3838), + Color(0xFF1D3D3B), + Color(0xFF1E4D4A), + Color(0xFF20635D), + Color(0xFF21786F), + Color(0xFF238E82), + Color(0xFF24A394), + Color(0xFF42B1A4), + Color(0xFF60C0B5), + Color(0xFF7DCEC5), + Color(0xFF9BDDD6), + Color(0xFFB9EBE6), + ), + rawMap = + mapOf( + "Gray1" to Color(0xFF1E1F22), + "Gray2" to Color(0xFF2B2D30), + "Gray3" to Color(0xFF393B40), + "Gray4" to Color(0xFF43454A), + "Gray5" to Color(0xFF4E5157), + "Gray6" to Color(0xFF5A5D63), + "Gray7" to Color(0xFF6F737A), + "Gray8" to Color(0xFF868A91), + "Gray9" to Color(0xFF9DA0A8), + "Gray10" to Color(0xFFB4B8BF), + "Gray11" to Color(0xFFCED0D6), + "Gray12" to Color(0xFFDFE1E5), + "Gray13" to Color(0xFFF0F1F2), + "Gray14" to Color(0xFFFFFFFF), + "Blue1" to Color(0xFF25324D), + "Blue2" to Color(0xFF2E436E), + "Blue3" to Color(0xFF35538F), + "Blue4" to Color(0xFF375FAD), + "Blue5" to Color(0xFF366ACE), + "Blue6" to Color(0xFF3574F0), + "Blue7" to Color(0xFF467FF2), + "Blue8" to Color(0xFF548AF7), + "Blue9" to Color(0xFF6B9BFA), + "Blue10" to Color(0xFF83ACFC), + "Blue11" to Color(0xFF99BBFF), + "Blue12" to Color(0xFFB5CEFF), + "Blue13" to Color(0xFFD1E0FF), + "Green1" to Color(0xFF253627), + "Green2" to Color(0xFF273828), + "Green3" to Color(0xFF375239), + "Green4" to Color(0xFF436946), + "Green5" to Color(0xFF4E8052), + "Green6" to Color(0xFF57965C), + "Green7" to Color(0xFF5FAD65), + "Green8" to Color(0xFF73BD79), + "Green9" to Color(0xFF89CC8E), + "Green10" to Color(0xFFA0DBA5), + "Green11" to Color(0xFFB9EBBD), + "Green12" to Color(0xFFD4FAD7), + "Yellow1" to Color(0xFF3D3223), + "Yellow2" to Color(0xFF5E4D33), + "Yellow3" to Color(0xFF826A41), + "Yellow4" to Color(0xFF9E814A), + "Yellow5" to Color(0xFFBA9752), + "Yellow6" to Color(0xFFD6AE58), + "Yellow7" to Color(0xFFF2C55C), + "Yellow8" to Color(0xFFF5D273), + "Yellow9" to Color(0xFFF7DE8B), + "Yellow10" to Color(0xFFFCEBA4), + "Yellow11" to Color(0xFFFFF6BD), + "Red1" to Color(0xFF402929), + "Red2" to Color(0xFF472B2B), + "Red3" to Color(0xFF5E3838), + "Red4" to Color(0xFF7A4343), + "Red5" to Color(0xFF9C4E4E), + "Red6" to Color(0xFFBD5757), + "Red7" to Color(0xFFDB5C5C), + "Red8" to Color(0xFFE37774), + "Red9" to Color(0xFFEB938D), + "Red10" to Color(0xFFF2B1AA), + "Red11" to Color(0xFFF7CCC6), + "Red12" to Color(0xFFFAE3DE), + "Orange1" to Color(0xFF45322B), + "Orange2" to Color(0xFF614438), + "Orange3" to Color(0xFF825845), + "Orange4" to Color(0xFFA36B4E), + "Orange5" to Color(0xFFC27A53), + "Orange6" to Color(0xFFE08855), + "Orange7" to Color(0xFFE5986C), + "Orange8" to Color(0xFFF0AC81), + "Orange9" to Color(0xFFF5BD98), + "Orange10" to Color(0xFFFACEAF), + "Orange11" to Color(0xFFFFDFC7), + "Purple1" to Color(0xFF2F2936), + "Purple2" to Color(0xFF3B3147), + "Purple3" to Color(0xFF433358), + "Purple4" to Color(0xFF583D7A), + "Purple5" to Color(0xFF6C469C), + "Purple6" to Color(0xFF8150BE), + "Purple7" to Color(0xFF955AE0), + "Purple8" to Color(0xFFA571E6), + "Purple9" to Color(0xFFB589EC), + "Purple10" to Color(0xFFC4A0F3), + "Purple11" to Color(0xFFD4B8F9), + "Purple12" to Color(0xFFE4CEFF), + "Teal1" to Color(0xFF1D3838), + "Teal2" to Color(0xFF1D3D3B), + "Teal3" to Color(0xFF1E4D4A), + "Teal4" to Color(0xFF20635D), + "Teal5" to Color(0xFF21786F), + "Teal6" to Color(0xFF238E82), + "Teal7" to Color(0xFF24A394), + "Teal8" to Color(0xFF42B1A4), + "Teal9" to Color(0xFF60C0B5), + "Teal10" to Color(0xFF7DCEC5), + "Teal11" to Color(0xFF9BDDD6), + "Teal12" to Color(0xFFB9EBE6), + ), + ) - rawMap = mapOf( - "Gray1" to Color(0xFF1E1F22), - "Gray2" to Color(0xFF2B2D30), - "Gray3" to Color(0xFF393B40), - "Gray4" to Color(0xFF43454A), - "Gray5" to Color(0xFF4E5157), - "Gray6" to Color(0xFF5A5D63), - "Gray7" to Color(0xFF6F737A), - "Gray8" to Color(0xFF868A91), - "Gray9" to Color(0xFF9DA0A8), - "Gray10" to Color(0xFFB4B8BF), - "Gray11" to Color(0xFFCED0D6), - "Gray12" to Color(0xFFDFE1E5), - "Gray13" to Color(0xFFF0F1F2), - "Gray14" to Color(0xFFFFFFFF), - "Blue1" to Color(0xFF25324D), - "Blue2" to Color(0xFF2E436E), - "Blue3" to Color(0xFF35538F), - "Blue4" to Color(0xFF375FAD), - "Blue5" to Color(0xFF366ACE), - "Blue6" to Color(0xFF3574F0), - "Blue7" to Color(0xFF467FF2), - "Blue8" to Color(0xFF548AF7), - "Blue9" to Color(0xFF6B9BFA), - "Blue10" to Color(0xFF83ACFC), - "Blue11" to Color(0xFF99BBFF), - "Blue12" to Color(0xFFB5CEFF), - "Blue13" to Color(0xFFD1E0FF), - "Green1" to Color(0xFF253627), - "Green2" to Color(0xFF273828), - "Green3" to Color(0xFF375239), - "Green4" to Color(0xFF436946), - "Green5" to Color(0xFF4E8052), - "Green6" to Color(0xFF57965C), - "Green7" to Color(0xFF5FAD65), - "Green8" to Color(0xFF73BD79), - "Green9" to Color(0xFF89CC8E), - "Green10" to Color(0xFFA0DBA5), - "Green11" to Color(0xFFB9EBBD), - "Green12" to Color(0xFFD4FAD7), - "Yellow1" to Color(0xFF3D3223), - "Yellow2" to Color(0xFF5E4D33), - "Yellow3" to Color(0xFF826A41), - "Yellow4" to Color(0xFF9E814A), - "Yellow5" to Color(0xFFBA9752), - "Yellow6" to Color(0xFFD6AE58), - "Yellow7" to Color(0xFFF2C55C), - "Yellow8" to Color(0xFFF5D273), - "Yellow9" to Color(0xFFF7DE8B), - "Yellow10" to Color(0xFFFCEBA4), - "Yellow11" to Color(0xFFFFF6BD), - "Red1" to Color(0xFF402929), - "Red2" to Color(0xFF472B2B), - "Red3" to Color(0xFF5E3838), - "Red4" to Color(0xFF7A4343), - "Red5" to Color(0xFF9C4E4E), - "Red6" to Color(0xFFBD5757), - "Red7" to Color(0xFFDB5C5C), - "Red8" to Color(0xFFE37774), - "Red9" to Color(0xFFEB938D), - "Red10" to Color(0xFFF2B1AA), - "Red11" to Color(0xFFF7CCC6), - "Red12" to Color(0xFFFAE3DE), - "Orange1" to Color(0xFF45322B), - "Orange2" to Color(0xFF614438), - "Orange3" to Color(0xFF825845), - "Orange4" to Color(0xFFA36B4E), - "Orange5" to Color(0xFFC27A53), - "Orange6" to Color(0xFFE08855), - "Orange7" to Color(0xFFE5986C), - "Orange8" to Color(0xFFF0AC81), - "Orange9" to Color(0xFFF5BD98), - "Orange10" to Color(0xFFFACEAF), - "Orange11" to Color(0xFFFFDFC7), - "Purple1" to Color(0xFF2F2936), - "Purple2" to Color(0xFF3B3147), - "Purple3" to Color(0xFF433358), - "Purple4" to Color(0xFF583D7A), - "Purple5" to Color(0xFF6C469C), - "Purple6" to Color(0xFF8150BE), - "Purple7" to Color(0xFF955AE0), - "Purple8" to Color(0xFFA571E6), - "Purple9" to Color(0xFFB589EC), - "Purple10" to Color(0xFFC4A0F3), - "Purple11" to Color(0xFFD4B8F9), - "Purple12" to Color(0xFFE4CEFF), - "Teal1" to Color(0xFF1D3838), - "Teal2" to Color(0xFF1D3D3B), - "Teal3" to Color(0xFF1E4D4A), - "Teal4" to Color(0xFF20635D), - "Teal5" to Color(0xFF21786F), - "Teal6" to Color(0xFF238E82), - "Teal7" to Color(0xFF24A394), - "Teal8" to Color(0xFF42B1A4), - "Teal9" to Color(0xFF60C0B5), - "Teal10" to Color(0xFF7DCEC5), - "Teal11" to Color(0xFF9BDDD6), - "Teal12" to Color(0xFFB9EBE6) - ) - ) - - override val iconData: ThemeIconData = ThemeIconData(iconOverrides = - mapOf("/com/intellij/ide/ui/laf/icons/darcula/checkBox.svg" to - "/themes/expUI/icons/dark/checkBox.svg", - "/com/intellij/ide/ui/laf/icons/darcula/checkBoxDisabled.svg" to - "/themes/expUI/icons/dark/checkBoxDisabled.svg", - "/com/intellij/ide/ui/laf/icons/darcula/checkBoxFocused.svg" to - "/themes/expUI/icons/dark/checkBoxFocused.svg", - "/com/intellij/ide/ui/laf/icons/darcula/checkBoxIndeterminateSelected.svg" to - "/themes/expUI/icons/dark/checkBoxIndeterminateSelected.svg", - "/com/intellij/ide/ui/laf/icons/darcula/checkBoxIndeterminateSelectedDisabled.svg" to - "/themes/expUI/icons/dark/checkBoxIndeterminateSelectedDisabled.svg", - "/com/intellij/ide/ui/laf/icons/darcula/checkBoxIndeterminateSelectedFocused.svg" to - "/themes/expUI/icons/dark/checkBoxIndeterminateSelectedFocused.svg", - "/com/intellij/ide/ui/laf/icons/darcula/checkBoxSelected.svg" to - "/themes/expUI/icons/dark/checkBoxSelected.svg", - "/com/intellij/ide/ui/laf/icons/darcula/checkBoxSelectedDisabled.svg" to - "/themes/expUI/icons/dark/checkBoxSelectedDisabled.svg", - "/com/intellij/ide/ui/laf/icons/darcula/checkBoxSelectedFocused.svg" to - "/themes/expUI/icons/dark/checkBoxSelectedFocused.svg", - "/com/intellij/ide/ui/laf/icons/darcula/radio.svg" to - "/themes/expUI/icons/dark/radio.svg", - "/com/intellij/ide/ui/laf/icons/darcula/radioDisabled.svg" to - "/themes/expUI/icons/dark/radioDisabled.svg", - "/com/intellij/ide/ui/laf/icons/darcula/radioFocused.svg" to - "/themes/expUI/icons/dark/radioFocused.svg", - "/com/intellij/ide/ui/laf/icons/darcula/radioSelected.svg" to - "/themes/expUI/icons/dark/radioSelected.svg", - "/com/intellij/ide/ui/laf/icons/darcula/radioSelectedDisabled.svg" to - "/themes/expUI/icons/dark/radioSelectedDisabled.svg", - "/com/intellij/ide/ui/laf/icons/darcula/radioSelectedFocused.svg" to - "/themes/expUI/icons/dark/radioSelectedFocused.svg"), colorPalette = - mapOf(), - selectionColorPalette = mapOf() - ) + override val iconData: ThemeIconData = + ThemeIconData( + iconOverrides = + mapOf( + "/com/intellij/ide/ui/laf/icons/darcula/checkBox.svg" to "/themes/expUI/icons/dark/checkBox.svg", + "/com/intellij/ide/ui/laf/icons/darcula/checkBoxDisabled.svg" to + "/themes/expUI/icons/dark/checkBoxDisabled.svg", + "/com/intellij/ide/ui/laf/icons/darcula/checkBoxFocused.svg" to + "/themes/expUI/icons/dark/checkBoxFocused.svg", + "/com/intellij/ide/ui/laf/icons/darcula/checkBoxIndeterminateSelected.svg" to + "/themes/expUI/icons/dark/checkBoxIndeterminateSelected.svg", + "/com/intellij/ide/ui/laf/icons/darcula/checkBoxIndeterminateSelectedDisabled.svg" to + "/themes/expUI/icons/dark/checkBoxIndeterminateSelectedDisabled.svg", + "/com/intellij/ide/ui/laf/icons/darcula/checkBoxIndeterminateSelectedFocused.svg" to + "/themes/expUI/icons/dark/checkBoxIndeterminateSelectedFocused.svg", + "/com/intellij/ide/ui/laf/icons/darcula/checkBoxSelected.svg" to + "/themes/expUI/icons/dark/checkBoxSelected.svg", + "/com/intellij/ide/ui/laf/icons/darcula/checkBoxSelectedDisabled.svg" to + "/themes/expUI/icons/dark/checkBoxSelectedDisabled.svg", + "/com/intellij/ide/ui/laf/icons/darcula/checkBoxSelectedFocused.svg" to + "/themes/expUI/icons/dark/checkBoxSelectedFocused.svg", + "/com/intellij/ide/ui/laf/icons/darcula/radio.svg" to "/themes/expUI/icons/dark/radio.svg", + "/com/intellij/ide/ui/laf/icons/darcula/radioDisabled.svg" to + "/themes/expUI/icons/dark/radioDisabled.svg", + "/com/intellij/ide/ui/laf/icons/darcula/radioFocused.svg" to + "/themes/expUI/icons/dark/radioFocused.svg", + "/com/intellij/ide/ui/laf/icons/darcula/radioSelected.svg" to + "/themes/expUI/icons/dark/radioSelected.svg", + "/com/intellij/ide/ui/laf/icons/darcula/radioSelectedDisabled.svg" to + "/themes/expUI/icons/dark/radioSelectedDisabled.svg", + "/com/intellij/ide/ui/laf/icons/darcula/radioSelectedFocused.svg" to + "/themes/expUI/icons/dark/radioSelectedFocused.svg", + ), + colorPalette = emptyMap(), + selectionColorPalette = emptyMap(), + ) } diff --git a/platform/jewel/int-ui/int-ui-standalone/generated/theme/org/jetbrains/jewel/intui/core/theme/IntUiLightTheme.kt b/platform/jewel/int-ui/int-ui-standalone/generated/theme/org/jetbrains/jewel/intui/core/theme/IntUiLightTheme.kt index 74b1b653fa61..0ebb0e0adc0c 100644 --- a/platform/jewel/int-ui/int-ui-standalone/generated/theme/org/jetbrains/jewel/intui/core/theme/IntUiLightTheme.kt +++ b/platform/jewel/int-ui/int-ui-standalone/generated/theme/org/jetbrains/jewel/intui/core/theme/IntUiLightTheme.kt @@ -1,6 +1,6 @@ -// Generated by the Jewel Int UI Palette Generator -// Generated from the IntelliJ Platform version idea/243.19420.21 -// Source: https://raw.githubusercontent.com/JetBrains/intellij-community/idea/243.19420.21/platform/platform-resources/src/themes/expUI/expUI_light.theme.json +// Generated by the Jewel Int UI Palette Generator for IJP 253 +// *** DO NOT EDIT MANUALLY! Use generateThemes task to update. *** +// Source: ../../platform/platform-resources/src/themes/expUI/expUI_light.theme.json package org.jetbrains.jewel.intui.core.theme import androidx.compose.ui.graphics.Color @@ -15,253 +15,267 @@ public object IntUiLightTheme : ThemeDescriptor { override val name: String = "Light (Int UI)" - override val colors: ThemeColorPalette = ThemeColorPalette( - gray = listOf( - Color(0xFF000000), - Color(0xFF27282E), - Color(0xFF383A42), - Color(0xFF494B57), - Color(0xFF5A5D6B), - Color(0xFF6C707E), - Color(0xFF818594), - Color(0xFFA8ADBD), - Color(0xFFC9CCD6), - Color(0xFFD3D5DB), - Color(0xFFDFE1E5), - Color(0xFFEBECF0), - Color(0xFFF7F8FA), - Color(0xFFFFFFFF) - ), - blue = listOf( - Color(0xFF2E55A3), - Color(0xFF315FBD), - Color(0xFF3369D6), - Color(0xFF3574F0), - Color(0xFF4682FA), - Color(0xFF588CF3), - Color(0xFF709CF5), - Color(0xFF88ADF7), - Color(0xFFA0BDF8), - Color(0xFFC2D6FC), - Color(0xFFD4E2FF), - Color(0xFFEDF3FF), - Color(0xFFF5F8FE) - ), - green = listOf( - Color(0xFF1E6B33), - Color(0xFF1F7536), - Color(0xFF1F8039), - Color(0xFF208A3C), - Color(0xFF369650), - Color(0xFF55A76A), - Color(0xFF89C398), - Color(0xFFAFDBB8), - Color(0xFFC5E5CC), - Color(0xFFE3F7E7), - Color(0xFFF2FCF3) - ), - yellow = listOf( - Color(0xFFA46704), - Color(0xFFC27D04), - Color(0xFFDF9303), - Color(0xFFFFAF0F), - Color(0xFFFDBD3D), - Color(0xFFFED277), - Color(0xFFFEE6B1), - Color(0xFFFFF1D1), - Color(0xFFFFF5DB), - Color(0xFFFFFAEB) - ), - red = listOf( - Color(0xFFAD2B38), - Color(0xFFBC303E), - Color(0xFFCC3645), - Color(0xFFDB3B4B), - Color(0xFFE55765), - Color(0xFFE46A76), - Color(0xFFED99A1), - Color(0xFFF2B6BB), - Color(0xFFFAD4D8), - Color(0xFFFFEBEC), - Color(0xFFFFF2F3), - Color(0xFFFFF7F7) - ), - orange = listOf( - Color(0xFFA14916), - Color(0xFFB85516), - Color(0xFFCE6117), - Color(0xFFE56D17), - Color(0xFFEC8F4C), - Color(0xFFF2B181), - Color(0xFFF9D2B6), - Color(0xFFFFEFE3), - Color(0xFFFFF4EB) - ), - teal = listOf( - Color(0xFF096A6E), - Color(0xFF077A7F), - Color(0xFF058B90), - Color(0xFF039BA1), - Color(0xFF3FB3B8), - Color(0xFF7BCCCF), - Color(0xFFB6E4E5), - Color(0xFFDAF4F5), - Color(0xFFF2FCFC) - ), - purple = listOf( - Color(0xFF55339C), - Color(0xFF643CB8), - Color(0xFF7444D4), - Color(0xFF834DF0), - Color(0xFFA177F4), - Color(0xFFBFA1F8), - Color(0xFFDCCBFB), - Color(0xFFEFE5FF), - Color(0xFFF5EDFF), - Color(0xFFFAF5FF) - ), + override val colors: ThemeColorPalette = + ThemeColorPalette( + gray = + listOf( + Color(0xFF000000), + Color(0xFF27282E), + Color(0xFF383A42), + Color(0xFF494B57), + Color(0xFF5A5D6B), + Color(0xFF6C707E), + Color(0xFF818594), + Color(0xFFA8ADBD), + Color(0xFFC9CCD6), + Color(0xFFD3D5DB), + Color(0xFFDFE1E5), + Color(0xFFEBECF0), + Color(0xFFF7F8FA), + Color(0xFFFFFFFF), + ), + blue = + listOf( + Color(0xFF2E55A3), + Color(0xFF315FBD), + Color(0xFF3369D6), + Color(0xFF3574F0), + Color(0xFF4682FA), + Color(0xFF588CF3), + Color(0xFF709CF5), + Color(0xFF88ADF7), + Color(0xFFA0BDF8), + Color(0xFFC2D6FC), + Color(0xFFD4E2FF), + Color(0xFFEDF3FF), + Color(0xFFF5F8FE), + ), + green = + listOf( + Color(0xFF1E6B33), + Color(0xFF1F7536), + Color(0xFF1F8039), + Color(0xFF208A3C), + Color(0xFF369650), + Color(0xFF55A76A), + Color(0xFF89C398), + Color(0xFFAFDBB8), + Color(0xFFC5E5CC), + Color(0xFFE3F7E7), + Color(0xFFF2FCF3), + ), + yellow = + listOf( + Color(0xFFA46704), + Color(0xFFC27D04), + Color(0xFFDF9303), + Color(0xFFFFAF0F), + Color(0xFFFDBD3D), + Color(0xFFFED277), + Color(0xFFFEE6B1), + Color(0xFFFFF1D1), + Color(0xFFFFF5DB), + Color(0xFFFFFAEB), + ), + red = + listOf( + Color(0xFFAD2B38), + Color(0xFFBC303E), + Color(0xFFCC3645), + Color(0xFFDB3B4B), + Color(0xFFE55765), + Color(0xFFE46A76), + Color(0xFFED99A1), + Color(0xFFF2B6BB), + Color(0xFFFAD4D8), + Color(0xFFFFEBEC), + Color(0xFFFFF2F3), + Color(0xFFFFF7F7), + ), + orange = + listOf( + Color(0xFFA14916), + Color(0xFFB85516), + Color(0xFFCE6117), + Color(0xFFE56D17), + Color(0xFFEC8F4C), + Color(0xFFF2B181), + Color(0xFFF9D2B6), + Color(0xFFFFEFE3), + Color(0xFFFFF4EB), + ), + teal = + listOf( + Color(0xFF096A6E), + Color(0xFF077A7F), + Color(0xFF058B90), + Color(0xFF039BA1), + Color(0xFF3FB3B8), + Color(0xFF7BCCCF), + Color(0xFFB6E4E5), + Color(0xFFDAF4F5), + Color(0xFFF2FCFC), + ), + purple = + listOf( + Color(0xFF55339C), + Color(0xFF643CB8), + Color(0xFF7444D4), + Color(0xFF834DF0), + Color(0xFFA177F4), + Color(0xFFBFA1F8), + Color(0xFFDCCBFB), + Color(0xFFEFE5FF), + Color(0xFFF5EDFF), + Color(0xFFFAF5FF), + ), + rawMap = + mapOf( + "Gray1" to Color(0xFF000000), + "Gray2" to Color(0xFF27282E), + "Gray3" to Color(0xFF383A42), + "Gray4" to Color(0xFF494B57), + "Gray5" to Color(0xFF5A5D6B), + "Gray6" to Color(0xFF6C707E), + "Gray7" to Color(0xFF818594), + "Gray8" to Color(0xFFA8ADBD), + "Gray9" to Color(0xFFC9CCD6), + "Gray10" to Color(0xFFD3D5DB), + "Gray11" to Color(0xFFDFE1E5), + "Gray12" to Color(0xFFEBECF0), + "Gray13" to Color(0xFFF7F8FA), + "Gray14" to Color(0xFFFFFFFF), + "windowsPopupBorder" to Color(0xFFB9BDC9), + "Blue1" to Color(0xFF2E55A3), + "Blue2" to Color(0xFF315FBD), + "Blue3" to Color(0xFF3369D6), + "Blue4" to Color(0xFF3574F0), + "Blue5" to Color(0xFF4682FA), + "Blue6" to Color(0xFF588CF3), + "Blue7" to Color(0xFF709CF5), + "Blue8" to Color(0xFF88ADF7), + "Blue9" to Color(0xFFA0BDF8), + "Blue10" to Color(0xFFC2D6FC), + "Blue11" to Color(0xFFD4E2FF), + "Blue12" to Color(0xFFEDF3FF), + "Blue13" to Color(0xFFF5F8FE), + "Green1" to Color(0xFF1E6B33), + "Green2" to Color(0xFF1F7536), + "Green3" to Color(0xFF1F8039), + "Green4" to Color(0xFF208A3C), + "Green5" to Color(0xFF369650), + "Green6" to Color(0xFF55A76A), + "Green7" to Color(0xFF89C398), + "Green8" to Color(0xFFAFDBB8), + "Green9" to Color(0xFFC5E5CC), + "Green10" to Color(0xFFE3F7E7), + "Green11" to Color(0xFFF2FCF3), + "Yellow1" to Color(0xFFA46704), + "Yellow2" to Color(0xFFC27D04), + "Yellow3" to Color(0xFFDF9303), + "Yellow4" to Color(0xFFFFAF0F), + "Yellow5" to Color(0xFFFDBD3D), + "Yellow6" to Color(0xFFFED277), + "Yellow7" to Color(0xFFFEE6B1), + "Yellow8" to Color(0xFFFFF1D1), + "Yellow9" to Color(0xFFFFF5DB), + "Yellow10" to Color(0xFFFFFAEB), + "Red1" to Color(0xFFAD2B38), + "Red2" to Color(0xFFBC303E), + "Red3" to Color(0xFFCC3645), + "Red4" to Color(0xFFDB3B4B), + "Red5" to Color(0xFFE55765), + "Red6" to Color(0xFFE46A76), + "Red7" to Color(0xFFED99A1), + "Red8" to Color(0xFFF2B6BB), + "Red9" to Color(0xFFFAD4D8), + "Red10" to Color(0xFFFFEBEC), + "Red11" to Color(0xFFFFF2F3), + "Red12" to Color(0xFFFFF7F7), + "Orange1" to Color(0xFFA14916), + "Orange2" to Color(0xFFB85516), + "Orange3" to Color(0xFFCE6117), + "Orange4" to Color(0xFFE56D17), + "Orange5" to Color(0xFFEC8F4C), + "Orange6" to Color(0xFFF2B181), + "Orange7" to Color(0xFFF9D2B6), + "Orange8" to Color(0xFFFFEFE3), + "Orange9" to Color(0xFFFFF4EB), + "Teal1" to Color(0xFF096A6E), + "Teal2" to Color(0xFF077A7F), + "Teal3" to Color(0xFF058B90), + "Teal4" to Color(0xFF039BA1), + "Teal5" to Color(0xFF3FB3B8), + "Teal6" to Color(0xFF7BCCCF), + "Teal7" to Color(0xFFB6E4E5), + "Teal8" to Color(0xFFDAF4F5), + "Teal9" to Color(0xFFF2FCFC), + "Purple1" to Color(0xFF55339C), + "Purple2" to Color(0xFF643CB8), + "Purple3" to Color(0xFF7444D4), + "Purple4" to Color(0xFF834DF0), + "Purple5" to Color(0xFFA177F4), + "Purple6" to Color(0xFFBFA1F8), + "Purple7" to Color(0xFFDCCBFB), + "Purple8" to Color(0xFFEFE5FF), + "Purple9" to Color(0xFFF5EDFF), + "Purple10" to Color(0xFFFAF5FF), + ), + ) - rawMap = mapOf( - "Gray1" to Color(0xFF000000), - "Gray2" to Color(0xFF27282E), - "Gray3" to Color(0xFF383A42), - "Gray4" to Color(0xFF494B57), - "Gray5" to Color(0xFF5A5D6B), - "Gray6" to Color(0xFF6C707E), - "Gray7" to Color(0xFF818594), - "Gray8" to Color(0xFFA8ADBD), - "Gray9" to Color(0xFFC9CCD6), - "Gray10" to Color(0xFFD3D5DB), - "Gray11" to Color(0xFFDFE1E5), - "Gray12" to Color(0xFFEBECF0), - "Gray13" to Color(0xFFF7F8FA), - "Gray14" to Color(0xFFFFFFFF), - "windowsPopupBorder" to Color(0xFFB9BDC9), - "Blue1" to Color(0xFF2E55A3), - "Blue2" to Color(0xFF315FBD), - "Blue3" to Color(0xFF3369D6), - "Blue4" to Color(0xFF3574F0), - "Blue5" to Color(0xFF4682FA), - "Blue6" to Color(0xFF588CF3), - "Blue7" to Color(0xFF709CF5), - "Blue8" to Color(0xFF88ADF7), - "Blue9" to Color(0xFFA0BDF8), - "Blue10" to Color(0xFFC2D6FC), - "Blue11" to Color(0xFFD4E2FF), - "Blue12" to Color(0xFFEDF3FF), - "Blue13" to Color(0xFFF5F8FE), - "Green1" to Color(0xFF1E6B33), - "Green2" to Color(0xFF1F7536), - "Green3" to Color(0xFF1F8039), - "Green4" to Color(0xFF208A3C), - "Green5" to Color(0xFF369650), - "Green6" to Color(0xFF55A76A), - "Green7" to Color(0xFF89C398), - "Green8" to Color(0xFFAFDBB8), - "Green9" to Color(0xFFC5E5CC), - "Green10" to Color(0xFFE3F7E7), - "Green11" to Color(0xFFF2FCF3), - "Yellow1" to Color(0xFFA46704), - "Yellow2" to Color(0xFFC27D04), - "Yellow3" to Color(0xFFDF9303), - "Yellow4" to Color(0xFFFFAF0F), - "Yellow5" to Color(0xFFFDBD3D), - "Yellow6" to Color(0xFFFED277), - "Yellow7" to Color(0xFFFEE6B1), - "Yellow8" to Color(0xFFFFF1D1), - "Yellow9" to Color(0xFFFFF5DB), - "Yellow10" to Color(0xFFFFFAEB), - "Red1" to Color(0xFFAD2B38), - "Red2" to Color(0xFFBC303E), - "Red3" to Color(0xFFCC3645), - "Red4" to Color(0xFFDB3B4B), - "Red5" to Color(0xFFE55765), - "Red6" to Color(0xFFE46A76), - "Red7" to Color(0xFFED99A1), - "Red8" to Color(0xFFF2B6BB), - "Red9" to Color(0xFFFAD4D8), - "Red10" to Color(0xFFFFEBEC), - "Red11" to Color(0xFFFFF2F3), - "Red12" to Color(0xFFFFF7F7), - "Orange1" to Color(0xFFA14916), - "Orange2" to Color(0xFFB85516), - "Orange3" to Color(0xFFCE6117), - "Orange4" to Color(0xFFE56D17), - "Orange5" to Color(0xFFEC8F4C), - "Orange6" to Color(0xFFF2B181), - "Orange7" to Color(0xFFF9D2B6), - "Orange8" to Color(0xFFFFEFE3), - "Orange9" to Color(0xFFFFF4EB), - "Teal1" to Color(0xFF096A6E), - "Teal2" to Color(0xFF077A7F), - "Teal3" to Color(0xFF058B90), - "Teal4" to Color(0xFF039BA1), - "Teal5" to Color(0xFF3FB3B8), - "Teal6" to Color(0xFF7BCCCF), - "Teal7" to Color(0xFFB6E4E5), - "Teal8" to Color(0xFFDAF4F5), - "Teal9" to Color(0xFFF2FCFC), - "Purple1" to Color(0xFF55339C), - "Purple2" to Color(0xFF643CB8), - "Purple3" to Color(0xFF7444D4), - "Purple4" to Color(0xFF834DF0), - "Purple5" to Color(0xFFA177F4), - "Purple6" to Color(0xFFBFA1F8), - "Purple7" to Color(0xFFDCCBFB), - "Purple8" to Color(0xFFEFE5FF), - "Purple9" to Color(0xFFF5EDFF), - "Purple10" to Color(0xFFFAF5FF) - ) - ) - - override val iconData: ThemeIconData = ThemeIconData(iconOverrides = - mapOf("/windows/minimize.svg" to "/expui/windows/minimize.svg", - "/windows/minimizeInactive.svg" to "/expui/windows/minimizeInactive.svg", - "/windows/maximize.svg" to "/expui/windows/maximize.svg", - "/windows/maximizeInactive.svg" to "/expui/windows/maximizeInactive.svg", - "/windows/closeActive.svg" to "/expui/windows/closeActive.svg", - "/windows/closeInactive.svg" to "/expui/windows/closeInactive.svg", - "/windows/restore.svg" to "/expui/windows/restore.svg", - "/windows/restoreInactive.svg" to "/expui/windows/restoreInactive.svg", - "/com/intellij/ide/ui/laf/icons/intellij/checkBox.svg" to - "/themes/expUI/icons/dark/checkBox.svg", - "/com/intellij/ide/ui/laf/icons/intellij/checkBoxDisabled.svg" to - "/themes/expUI/icons/dark/checkBoxDisabled.svg", - "/com/intellij/ide/ui/laf/icons/intellij/checkBoxFocused.svg" to - "/themes/expUI/icons/dark/checkBoxFocused.svg", - "/com/intellij/ide/ui/laf/icons/intellij/checkBoxIndeterminateSelected.svg" to - "/themes/expUI/icons/dark/checkBoxIndeterminateSelected.svg", - "/com/intellij/ide/ui/laf/icons/intellij/checkBoxIndeterminateSelectedDisabled.svg" to - "/themes/expUI/icons/dark/checkBoxIndeterminateSelectedDisabled.svg", - "/com/intellij/ide/ui/laf/icons/intellij/checkBoxIndeterminateSelectedFocused.svg" to - "/themes/expUI/icons/dark/checkBoxIndeterminateSelectedFocused.svg", - "/com/intellij/ide/ui/laf/icons/intellij/checkBoxSelected.svg" to - "/themes/expUI/icons/dark/checkBoxSelected.svg", - "/com/intellij/ide/ui/laf/icons/intellij/checkBoxSelectedDisabled.svg" to - "/themes/expUI/icons/dark/checkBoxSelectedDisabled.svg", - "/com/intellij/ide/ui/laf/icons/intellij/checkBoxSelectedFocused.svg" to - "/themes/expUI/icons/dark/checkBoxSelectedFocused.svg", - "/com/intellij/ide/ui/laf/icons/intellij/radio.svg" to - "/themes/expUI/icons/dark/radio.svg", - "/com/intellij/ide/ui/laf/icons/intellij/radioDisabled.svg" to - "/themes/expUI/icons/dark/radioDisabled.svg", - "/com/intellij/ide/ui/laf/icons/intellij/radioFocused.svg" to - "/themes/expUI/icons/dark/radioFocused.svg", - "/com/intellij/ide/ui/laf/icons/intellij/radioSelected.svg" to - "/themes/expUI/icons/dark/radioSelected.svg", - "/com/intellij/ide/ui/laf/icons/intellij/radioSelectedDisabled.svg" to - "/themes/expUI/icons/dark/radioSelectedDisabled.svg", - "/com/intellij/ide/ui/laf/icons/intellij/radioSelectedFocused.svg" to - "/themes/expUI/icons/dark/radioSelectedFocused.svg"), colorPalette = - mapOf("Checkbox.Background.Default" to "Gray14", - "Checkbox.Border.Default" to "Gray8", - "Checkbox.Foreground.Selected" to "Gray14", - "Checkbox.Background.Selected" to "Blue4", - "Checkbox.Border.Selected" to "Blue4", - "Checkbox.Focus.Wide" to "Blue4", - "Checkbox.Foreground.Disabled" to "Gray9", - "Checkbox.Background.Disabled" to "Gray13", - "Checkbox.Border.Disabled" to "Gray11"), - selectionColorPalette = mapOf() - ) + override val iconData: ThemeIconData = + ThemeIconData( + iconOverrides = + mapOf( + "/windows/minimize.svg" to "/expui/windows/minimize.svg", + "/windows/minimizeInactive.svg" to "/expui/windows/minimizeInactive.svg", + "/windows/maximize.svg" to "/expui/windows/maximize.svg", + "/windows/maximizeInactive.svg" to "/expui/windows/maximizeInactive.svg", + "/windows/closeActive.svg" to "/expui/windows/closeActive.svg", + "/windows/closeInactive.svg" to "/expui/windows/closeInactive.svg", + "/windows/restore.svg" to "/expui/windows/restore.svg", + "/windows/restoreInactive.svg" to "/expui/windows/restoreInactive.svg", + "/com/intellij/ide/ui/laf/icons/intellij/checkBox.svg" to "/themes/expUI/icons/dark/checkBox.svg", + "/com/intellij/ide/ui/laf/icons/intellij/checkBoxDisabled.svg" to + "/themes/expUI/icons/dark/checkBoxDisabled.svg", + "/com/intellij/ide/ui/laf/icons/intellij/checkBoxFocused.svg" to + "/themes/expUI/icons/dark/checkBoxFocused.svg", + "/com/intellij/ide/ui/laf/icons/intellij/checkBoxIndeterminateSelected.svg" to + "/themes/expUI/icons/dark/checkBoxIndeterminateSelected.svg", + "/com/intellij/ide/ui/laf/icons/intellij/checkBoxIndeterminateSelectedDisabled.svg" to + "/themes/expUI/icons/dark/checkBoxIndeterminateSelectedDisabled.svg", + "/com/intellij/ide/ui/laf/icons/intellij/checkBoxIndeterminateSelectedFocused.svg" to + "/themes/expUI/icons/dark/checkBoxIndeterminateSelectedFocused.svg", + "/com/intellij/ide/ui/laf/icons/intellij/checkBoxSelected.svg" to + "/themes/expUI/icons/dark/checkBoxSelected.svg", + "/com/intellij/ide/ui/laf/icons/intellij/checkBoxSelectedDisabled.svg" to + "/themes/expUI/icons/dark/checkBoxSelectedDisabled.svg", + "/com/intellij/ide/ui/laf/icons/intellij/checkBoxSelectedFocused.svg" to + "/themes/expUI/icons/dark/checkBoxSelectedFocused.svg", + "/com/intellij/ide/ui/laf/icons/intellij/radio.svg" to "/themes/expUI/icons/dark/radio.svg", + "/com/intellij/ide/ui/laf/icons/intellij/radioDisabled.svg" to + "/themes/expUI/icons/dark/radioDisabled.svg", + "/com/intellij/ide/ui/laf/icons/intellij/radioFocused.svg" to + "/themes/expUI/icons/dark/radioFocused.svg", + "/com/intellij/ide/ui/laf/icons/intellij/radioSelected.svg" to + "/themes/expUI/icons/dark/radioSelected.svg", + "/com/intellij/ide/ui/laf/icons/intellij/radioSelectedDisabled.svg" to + "/themes/expUI/icons/dark/radioSelectedDisabled.svg", + "/com/intellij/ide/ui/laf/icons/intellij/radioSelectedFocused.svg" to + "/themes/expUI/icons/dark/radioSelectedFocused.svg", + ), + colorPalette = + mapOf( + "Checkbox.Background.Default" to "Gray14", + "Checkbox.Border.Default" to "Gray8", + "Checkbox.Foreground.Selected" to "Gray14", + "Checkbox.Background.Selected" to "Blue4", + "Checkbox.Border.Selected" to "Blue4", + "Checkbox.Focus.Wide" to "Blue4", + "Checkbox.Foreground.Disabled" to "Gray9", + "Checkbox.Background.Disabled" to "Gray13", + "Checkbox.Border.Disabled" to "Gray11", + ), + selectionColorPalette = emptyMap(), + ) } diff --git a/platform/jewel/scripts/compare-branches.main.kts b/platform/jewel/scripts/compare-branches.main.kts index ca665852ef0b..d6792501fc33 100755 --- a/platform/jewel/scripts/compare-branches.main.kts +++ b/platform/jewel/scripts/compare-branches.main.kts @@ -105,7 +105,8 @@ class CompareBranchesCommand : SuspendingCliktCommand() { if (anyPathMissing) exitProcess(1) println( - "🔍 Comparing commits for paths '${Config.PATHS_TO_CHECK.joinToString()}' between '$branch1' and '$branch2' since $sinceDate..." + "🔍 Comparing commits for paths '${Config.PATHS_TO_CHECK.joinToString()}' between " + + "'$branch1' and '$branch2' since $sinceDate..." ) val pathsArg = Config.PATHS_TO_CHECK.joinToString(separator = " ") { "-- $it" } diff --git a/platform/jewel/scripts/extract-release-notes.main.kts b/platform/jewel/scripts/extract-release-notes.main.kts index 6faf57344e14..9d7da8010f30 100755 --- a/platform/jewel/scripts/extract-release-notes.main.kts +++ b/platform/jewel/scripts/extract-release-notes.main.kts @@ -50,7 +50,8 @@ class ExtractReleaseNotesCommand : CliktCommand() { val latestReleaseDate = getLatestReleaseDate() if (latestReleaseDate.isNullOrBlank()) { printlnErr( - "Error: --start-date is required if ${Config.RELEASE_NOTES_FILE} does not exist or contain a release date." + "Error: --start-date is required if ${Config.RELEASE_NOTES_FILE} " + + "does not exist or contain a release date." ) exitProcess(1) } @@ -224,9 +225,9 @@ class ExtractReleaseNotesCommand : CliktCommand() { val sectionOrder = listOf("⚠️ Important Changes", "New features", "Bug fixes", "Deprecated API", "Other") val sortedSections = - allReleaseNotes.keys.sortedWith( - compareBy { sectionKey -> sectionOrder.indexOf(sectionKey).let { if (it == -1) Int.MAX_VALUE else it } } - ) + allReleaseNotes.keys.sortedBy{ sectionKey -> + sectionOrder.indexOf(sectionKey).takeIf { it >= 0 } ?: Int.MAX_VALUE + } sortedSections.forEach { sectionHeader -> val notes = allReleaseNotes[sectionHeader]!! @@ -273,7 +274,12 @@ class ExtractReleaseNotesCommand : CliktCommand() { private val workingDir = File("").absoluteFile // --- Data Structures --- - private data class ReleaseNoteItem(val issueId: String?, val description: String, val prId: String, val prUrl: String) + private data class ReleaseNoteItem( + val issueId: String?, + val description: String, + val prId: String, + val prUrl: String, + ) private enum class PrProcessingStatus { Extracted, diff --git a/platform/jewel/scripts/jewel-version-updater.main.kts b/platform/jewel/scripts/jewel-version-updater.main.kts index b260e00cca28..886859aebd65 100755 --- a/platform/jewel/scripts/jewel-version-updater.main.kts +++ b/platform/jewel/scripts/jewel-version-updater.main.kts @@ -50,7 +50,6 @@ private val jewelApiVersionTemplate = |/** The Jewel API version for this build, expressed as a string. E.g.: "0.30.0" */ |public val JewelBuild.apiVersionString: String | get() = "%%JEWEL_VERSION%%" - | """ .trimMargin() diff --git a/platform/jewel/scripts/metalava-signatures.main.kts b/platform/jewel/scripts/metalava-signatures.main.kts index 60749e554a32..c61a13e20c75 100755 --- a/platform/jewel/scripts/metalava-signatures.main.kts +++ b/platform/jewel/scripts/metalava-signatures.main.kts @@ -11,22 +11,21 @@ import kotlin.time.Duration.Companion.minutes private fun printHelp() { println( """ - Usage: kotlin metalava-signatures.main.kts [options] - Commands: - update Generate and update API signature dumps. - validate Validate the current signatures against previously generated ones. - - Options: - --release Tells Metalava to create a versioned release archival dump (or validate against one). - If omitted, it will use the current Jewel API version from gradle.properties. - --module Only checks/generates the dump for one module (e.g., ':ui'). - --stable-only Only run tasks for the stable API surface. - --experimental-only Only run tasks for the experimental API surface. - --force Forces a clean build before running the tasks. - --help Display this help and exit. + |Usage: kotlin metalava-signatures.main.kts [options] + |Commands: + | update Generate and update API signature dumps. + | validate Validate the current signatures against previously generated ones. + | + |Options: + | --release Tells Metalava to create a versioned release archival dump (or validate against one). + | If omitted, it will use the current Jewel API version from gradle.properties. + | --module Only checks/generates the dump for one module (e.g., ':ui'). + | --stable-only Only run tasks for the stable API surface. + | --experimental-only Only run tasks for the experimental API surface. + | --force Forces a clean build before running the tasks. + | --help Display this help and exit. """ - .trimIndent() - ) + .trimMargin()) } print("⏳ Locating Jewel folder...") @@ -99,6 +98,10 @@ while (argIterator.hasNext()) { exitProcess(1) } taskPath = "$modulePath:" + + if (!taskPath.startsWith(":")) { + taskPath = ":$taskPath" + } } "--stable-only" -> { if (apiSurface != null) {