Skip to content
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

K2 #649

Open
mgroth0 opened this issue Apr 6, 2024 · 8 comments
Open

K2 #649

mgroth0 opened this issue Apr 6, 2024 · 8 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@mgroth0
Copy link
Contributor

mgroth0 commented Apr 6, 2024

Is there any branch or PR working on a K2 update? I started working on this and it seems like a heavy task so I'm wondering if anyone else has started.

@koperagen
Copy link
Collaborator

We'll update KSP plugin and it should be enough for library users to use dataframe in their K2 builds as a dependency. As for updating to K2 compiler in our project itself, no one has started working on it yet.

@Jolanrensen
Copy link
Collaborator

Jolanrensen commented Apr 9, 2024

There's also the Jupyter dependency. Atm Jupyter tests don't run if we compile the integration classes with Kotlin 2.0. I hope this will work once it is not in preview anymore, but I'm not sure.

Edit: From Kotlin 2.0.0-RC1 upwards, in theory, Jupyter tests work :)

@Jolanrensen
Copy link
Collaborator

It's important to note that DataFrame will likely work fine as a library in your Kotlin 2.0+ project btw, as Kotlin is inherently backwards compatible.

@jsjeon
Copy link

jsjeon commented Apr 17, 2024

@Jolanrensen
Copy link
Collaborator

A small fix regarding this was merged here.
More fixes are on the way here: #708

@Jolanrensen
Copy link
Collaborator

One final thing that currently stops us to update is our outdated linter:
#364
It officially only supports Kotlin up to 1.4 or something... Well it finally broke at 2.0.

@Jolanrensen Jolanrensen added the enhancement New feature or request label May 28, 2024
@Kantis
Copy link
Contributor

Kantis commented Jun 14, 2024

It seems possible to use K2 and Dataframe 0.13 together. Documenting it here in case anyone else is interested in trying it out.

You need to force KSP to a K2 compatible version and apply the KSP gradle plugin yourself.

// in build.gradle.kts
plugins {
   id("org.jetbrains.kotlinx.dataframe") version "0.13.1"
   id("com.google.devtools.ksp") version "2.0.0-1.0.21"
}

// in /settings.gradle.kts
buildscript {
   configurations.all {
      resolutionStrategy {
         force("com.google.devtools.ksp:symbol-processing-api:2.0.0-1.0.21")
         force("com.google.devtools.ksp:symbol-processing-gradle-plugin:2.0.0-1.0.21")
      }
   }
}

Disclaimer: Not sure if this might cause unexpected issues. My builds are passing though.

@Jolanrensen
Copy link
Collaborator

@Kantis Nice! You could probably even skip the force() with setting kotlin.dataframe.add.ksp=false, like here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants