-
Notifications
You must be signed in to change notification settings - Fork 76
Update Compiler-Plugin.md #1576
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| # Kotlin DataFrame Compiler Plugin | ||
| # Setup And Overview | ||
|
|
||
| <web-summary> | ||
| Explore the Kotlin DataFrame Compiler Plugin — | ||
|
|
@@ -16,7 +16,7 @@ a powerful tool providing on-the-fly type-safe column-accessors for dataframes. | |
| </link-summary> | ||
|
|
||
|
|
||
| > 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. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. and amper? :) maybe link to the YT issue so people can vote if they want it too |
||
|
|
||
| **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. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. using *an up-to-date- IntelliJ IDEA
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. *Kotlin version
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 2025.2 and 2.2.20, respectively
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. how to combine "or higher" and ", respectively"? drop one or another?
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. maybe "Requires at least versions 2025.2 and 2.2.20, respectively"? |
||
|
|
||
| Setup plugins in `build.gradle.kts`: | ||
| <tabs> | ||
|
|
||
| <tab title="Gradle"> | ||
|
|
||
| Setup plugins in build.gradle.kts: | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. *plugin, right? why is it plural?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. as in "Kotlin and DataFrame plugins", but i also doubt this wording. i'll change it probably. wdyt?
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Aah, I see. I think we can just talk about our dataframe plugin. I think most users will already have the Kotlin plugin setup when adding DataFrame |
||
|
|
||
| ```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. | ||
|
|
||
| </tab> | ||
|
|
||
| <tab title="Maven"> | ||
|
|
||
| DataFrame compiler plugin can be used in Maven projects starting from IntelliJ IDEA 2025.3, available now as EAP builds | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. *The DataFrame compiler plugin |
||
|
|
||
| Setup plugins in pom.xml: | ||
|
|
||
| ```xml | ||
| <plugin> | ||
| <artifactId>kotlin-maven-plugin</artifactId> | ||
| <groupId>org.jetbrains.kotlin</groupId> | ||
| <version>%compilerPluginKotlinVersion%</version> | ||
|
|
||
| <configuration> | ||
| <compilerPlugins> | ||
| <plugin>kotlin-dataframe</plugin> | ||
| </compilerPlugins> | ||
| </configuration> | ||
|
|
||
| <dependencies> | ||
| <dependency> | ||
| <groupId>org.jetbrains.kotlin</groupId> | ||
| <artifactId>kotlin-maven-dataframe</artifactId> | ||
| <version>%compilerPluginKotlinVersion%</version> | ||
| </dependency> | ||
| </dependencies> | ||
| </plugin> | ||
| ``` | ||
|
|
||
| Setup library dependency: | ||
|
|
||
| ```xml | ||
| <dependency> | ||
| <groupId>org.jetbrains.kotlinx</groupId> | ||
| <artifactId>dataframe-core</artifactId> | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. in the gradle example you specify "dataframe", yet here it's "dataframe-core". They should probably be the same |
||
| <version>%dataFrameVersion%</version> | ||
| </dependency> | ||
| ``` | ||
|
|
||
| Sync the project. | ||
|
|
||
| </tab> | ||
|
|
||
| </tabs> | ||
|
|
||
| ## Features overview | ||
|
|
||
| ### Static interpretation of DataFrame API | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's more obvious:

For example, kotlinlang docs never use root toc elements for content:
https://kotlinlang.org/docs/all-open-plugin.html#maven