plugins {
id("java")
id("org.jetbrains.kotlin.jvm") version "2.1.0"
id("org.jetbrains.intellij.platform") version "2.7.0"
}
group = "com.sdk.dynform.tools"
version = "3.0.1"
repositories {
mavenCentral()
intellijPlatform {
defaultRepositories()
}
}
// Configure Gradle IntelliJ Plugin
// Read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin.html
dependencies {
intellijPlatform {
create("IU", "2025.1")
testFramework(org.jetbrains.intellij.platform.gradle.TestFrameworkType.Platform)
// Add necessary plugin dependencies for compilation here, example:
bundledPlugin("com.intellij.java")
bundledPlugin("com.intellij.database")
bundledPlugin("com.intellij.jsp")
bundledPlugin("JavaScript")
}
implementation("org.freemarker:freemarker:2.3.32")
}
intellijPlatform {
pluginConfiguration {
ideaVersion {
sinceBuild = "251"
}
changeNotes = """
[3.0.1]
- Rebranding: Renamed plugin to "Dynamic Form Helper" (DynamicFormTools) to better reflect its expanding capabilities.
- I18n Support: Added comprehensive tools for internationalization:
- Inlay hints and code folding for i18n keys in Java, XML, and JavaScript.
- Auto-completion and reference navigation for keys defined in
message.xml.
- Support for multiple message file locations and naming patterns.
- DynForm Support: Introduced dedicated support for
.frml files, including file type recognition and specialized completion helpers.
- Architecture Refactoring: Complete package reorganization to
com.sdk.dynform.tools for better modularity.
[2.1.2]
- Feature: Grouped database actions into a single "Generate Action Models" popup menu.
- UI: Renamed base action to "Generate Action Models V2" to distinguish it from V3.
- UI: Improved context menu organization by placing grouped actions at the top of the Database View menu.
[2.1.1]
- Update: Case-insensitive column type mapping in GUtils.java.
- Update: Add "number" type mapping support for broader database compatibility.
- Resource: Added sample Dataset.xml in DevResources for reference.
[2.1.0]
- Add: Generate Dataset XML feature to generate XML table definitions from database tables.
- Feature: Intelligent label generation for XML datasets, prioritizing database column comments with fallback to entity-based keys.
- Feature: Automatic mapping of database types to XML types (TEXT, NUMBER, DATE) and column width extraction.
- Shortcut: Added
Ctrl + Alt + J for the dataset generation action.
[2.0.1]
- update : Refactory class structure of sdk.dbutils -> sdk.db.xxxx
- Add : Generate for new class structure as V3
[1.1.2]
- fix: Handle databases that do not support user-defined types
[1.1.1]
- fix: Correctly generate primary keys. The generator was failing to identify primary key columns, resulting in generated beans without them. This has been fixed by updating the code to use the `getColumnsRef()` method, which correctly retrieves the column names for the primary key.
[1.1.0]
New Features and Enhancements
- DTO Generation: Introduced new functionality to generate Data Transfer Object (DTO) classes alongside ActionBeans. This includes new FreeMarker templates (
actionDTO.ftl, actionDTO.extend.ftl) and updated logic in GeneratorServices.java.
- ActionField and DTOField Enhancements: Implemented enhancements related to the generation of
ActionField and DTOField within the generated classes.
Refactoring and Improvements
- Project Structure Refactoring: The project structure has been reorganized. Generator-related classes were moved to a new package (
com.sdk.generators.actionmodels), and template directory names were standardized to src/main/resources/templates.
- Build System Updates: Updated
build.gradle.kts, plugin.xml, and Gradle wrapper files to reflect the structural and functional enhancements.
"""
}
}
tasks {
// Set the JVM compatibility versions
withType {
sourceCompatibility = "21"
targetCompatibility = "21"
}
// 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"))
// }
}