plugins {
id("java")
id("org.jetbrains.kotlin.jvm") version "2.1.0"
id("org.jetbrains.intellij.platform") version "2.7.0"
}
group = "com.sdk.generators.actionmodels.v3"
version = "2.1.2"
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")
}
implementation("org.freemarker:freemarker:2.3.32")
}
intellijPlatform {
pluginConfiguration {
ideaVersion {
sinceBuild = "251"
}
changeNotes = """
[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"))
// }
}