Skip to content

Commit

Permalink
Merge pull request #985
Browse files Browse the repository at this point in the history
Fix: Compatibility with IntelliJ IDEA 2024.2+
  • Loading branch information
flikas authored Sep 17, 2024
2 parents f530b88 + 8676638 commit c715785
Show file tree
Hide file tree
Showing 14 changed files with 206 additions and 130 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ out/
**/*.iwl
/chain.crt
/private.pem
/cache
/cache
/.intellijPlatform
72 changes: 44 additions & 28 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,13 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com), and this project adheres
to [Semantic Versioning](https://semver.org).

## [Unreleased]
## Unreleased

### Added

- Support
for [value providers](https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html#configuration-metadata.manual-hints.value-providers)
- Better setter navigate: from configuration property source to configuration file.
- Support `*.properties` files.
- Support `@PropertySource` annotation.
- Support `@Value` annotation.
- Support `@ConditionalOnProperty` annotation.

### Changed

### Deprecated
Expand All @@ -25,24 +16,30 @@ to [Semantic Versioning](https://semver.org).

### Fixed

## [222.17.3] - 2023-12-13
### Security

## [242.1.0] - 2024-09-17

### Fixed

- Fix compatibility with IntelliJ IDEA 2024.2+

## 222.17.3 - 2023-12-13

- Fix `StopWatch` class not found in IDEA `2023.3`. -- Thanks to @enix223
- Supports `bootstrap-*.yml/yaml` by default. -- Thanks to @skyjilygao

### Security

## [222.17.2] - 2023-02-04
## 222.17.2 - 2023-02-04

- Minimum required IDEA version is 2022.2

## [0.17.2] - 2023-01-15
## 0.17.2 - 2023-01-15

### Fixed

- #41 - Try to fix concurrent reindexing problems.

## [0.17.1] - 2022-12-04
## 0.17.1 - 2022-12-04

### Fixed

Expand All @@ -52,76 +49,95 @@ to [Semantic Versioning](https://semver.org).
- #31 - IllegalAccessError while request document for a misplaced property value.
- #43 - NullPointerException while reporting an empty error.

## [0.17.0] - 2022-11-07
## 0.17.0 - 2022-11-07

### Added

- Join lines(Usually binds to `Ctrl+Shift+J` or `⌃ ⇧ J`) will join keys in proper format.
- Split key into two lines(by pressing `Enter`) at a dot(`.`) will split key in proper format.

## [0.16.0] - 2022-10-23
## 0.16.0 - 2022-10-23

### Added

- Inspection: Reports deprecated properties.

## [0.15.0] - 2022-10-17
## 0.15.0 - 2022-10-17

### Added

- Inspection: Reports undefined properties.
- Inspection: Reports invalid property values.

## [0.14.5] - 2022-10-06
## 0.14.5 - 2022-10-06

### Removed

- If there is bundled Spring Framework support, this plugin will be disabled(the bundled Spring support is good enough),
that means IntelliJ IDEA Ultimate is not supported.

### Fixed

- Compatibility improvements.

## [0.14.4] - 2022-10-05
## 0.14.4 - 2022-10-05

### Added

- [#37](https://github.com/flikas/idea-spring-boot-assistant/pull/37) - Support `bootstrap.yaml` by default. (by
guchengod)

## [0.14.3] - 2022-06-04
## 0.14.3 - 2022-06-04

### Fixed

- [#15](https://github.com/flikas/idea-spring-boot-assistant/issues/15) - File not found rarely when reading user
defined spring-configuration-metadata file.
- [#16](https://github.com/flikas/idea-spring-boot-assistant/issues/16) - Cannot get element's document when editing
yaml file which is exists only in memory.

## [0.14.0] - 2022-05-21
## 0.14.0 - 2022-05-21

### Added

- Intelligence insert in yaml file: Add new property anywhere, insertion will happen at right place.
- Bug reporting: Create issue at GitHub from IDE error dialog.

## [0.13.0] - 2022-05-04
## 0.13.0 - 2022-05-04

### Added

- Spring yaml properties file have got a new icon.
- 'Go to declaration(Ctrl-B or Ctrl-Click)' will navigate to the source code of the property in yaml properties file.

### Changed

- This plugin will be activated only in application*.yml/yaml files by default, this will avoid some annoying side
effects while you are editing other yaml files, these settings can be changed at Settings->Editor->File Types->"Spring
yaml properties file".
- The document of properties is better formatted.

### Fixed

- After rebuild, generated metadata files in project is not correctly reindex-ed.
- 'additional-spring-configuration-metadata.json' file has not been correctly processed sometimes.
- Document is missing while @ConfigurationProperties annotated class is using lombok to generate properties.
- "com.intellij.diagnostic.PluginException: same CV with different captured context" while code completion.

## [0.2.2] - 2021-10-20
## 0.2.2 - 2021-10-20

### Added

- Compatible with IntelliJ IDEA Community Edition 2021.3.

## [0.1.3] - 2021-10-10
## 0.1.3 - 2021-10-10

### Fixed

- Fixed issue with metadata not updated after maven reimport.

## [0.1.0] - 2021-10-08
## 0.1.0 - 2021-10-08

### Changed
- This plugin is now compatible with IntelliJ IDEA Community Edition from version 2019.3 to 2021.2.

- This plugin is now compatible with IntelliJ IDEA Community Edition from version 2019.3 to 2021.2.
9 changes: 9 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# ROADMAP

- Support
for [value providers](https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html#configuration-metadata.manual-hints.value-providers)
- Better setter navigate: from configuration property source to configuration file.
- Support `*.properties` files.
- Support `@PropertySource` annotation.
- Support `@Value` annotation.
- Support `@ConditionalOnProperty` annotation.
74 changes: 45 additions & 29 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,60 +1,73 @@
import org.jetbrains.changelog.Changelog
import org.jetbrains.changelog.date
import org.jetbrains.changelog.markdownToHTML
import org.jetbrains.intellij.platform.gradle.TestFrameworkType

plugins {
java
id("org.jetbrains.intellij")
id("org.jetbrains.intellij.platform")
id("org.jetbrains.changelog")
id("io.freefair.lombok")
}

java {
sourceCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_21
}

group = "dev.flikas"
version = "222.17.3"
version = "242.1.0"

repositories {
mavenCentral()
intellijPlatform {
defaultRepositories()
jetbrainsRuntime()
}
}

dependencies {
intellijPlatform {
intellijIdeaCommunity("2024.2")
bundledPlugin("com.intellij.java")
bundledPlugin("com.intellij.properties")
bundledPlugin("org.jetbrains.plugins.yaml")
bundledPlugin("org.jetbrains.idea.maven")
bundledPlugin("org.jetbrains.plugins.gradle")
testFramework(TestFrameworkType.Platform)
jetbrainsRuntime("21.0.4b598.4")
instrumentationTools()
}

implementation("org.apache.commons", "commons-collections4", "4.4")
implementation("org.apache.commons", "commons-lang3", "3.14.0")
implementation("com.miguelfonseca.completely", "completely-core", "0.9.0")

testImplementation("org.junit.jupiter", "junit-jupiter-api", "5.8.1")
testImplementation("junit:junit:4.13.2")
testImplementation("org.mockito", "mockito-core", "2.12.0")
testRuntimeOnly("org.junit.jupiter", "junit-jupiter-engine", "5.8.1")
}

// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
type.set("IC")
version.set("2023.3")
sameSinceUntilBuild.set(false)
plugins.set(listOf("properties", "yaml", "maven", "gradle", "com.intellij.java"))
}

changelog {
header.set(provider { "[${version.get()}] - ${date()}" })
}

tasks {
wrapper {
distributionType = Wrapper.DistributionType.ALL
}

patchPluginXml {
sinceBuild.set("222")
sinceBuild.set("242")
untilBuild.set("")
version.set(
project.version.toString().run {
val pieces = split('-')
if (pieces.size > 1) {
//if this is not a release version, generate a sub version number from count of hours from 2021-10-01.
pieces[0] + "." + (System.currentTimeMillis() / 1000 - 1633046400) / 60 / 60
} else {
pieces[0]
}
pluginVersion.set(
project.version.toString().run {
val pieces = split('-')
if (pieces.size > 1) {
//if this is not a release version, generate a sub version number from count of hours from 2021-10-01.
pieces[0] + "." + (System.currentTimeMillis() / 1000 - 1633046400) / 60 / 60
} else {
pieces[0]
}
}
)

// Extract the <!-- Plugin description --> section from README.md and provide for the plugin's manifest
Expand All @@ -73,15 +86,18 @@ tasks {
).run { markdownToHTML(this) }
)

changeNotes.set(provider {
changelog.run {
getOrNull(version.get()) ?: getLatest()
}.toHTML()
})
changeNotes = provider {
changelog.renderItem(
changelog
.getLatest()
.withHeader(false)
.withEmptySections(false),
Changelog.OutputType.HTML
)
}
}

signPlugin {
cliVersion.set("0.1.8")
val chain = rootProject.file("chain.crt")
if (chain.exists()) {
certificateChainFile.set(chain)
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit c715785

Please sign in to comment.