diff --git a/docs/StardustDocs/d.tree b/docs/StardustDocs/d.tree index 14fd57309c..6637433855 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 cd6afc88bd..7b407a1aa6 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 — @@ -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,11 +34,13 @@ 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. 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%" @@ -53,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 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.