From d747f29067a1081210bb26d6070b3958ca3b5167 Mon Sep 17 00:00:00 2001 From: Nikita Klimenko Date: Thu, 20 Nov 2025 13:19:01 +0200 Subject: [PATCH 1/4] Update Compiler-Plugin.md --- docs/StardustDocs/topics/Compiler-Plugin.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/StardustDocs/topics/Compiler-Plugin.md b/docs/StardustDocs/topics/Compiler-Plugin.md index cd6afc88bd..20cd23b345 100644 --- a/docs/StardustDocs/topics/Compiler-Plugin.md +++ b/docs/StardustDocs/topics/Compiler-Plugin.md @@ -34,9 +34,7 @@ Check out this video that shows how expressions update the schema of a dataframe ## Setup -Install [IntelliJ IDEA EAP](https://www.jetbrains.com/idea/nextversion/). -Going forward, compiler plugin updates will be released with Kotlin plugin updates. -Next release: 2025.2 +We recommend using up-to-date IntelliJ IDEA and Kotlin for the best experience. Minimal supported versions: 2025.2 and 2.2.0. Setup plugins in `build.gradle.kts`: From 4b09a6277c6d8ee799647bee30223f34b9f99472 Mon Sep 17 00:00:00 2001 From: Nikita Klimenko Date: Thu, 20 Nov 2025 13:31:32 +0200 Subject: [PATCH 2/4] Update compiler plugin docs structure --- docs/StardustDocs/d.tree | 3 ++- docs/StardustDocs/topics/Compiler-Plugin.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/StardustDocs/d.tree b/docs/StardustDocs/d.tree index 14fd57309c..7fbc760e7f 100644 --- a/docs/StardustDocs/d.tree +++ b/docs/StardustDocs/d.tree @@ -48,7 +48,8 @@ - + + diff --git a/docs/StardustDocs/topics/Compiler-Plugin.md b/docs/StardustDocs/topics/Compiler-Plugin.md index 20cd23b345..f784d77980 100644 --- a/docs/StardustDocs/topics/Compiler-Plugin.md +++ b/docs/StardustDocs/topics/Compiler-Plugin.md @@ -1,4 +1,4 @@ -# Kotlin DataFrame Compiler Plugin +# Setup and overview Explore the Kotlin DataFrame Compiler Plugin — From ec5ae2bc95f2143d7736e741f1bb04725830b6bd Mon Sep 17 00:00:00 2001 From: Nikita Klimenko Date: Thu, 20 Nov 2025 13:38:24 +0200 Subject: [PATCH 3/4] Capitalize titles in compiler plugin docs --- docs/StardustDocs/d.tree | 2 +- docs/StardustDocs/topics/Compiler-Plugin.md | 2 +- docs/StardustDocs/topics/compilerPluginExamples.md | 2 +- docs/StardustDocs/topics/dataSchema.md | 2 +- docs/StardustDocs/topics/staticInterpretation.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/StardustDocs/d.tree b/docs/StardustDocs/d.tree index 7fbc760e7f..6637433855 100644 --- a/docs/StardustDocs/d.tree +++ b/docs/StardustDocs/d.tree @@ -48,7 +48,7 @@ - + diff --git a/docs/StardustDocs/topics/Compiler-Plugin.md b/docs/StardustDocs/topics/Compiler-Plugin.md index f784d77980..6fddf86149 100644 --- a/docs/StardustDocs/topics/Compiler-Plugin.md +++ b/docs/StardustDocs/topics/Compiler-Plugin.md @@ -1,4 +1,4 @@ -# Setup and overview +# Setup And Overview Explore the Kotlin DataFrame Compiler Plugin — diff --git a/docs/StardustDocs/topics/compilerPluginExamples.md b/docs/StardustDocs/topics/compilerPluginExamples.md index 4965b39805..ec9d899f1d 100644 --- a/docs/StardustDocs/topics/compilerPluginExamples.md +++ b/docs/StardustDocs/topics/compilerPluginExamples.md @@ -1,4 +1,4 @@ -[//]: # (title: Compiler plugin examples) +[//]: # (title: Compiler Plugin Examples) This page provides a few examples that you can copy directly to your project. [Schema info](staticInterpretation.md#schema-info) will be a convenient way to observe the result of different operations. diff --git a/docs/StardustDocs/topics/dataSchema.md b/docs/StardustDocs/topics/dataSchema.md index 466dac5c6a..d098c09557 100644 --- a/docs/StardustDocs/topics/dataSchema.md +++ b/docs/StardustDocs/topics/dataSchema.md @@ -1,4 +1,4 @@ -# @DataSchema declarations +# @DataSchema Declarations `DataSchema` can be used as an argument for [cast](cast.md) and [convertTo](convertTo.md) functions. It provides typed data access for raw dataframes you read from I/O sources and serves as a starting point for the compiler plugin to derive schema changes. diff --git a/docs/StardustDocs/topics/staticInterpretation.md b/docs/StardustDocs/topics/staticInterpretation.md index df163460fd..c577c537dd 100644 --- a/docs/StardustDocs/topics/staticInterpretation.md +++ b/docs/StardustDocs/topics/staticInterpretation.md @@ -1,4 +1,4 @@ -# Static interpretation of DataFrame API +# Static Interpretation of DataFrame API Plugin evaluates dataframe operations, given compile-time known arguments such as constant String, resolved types, property access calls. It updates the return type of the function call to provide properties that match column names and types. From 45ebb186d6a893a7f4531f6fedd4664f999a6a22 Mon Sep 17 00:00:00 2001 From: Nikita Klimenko Date: Thu, 20 Nov 2025 14:00:26 +0200 Subject: [PATCH 4/4] Add maven configuration for compiler plugin --- docs/StardustDocs/topics/Compiler-Plugin.md | 62 +++++++++++++++++++-- 1 file changed, 56 insertions(+), 6 deletions(-) diff --git a/docs/StardustDocs/topics/Compiler-Plugin.md b/docs/StardustDocs/topics/Compiler-Plugin.md index 6fddf86149..7b407a1aa6 100644 --- a/docs/StardustDocs/topics/Compiler-Plugin.md +++ b/docs/StardustDocs/topics/Compiler-Plugin.md @@ -16,7 +16,7 @@ a powerful tool providing on-the-fly type-safe column-accessors for dataframes. -> Now available in Gradle projects, is coming soon to Kotlin Notebook and Maven projects. +> Now available in Gradle (IDEA 2025.2+) and Maven (IDEA 2025.3+) projects, is coming soon to Kotlin Notebook. **Kotlin DataFrame Compiler Plugin** is a Kotlin compiler plugin that automatically generates **[type-safe extension properties](extensionPropertiesApi.md)** for your dataframes, @@ -34,9 +34,13 @@ Check out this video that shows how expressions update the schema of a dataframe ## Setup -We recommend using up-to-date IntelliJ IDEA and Kotlin for the best experience. Minimal supported versions: 2025.2 and 2.2.0. +We recommend using up-to-date IntelliJ IDEA and Kotlin for the best experience. Requires 2025.2 and 2.2.20 or higher. -Setup plugins in `build.gradle.kts`: + + + + +Setup plugins in build.gradle.kts: ```kotlin kotlin("jvm") version "%compilerPluginKotlinVersion%" @@ -51,16 +55,62 @@ Setup library dependency: implementation("org.jetbrains.kotlinx:dataframe:%dataFrameVersion%") ``` -Add this line to `gradle.properties`: +Add this line to `gradle.properties`: ```properties kotlin.incremental=false ``` - -`Sync` the project. + +Sync the project. Disabling incremental compilation will no longer be necessary when https://youtrack.jetbrains.com/issue/KT-66735 is resolved. + + + + +DataFrame compiler plugin can be used in Maven projects starting from IntelliJ IDEA 2025.3, available now as EAP builds + +Setup plugins in pom.xml: + +```xml + + kotlin-maven-plugin + org.jetbrains.kotlin + %compilerPluginKotlinVersion% + + + + kotlin-dataframe + + + + + + org.jetbrains.kotlin + kotlin-maven-dataframe + %compilerPluginKotlinVersion% + + + +``` + +Setup library dependency: + +```xml + + org.jetbrains.kotlinx + dataframe-core + %dataFrameVersion% + +``` + +Sync the project. + + + + + ## Features overview ### Static interpretation of DataFrame API