-
Notifications
You must be signed in to change notification settings - Fork 77
Added Maven project example + Maven setup instructions #1643
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
Conversation
| on-the-fly in Maven projects, making development with Kotlin DataFrame faster, | ||
| more convenient, and fully type- and name-safe. | ||
|
|
||
| > Requires Kotlin 2.2.20-Beta1 or higher. |
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.
And IntelliJ 2025.3
|
Thanks! |
|
Please see if there's a good place to mention link to Maven setup in our main README.md |
| <plugin> | ||
| <groupId>org.jetbrains.kotlin</groupId> | ||
| <artifactId>kotlin-maven-plugin</artifactId> | ||
| <version>2.3.0-RC3</version> |
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.
we might actually need an "example generator" at this point. This will be yet another version to manually update each time
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 suggest a Gradle task that would read Kotlin version from our toml and update required files. We can run it on assemble, for instance, so it will be hard to miss. It also very fast and no additional infra required
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.
how would we 'mark' where the versions need to be overwritten though? A Korro-like notation?
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.
Something like %compilerPluginKotlinVersion% in writerside would also be nice, but that would require two versions of all files. A "template" version and a "compiled" version with the actual values
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.
actually, that's pretty easily done!
For each file we want to process, like pom.xml we create pom.xml.template with %compilerPluginKotlinVersion% notations, and then we have a top-level gradle task that replaces all files a.b that have an a.b.template counterpart with the right versions!
| <artifactId>kotlin-stdlib</artifactId> | ||
| <version>2.3.0-RC3</version> | ||
| </dependency> | ||
| <!-- DataFrame and Kandy dependencies --> |
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.
and some more...
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 left comments only for things not generated by project wizard!
| @@ -0,0 +1,112 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
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.
Also, since we don't build this example, we cannot track when it breaks. Maybe something like https://stackoverflow.com/questions/35795250/maven-project-as-dependency-in-gradle-project could work?
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.
🤔
| 4. From the **Language** list, select **Kotlin**. | ||
| 5. Select the **Maven** build system. | ||
| 6. From the **JDK list**, select the [JDK](https://www.oracle.com/java/technologies/downloads/) | ||
| that you want to use in your project. The minimum supported version is JDK 8. |
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.
maybe we should recommend newer versions as well, as some parts of DF require 11
| Add the following line to your `gradle.properties` file: | ||
|
|
||
| ```properties | ||
| kotlin.incremental=false |
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.
@koperagen this isn't a problem in Maven?
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.
Not a problem there
| <!DOCTYPE vars SYSTEM "https://resources.jetbrains.com/writerside/1.0/vars.dtd"> | ||
| <vars> | ||
| <var name="dataFrameVersion" value="1.0.0-Beta4" type="string"/> | ||
| <var name="compilerPluginKotlinVersion" value="2.3.0-RC" type="string"/> |
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.
2.3.0 is released
Helps #722