diff --git a/CHANGELOG.md b/CHANGELOG.md index 00624a5..edb5aaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ # CodeClocker Changelog +## [1.3.1] - 2025-12-22 + +- Support latest IDE version + ## [1.3.0] - 2025-12-15 - Save activity data to local storage to survive IDE restarts @@ -76,7 +80,8 @@ - Support IntelliJ Platform 2024.3.5 -[Unreleased]: https://github.com/codeclocker/codeclocker-intellij-plugin/compare/v1.2.3...HEAD +[Unreleased]: https://github.com/codeclocker/codeclocker-intellij-plugin/compare/v1.3.0...HEAD +[1.3.0]: https://github.com/codeclocker/codeclocker-intellij-plugin/compare/v1.2.3...v1.3.0 [1.2.3]: https://github.com/codeclocker/codeclocker-intellij-plugin/compare/v1.2.2...v1.2.3 [1.2.2]: https://github.com/codeclocker/codeclocker-intellij-plugin/compare/v1.2.1...v1.2.2 [1.2.1]: https://github.com/codeclocker/codeclocker-intellij-plugin/compare/v1.2.0...v1.2.1 diff --git a/build.gradle.kts b/build.gradle.kts index 9f5926c..243cd43 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,14 +30,14 @@ repositories { } } -// Dependencies are managed with Gradle version catalog - read more: https://docs.gradle.org/current/userguide/platforms.html#sub:version-catalog +// Dependencies are managed with Gradle version catalog - read more: https://docs.gradle.org/current/userguide/version_catalogs.html dependencies { testImplementation(libs.junit) testImplementation(libs.opentest4j) // IntelliJ Platform Gradle Plugin Dependencies Extension - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-dependencies-extension.html intellijPlatform { - create(providers.gradleProperty("platformType"), providers.gradleProperty("platformVersion")) + intellijIdea(providers.gradleProperty("platformVersion")) // Plugin Dependencies. Uses `platformBundledPlugins` property from the gradle.properties file for bundled IntelliJ Platform plugins. bundledPlugins(providers.gradleProperty("platformBundledPlugins").map { it.split(',') }) @@ -45,6 +45,9 @@ dependencies { // Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file for plugin from JetBrains Marketplace. plugins(providers.gradleProperty("platformPlugins").map { it.split(',') }) + // Module Dependencies. Uses `platformBundledModules` property from the gradle.properties file for bundled IntelliJ Platform modules. + bundledModules(providers.gradleProperty("platformBundledModules").map { it.split(',') }) + testFramework(TestFrameworkType.Platform) } } @@ -85,7 +88,6 @@ intellijPlatform { ideaVersion { sinceBuild = providers.gradleProperty("pluginSinceBuild") - untilBuild = providers.gradleProperty("pluginUntilBuild") } } @@ -96,10 +98,10 @@ intellijPlatform { } publishing { - token = providers.gradleProperty("token") + token = providers.environmentVariable("PUBLISH_TOKEN") // The pluginVersion is based on the SemVer (https://semver.org) and supports pre-release labels, like 2.1.7-alpha.3 // Specify pre-release label to publish the plugin in a custom Release Channel automatically. Read more: - // https://plugins.jetbrains.com/docs/intellij/deployment.html#specifying-a-release-channel + // https://plugins.jetbrains.com/docs/intellij/publishing-plugin.html#specifying-a-release-channel channels = providers.gradleProperty("pluginVersion").map { listOf(it.substringAfter('-', "").substringBefore('.').ifEmpty { "default" }) } } @@ -117,7 +119,7 @@ changelog { repositoryUrl = providers.gradleProperty("pluginRepositoryUrl") } -// Configure Gradle Kover Plugin - read more: https://github.com/Kotlin/kotlinx-kover#configuration +// Configure Gradle Kover Plugin - read more: https://kotlin.github.io/kotlinx-kover/gradle-plugin/#configuration-details kover { reports { total { diff --git a/gradle.properties b/gradle.properties index 9f51dcc..a430e2b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,24 +4,24 @@ pluginGroup = com.codeclocker pluginName = CodeClocker pluginRepositoryUrl = https://github.com/codeclocker/codeclocker-intellij-plugin # SemVer format -> https://semver.org -pluginVersion = 1.3.0 +pluginVersion = 1.3.1 # Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html -pluginSinceBuild = 242 -pluginUntilBuild = 252.* +pluginSinceBuild = 252 # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension -platformType = IC -platformVersion = 2024.2.5 +platformVersion = 2025.2.5 # Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html # Example: platformPlugins = com.jetbrains.php:203.4449.22, org.intellij.scala:2023.3.27@EAP platformPlugins = # Example: platformBundledPlugins = com.intellij.java platformBundledPlugins = +# Example: platformBundledModules = intellij.spellchecker +platformBundledModules = # Gradle Releases -> https://github.com/gradle/gradle/releases -gradleVersion = 8.13 +gradleVersion = 9.2.1 # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false @@ -30,4 +30,4 @@ kotlin.stdlib.default.dependency = false org.gradle.configuration-cache = true # Enable Gradle Build Cache -> https://docs.gradle.org/current/userguide/build_cache.html -org.gradle.caching = true \ No newline at end of file +org.gradle.caching = true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f8bfcfc..3fd64a1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,11 +4,11 @@ junit = "4.13.2" opentest4j = "1.3.0" # plugins -changelog = "2.4.0" -intelliJPlatform = "2.9.0" -kotlin = "2.1.20" -kover = "0.9.1" -qodana = "2025.1.1" +changelog = "2.5.0" +intelliJPlatform = "2.10.5" +kotlin = "2.2.21" +kover = "0.9.3" +qodana = "2025.2.2" [libraries] junit = { group = "junit", name = "junit", version.ref = "junit" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index df97d72..23449a2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/qodana.yml b/qodana.yml index a502427..81f13b9 100644 --- a/qodana.yml +++ b/qodana.yml @@ -1,9 +1,9 @@ # Qodana configuration: # https://www.jetbrains.com/help/qodana/qodana-yaml.html -version: 1.0 -linter: jetbrains/qodana-jvm-community:2024.2 -projectJDK: "17" +version: "1.0" +linter: jetbrains/qodana-jvm-community:2024.3 +projectJDK: "21" profile: name: qodana.recommended exclude: diff --git a/settings.gradle.kts b/settings.gradle.kts index 2c3269a..8c165cb 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,5 @@ +rootProject.name = "codeclocker-intellij-plugin" + plugins { - id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" + id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" } - -rootProject.name = "codeclocker-intellij-plugin" diff --git a/src/main/java/com/codeclocker/plugin/intellij/widget/TimeTrackerWidget.java b/src/main/java/com/codeclocker/plugin/intellij/widget/TimeTrackerWidget.java index 0549b86..225504a 100644 --- a/src/main/java/com/codeclocker/plugin/intellij/widget/TimeTrackerWidget.java +++ b/src/main/java/com/codeclocker/plugin/intellij/widget/TimeTrackerWidget.java @@ -70,7 +70,7 @@ public void dispose() { public String getSelectedValue() { String totalTime = service.getFormattedTotalTime(); String projectTime = service.getFormattedProjectTime(); - return "Total: " + totalTime + " | Project: " + projectTime; + return "Total: " + totalTime + " | Project: " + projectTime + " ↗"; } @Override @@ -83,7 +83,13 @@ public String getTooltipText() { String totalTime = service.getFormattedTotalTime(); String projectTime = service.getFormattedProjectTime(); - return "Total today: " + totalTime + ". Time on " + project.getName() + ": " + projectTime; + return "Total today: " + + totalTime + + ". Time on " + + project.getName() + + ": " + + projectTime + + ". Click to see more info."; } @Nullable