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" version = "1.1.0" 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 = """ ## Release Notes ### 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. ### Documentation * **GEMINI.md Added:** A comprehensive `GEMINI.md` file has been added to provide an overview of the project, its core technologies, build instructions, and development conventions, serving as essential context for future interactions. """.trimIndent() } } 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")) // } }