Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
97c2bbb
build: migrate to the IntelliJ Platform Gradle Plugin 2.x
Haixing-Hu Aug 20, 2024
d31da86
refactor: migrate to commons-lang3
Haixing-Hu Aug 20, 2024
9da82d3
refactor: migration to newer APIs
Haixing-Hu Aug 20, 2024
fbb6e3b
refactor: use @XCollection to replace @AbstractCollection
Haixing-Hu Aug 20, 2024
d1f9f04
fix: the incorrect usage of String.replaceAll() has been fixed
Haixing-Hu Aug 20, 2024
35f1a6a
style: fix coding styles and potential bugs
Haixing-Hu Aug 21, 2024
baa2dfe
fix: fix potential bugs
Haixing-Hu Aug 21, 2024
579ad60
style: fix coding style problems
Haixing-Hu Aug 21, 2024
72b857c
fix: fix unchecked generic type warnings
Haixing-Hu Aug 21, 2024
098a9c7
style: fix magic string
Haixing-Hu Aug 21, 2024
45212ea
style: fix coding styles
Haixing-Hu Aug 21, 2024
2a5b2c0
fix: set the untilBuild to "242.*"
Haixing-Hu Aug 21, 2024
7f7c702
feat: add support of velocity-tools v3.1
Haixing-Hu Aug 24, 2024
94ca666
feat: support IDEA Intellij 2024.3
Haixing-Hu Nov 22, 2024
f162286
feat: add NameUtilEx, StringUtilEx and some methods to MemberEntry
Haixing-Hu Jan 25, 2025
9e50504
fix: fix the Xml serialization/deserialization of TemplateType enum
Haixing-Hu Jan 26, 2025
9b9c165
feat: support remove multiple selected templates
Haixing-Hu Jan 26, 2025
fc23f2a
refactor: refactor
Haixing-Hu Jan 26, 2025
05fea46
refactor: refactor
Haixing-Hu Jan 26, 2025
99fb675
refactor: refactor a lot of codes
Haixing-Hu Feb 25, 2025
4ff5d73
fix: disable the unpassed unit tests
Haixing-Hu Feb 25, 2025
fe02d4a
refactor: refactor
Haixing-Hu Feb 25, 2025
59179d3
fix: fix the bug that comparing two `PsiClassType` may cause `PsiInva…
Haixing-Hu Feb 26, 2025
548aeae
feat: support IntelliJ IDEA 253.*
Haixing-Hu May 22, 2025
360d563
修复插件兼容性问题,支持IDEA 2025.1及以后版本
Haixing-Hu May 22, 2025
26257b0
feat: 升级构建工具版本,支持IntelliJ IDEA 2025.1
Haixing-Hu Feb 5, 2026
cd8cc61
fix: MethodEntry.getName() 现在在模板中解析为方法名
Haixing-Hu Feb 5, 2026
9337cb4
test: 添加MethodEntry的单元测试
Haixing-Hu Feb 5, 2026
3b3513e
docs: 更新版本2.0.6的更新记录
Haixing-Hu Feb 5, 2026
947502b
fix: 修复ToolManager类缺失的问题,将第三方依赖打包到lib文件夹
Haixing-Hu Feb 5, 2026
eb8bb82
fix: 移除ToolManager使用,直接创建VelocityContext以解决类加载冲突
Haixing-Hu Feb 5, 2026
82c476a
fix: 启用buildSearchableOptions以修复buildPlugin任务
Haixing-Hu Feb 5, 2026
ee97503
fix: 排除velocity-engine-core以避免与IntelliJ平台的类加载冲突
Haixing-Hu Feb 5, 2026
d571276
chore: release version 2.0.7 with changelog
Haixing-Hu Feb 5, 2026
6bd717c
fix: remove deprecated API warnings (instrumentationTools and buildDir)
Haixing-Hu Feb 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 43 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,44 @@
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### IntelliJ IDEA ###
.idea
out
target
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
.intellijPlatform

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Changelog

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

## [2.0.7] - 2026-02-05

### Fixed
- Fixed Velocity Engine class loader conflict by excluding velocity-engine-core dependency that conflicts with IntelliJ Platform
- Fixed method entry name now correctly resolves to method name in templates (MethodEntry.getName() implementation)

### Changed
- Removed ToolManager usage to avoid class loading conflicts, directly creating VelocityContext instead
- Upgraded Gradle wrapper to 8.13
- Upgraded IntelliJ Platform Gradle Plugin to 2.11.0
- Java toolchain set to version 18

### Added
- Unit tests for MethodEntry to verify getName() behavior

## [2.0.6] - 2026-02-05

### Fixed
- Method entry name resolution in Velocity templates

## [2.0.5] - 2025-02-20

### Added
- Support for IntelliJ IDEA 2025.1 - 2025.3

### Fixed
- Settings dialog compatibility issue
- NullPointerException when opening plugin settings
90 changes: 90 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
import org.gradle.api.tasks.testing.Test

plugins {
id("java")
id("org.jetbrains.intellij.platform") version "2.11.0"
}

group = "me.lotabout"
version = "2.0.7"

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

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(18))
}
}

dependencies {
intellijPlatform {
create("IC", "2025.1")
bundledPlugin("com.intellij.java")
pluginVerifier()
zipSigner()
}
implementation("org.apache.commons:commons-lang3:3.12.0")
implementation("org.apache.velocity.tools:velocity-tools-generic:3.1") {
exclude(group = "org.apache.velocity", module = "velocity-engine-core")
}
testImplementation("org.junit.jupiter:junit-jupiter-api:5.7.0")
testImplementation("junit:junit:4.13.2")
testImplementation("org.mockito:mockito-core:5.10.0")
testImplementation("org.mockito:mockito-junit-jupiter:5.10.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.7.0")
}

tasks {
// Set the JVM compatibility versions
withType<JavaCompile> {
sourceCompatibility = "18"
targetCompatibility = "18"
options.compilerArgs.addAll(listOf("-Xlint:deprecation", "-Xlint:unchecked"))
}


// 允许执行测试任务(用于问题复现)
named<Test>("test") {
enabled = true
useJUnitPlatform()
}

patchPluginXml {
sinceBuild.set("251")
untilBuild.set("253.*")
changeNotes.set("""
<ul>
<li>Support for IntelliJ IDEA 2025.1 - 2025.3</li>
<li>Fix settings dialog compatibility issue</li>
<li>Fix NullPointerException when opening plugin settings</li>
</ul>
""")
}

// 复制第三方依赖到lib文件夹
val copyDependencies by registering(Copy::class) {
from(configurations.runtimeClasspath)
into(layout.buildDirectory.dir("libs/lib"))
include("velocity-tools-generic-*.jar")
include("commons-lang3-*.jar")
}

build {
dependsOn(copyDependencies)
}

signPlugin {
certificateChain.set(System.getenv("CERTIFICATE_CHAIN"))
privateKey.set(System.getenv("PRIVATE_KEY"))
password.set(System.getenv("PRIVATE_KEY_PASSWORD"))
}

publishPlugin {
token.set(System.getenv("PUBLISH_TOKEN"))
}
}
8 changes: 8 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib
kotlin.stdlib.default.dependency = false

# Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html
org.gradle.configuration-cache = true

# Enable Gradle Build Cache -> https://docs.gradle.org/current/userguide/build_cache.html
org.gradle.caching = true
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
6 changes: 6 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#Thu Feb 20 02:23:18 CST 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading