JetBrains / JetBrains/sbt-idea-plugin

SBT Kotlin Plugin can not compile generate build dir with code for jetbrains dataframe

Open
#136 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
101
Forks
29
PR merge metrics
No merged PRs in 30d

Description

Hi ,
in gradle ,we can compile import org.jetbrains.kotlinx.dataframe.annotations.DataSchema anntotion data class to generate dataSchema code
like this, libraryDependencies += "org.jetbrains.kotlinx" % "dataframe" % "0.15.0" , but in sbt ,when we compile code can not generate code , how to do @dmitrii Naumenko https://github.com/unkarjedy , @unkarjedy , @mutcianm @vasilmkd @mdinacci @jastice
jastice ,https://github.com/JetBrains/sbt-idea-plugin this project can not make issue !!! why

package models.netflix

import org.jetbrains.kotlinx.dataframe.annotations.DataSchema
import java.time.LocalDate

@DataSchema
data class NetflixItem(
val show_id: String = "",
val type: String = "",
val title: String = "",
val director: String? = null,
val cast: String? = null,
val country: String? = null,
val date_added: LocalDate? = null,
val release_year: Int = 0,
val rating: String? = null,
val duration: String = "",
val listed_in: String = "",
val description: String = "",
)

the dir build /genetate code

@file:Suppress("UNCHECKED_CAST", "USELESS_CAST")
package models.netflix
import org.jetbrains.kotlinx.dataframe.annotations.*
import org.jetbrains.kotlinx.dataframe.ColumnsContainer
import org.jetbrains.kotlinx.dataframe.DataColumn
import org.jetbrains.kotlinx.dataframe.DataFrame
import org.jetbrains.kotlinx.dataframe.DataRow
import org.jetbrains.kotlinx.dataframe.columns.ColumnGroup

val ColumnsContainer.cast: DataColumn @JvmName("NetflixItem_cast") get() = this["cast"] as DataColumn
val DataRow.cast: String? @JvmName("NetflixItem_cast") get() = this["cast"] as String?
val ColumnsContainer.country: DataColumn @JvmName("NetflixItem_country") get() = this["country"] as DataColumn
val DataRow.country: String? @JvmName("NetflixItem_country") get() = this["country"] as String?
val ColumnsContainer.date_added: DataColumn @JvmName("NetflixItem_date_added") get() = this["date_added"] as DataColumn
val DataRow.date_added: java.time.LocalDate? @JvmName("NetflixItem_date_added") get() = this["date_added"] as java.time.LocalDate?
val ColumnsContainer.description: DataColumn @JvmName("NetflixItem_description") get() = this["description"] as DataColumn
val DataRow.description: String @JvmName("NetflixItem_description") get() = this["description"] as String
val ColumnsContainer.director: DataColumn @JvmName("NetflixItem_director") get() = this["director"] as DataColumn
val DataRow.director: String? @JvmName("NetflixItem_director") get() = this["director"] as String?
val ColumnsContainer.duration: DataColumn @JvmName("NetflixItem_duration") get() = this["duration"] as DataColumn
val DataRow.duration: String @JvmName("NetflixItem_duration") get() = this["duration"] as String
val ColumnsContainer.listed_in: DataColumn @JvmName("NetflixItem_listed_in") get() = this["listed_in"] as DataColumn
val DataRow.listed_in: String @JvmName("NetflixItem_listed_in") get() = this["listed_in"] as String
val ColumnsContainer.rating: DataColumn @JvmName("NetflixItem_rating") get() = this["rating"] as DataColumn
val DataRow.rating: String? @JvmName("NetflixItem_rating") get() = this["rating"] as String?
val ColumnsContainer.release_year: DataColumn @JvmName("NetflixItem_release_year") get() = this["release_year"] as DataColumn
val DataRow.release_year: Int @JvmName("NetflixItem_release_year") get() = this["release_year"] as Int
val ColumnsContainer.show_id: DataColumn @JvmName("NetflixItem_show_id") get() = this["show_id"] as DataColumn
val DataRow.show_id: String @JvmName("NetflixItem_show_id") get() = this["show_id"] as String
val ColumnsContainer.title: DataColumn @JvmName("NetflixItem_title") get() = this["title"] as DataColumn
val DataRow.title: String @JvmName("NetflixItem_title") get() = this["title"] as String
val ColumnsContainer.type: DataColumn @JvmName("NetflixItem_type") get() = this["type"] as DataColumn
val DataRow.type: String @JvmName("NetflixItem_type") get() = this["type"] as String

and when I write kotlin code to invoke scala package ,tell me sealed types can not be init ???
but It is could run

//import org.polars.scala.polars.Polars
import org.bytedeco.javacpp.DoublePointer
import org.bytedeco.pytorch.DoubleArrayRef
import org.bytedeco.pytorch.global.torch
import torch.Float32Tensor
import torch.Float64Tensor
import torch.nn.functional.*

fun main() {

val tensor1 = Float32Tensor(torch.tensor(21.32f, 23.546f, 45.45f, 23.78f))
println(tensor1)
// val tensor = torch.tensor(1.0f)
//double
val pointer = DoublePointer(21.32, 23.546, 45.45, 23.78)
val arrayRef = DoubleArrayRef(pointer, 4)
val tensor2= Float64Tensor(torch.tensor(arrayRef))
println(tensor2)

}

![Image](https://github.com/user-attachments/assets/c7c1e920-8e19-4c78-bca3-6ceeaffffafc)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the reported build in JetBrains/sbt-idea-plugin using the Kotlin DataFrame @DataSchema example and the generated build directory output shown in the issue. Compare the Gradle and SBT compilation behavior, then separately verify the reported Kotlin invocation of Scala code and its sealed-type error. Done means the relevant SBT build either generates the expected DataFrame code or documents a confirmed limitation with a clear reproduction.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin, scala
Domain
build-system, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.