diff --git a/tools/idea-plugin/build.gradle.kts b/tools/idea-plugin/build.gradle.kts index 5638a04bd..7f0da6871 100644 --- a/tools/idea-plugin/build.gradle.kts +++ b/tools/idea-plugin/build.gradle.kts @@ -11,11 +11,18 @@ plugins { alias(libs.plugins.jetbrains.intellij) alias(libs.plugins.jetbrains.changelog) alias(libs.plugins.kotlin.serialization) + alias(libs.plugins.buildconfig) } group = "io.github.composegears" version = ideaPluginVersions.versions.idea.plugin.version.get() +buildConfig { + packageName = "io.github.composegears.valkyrie" + className = "ValkyrieBuildConfig" + buildConfigField("VERSION", ideaPluginVersions.versions.idea.plugin.version.get()) +} + configurations.getByName("implementation") { exclude(group = "org.jetbrains.kotlin", module = "kotlin-reflect") exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib") diff --git a/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/intro/IntroScreen.kt b/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/intro/IntroScreen.kt index d24831749..ca66aaa72 100644 --- a/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/intro/IntroScreen.kt +++ b/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/intro/IntroScreen.kt @@ -16,6 +16,7 @@ import com.composegears.tiamat.compose.navDestination import com.composegears.tiamat.compose.navigate import io.github.composegears.valkyrie.FeatureFlag.ICON_EDITOR_FEATURE_ENABLED import io.github.composegears.valkyrie.FeatureFlag.KT_TO_SVG_ENABLED +import io.github.composegears.valkyrie.ValkyrieBuildConfig import io.github.composegears.valkyrie.jewel.HorizontalDivider import io.github.composegears.valkyrie.jewel.InfoCard import io.github.composegears.valkyrie.jewel.SettingsAction @@ -34,7 +35,6 @@ import io.github.composegears.valkyrie.sdk.compose.icons.outlined.SvgXml import io.github.composegears.valkyrie.sdk.shared.ValkyrieMode import io.github.composegears.valkyrie.sdk.shared.ValkyrieTool import io.github.composegears.valkyrie.ui.screen.editor.EditorSelectScreen -import io.github.composegears.valkyrie.ui.screen.intro.util.rememberPluginVersion import io.github.composegears.valkyrie.ui.screen.mode.iconpack.IconPackModeScreen import io.github.composegears.valkyrie.ui.screen.mode.simple.picker.SimplePickerScreen import io.github.composegears.valkyrie.ui.screen.settings.SettingsScreen @@ -160,7 +160,7 @@ private fun IntroScreenUI( .align(Alignment.BottomEnd) .padding(end = 16.dp, bottom = 8.dp), style = JewelTheme.typography.small, - text = rememberPluginVersion(), + text = ValkyrieBuildConfig.VERSION, maxLines = 1, ) } diff --git a/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/intro/util/PluginVersion.kt b/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/intro/util/PluginVersion.kt deleted file mode 100644 index 07be3c3f3..000000000 --- a/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/intro/util/PluginVersion.kt +++ /dev/null @@ -1,17 +0,0 @@ -package io.github.composegears.valkyrie.ui.screen.intro.util - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember -import androidx.compose.ui.platform.LocalInspectionMode -import com.intellij.ide.plugins.PluginManagerCore -import com.intellij.openapi.extensions.PluginId - -@Composable -fun rememberPluginVersion(): String { - if (LocalInspectionMode.current) return "1.0.0" - - return remember { - val pluginId = PluginId.getId("io.github.composegears.valkyrie") - PluginManagerCore.getPlugin(pluginId)?.version.toString() - } -} diff --git a/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/settings/tabs/about/AboutSettingsScreen.kt b/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/settings/tabs/about/AboutSettingsScreen.kt index 338907527..19632c12a 100644 --- a/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/settings/tabs/about/AboutSettingsScreen.kt +++ b/tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/settings/tabs/about/AboutSettingsScreen.kt @@ -9,6 +9,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.composegears.tiamat.compose.navDestination +import io.github.composegears.valkyrie.ValkyrieBuildConfig import io.github.composegears.valkyrie.jewel.HorizontalDivider import io.github.composegears.valkyrie.jewel.settings.GroupSpacing import io.github.composegears.valkyrie.jewel.tooling.PreviewTheme @@ -16,7 +17,6 @@ import io.github.composegears.valkyrie.sdk.compose.foundation.layout.CenterVerti import io.github.composegears.valkyrie.sdk.compose.foundation.layout.Spacer import io.github.composegears.valkyrie.sdk.compose.icons.ValkyrieIcons import io.github.composegears.valkyrie.sdk.compose.icons.colored.PluginIcon -import io.github.composegears.valkyrie.ui.screen.intro.util.rememberPluginVersion import io.github.composegears.valkyrie.util.stringResource import org.jetbrains.compose.ui.tooling.preview.Preview import org.jetbrains.jewel.foundation.theme.JewelTheme @@ -46,7 +46,7 @@ private fun AboutSettingsUi() { style = JewelTheme.typography.h3TextStyle, ) InfoText( - text = rememberPluginVersion(), + text = ValkyrieBuildConfig.VERSION, style = JewelTheme.typography.small, ) }