Skip to content

Commit 71f115a

Browse files
committed
now working with spark-connect and scala 2.13
1 parent 726edfd commit 71f115a

File tree

12 files changed

+73
-35
lines changed

12 files changed

+73
-35
lines changed

buildSrc/src/main/kotlin/Versions.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
import org.gradle.jvm.toolchain.JavaLanguageVersion
2+
13
object Versions : Dsl<Versions> {
24
const val project = "2.0.0-SNAPSHOT"
35
const val kotlinSparkApiGradlePlugin = "2.0.0-SNAPSHOT"
46
const val groupID = "org.jetbrains.kotlinx.spark"
57
const val kotlin = "2.0.0-RC3"
6-
const val jvmTarget = "8"
8+
const val jvmTarget = "1.8"
9+
val jvmLanguageVersion = JavaLanguageVersion.of(8)
710
const val jupyterJvmTarget = "8"
811
inline val spark get() = System.getProperty("spark") as String
912
inline val scala get() = System.getProperty("scala") as String

compiler-plugin/build.gradle.kts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
12
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
23
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
34

@@ -74,13 +75,17 @@ tasks.withType<KotlinCompile>().configureEach {
7475

7576
kotlin {
7677
jvmToolchain {
77-
languageVersion = JavaLanguageVersion.of(8)
78+
languageVersion = Versions.jvmLanguageVersion
79+
}
80+
compilerOptions {
81+
jvmTarget = JvmTarget.fromTarget(Versions.jvmTarget)
7882
}
7983
}
8084
java {
8185
toolchain {
8286
languageVersion = JavaLanguageVersion.of(8)
8387
}
88+
targetCompatibility = JavaVersion.toVersion(Versions.jvmTarget)
8489
}
8590

8691
val generateTests by tasks.creating(JavaExec::class) {

examples/build.gradle.kts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
1+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
22

33
plugins {
44
// Needs to be installed in the local maven repository or have the bootstrap jar on the classpath
@@ -49,8 +49,10 @@ dependencies {
4949
}
5050

5151
kotlin {
52-
jvmToolchain(8)
5352
jvmToolchain {
54-
languageVersion = JavaLanguageVersion.of(Versions.jvmTarget)
53+
languageVersion = Versions.jvmLanguageVersion
54+
}
55+
compilerOptions {
56+
jvmTarget = JvmTarget.fromTarget(Versions.jvmTarget)
5557
}
5658
}

gradle-plugin/build.gradle.kts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
@file:Suppress("UnstableApiUsage")
22

3+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
4+
5+
36
plugins {
47
`java-gradle-plugin`
58
kotlin
@@ -51,7 +54,10 @@ dependencies {
5154

5255
kotlin {
5356
jvmToolchain {
54-
languageVersion = JavaLanguageVersion.of(Versions.jvmTarget)
57+
languageVersion = Versions.jvmLanguageVersion
58+
}
59+
compilerOptions {
60+
jvmTarget = JvmTarget.fromTarget(Versions.jvmTarget)
5561
}
5662
}
5763

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

kotlin-spark-api/build.gradle.kts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.igormaznitsa.jcp.gradle.JcpTask
44
import com.vanniktech.maven.publish.JavadocJar.Dokka
55
import com.vanniktech.maven.publish.KotlinJvm
66
import org.jetbrains.dokka.gradle.AbstractDokkaLeafTask
7+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
78

89
plugins {
910
kotlin
@@ -66,6 +67,9 @@ dependencies {
6667
kafkaStreamsTestUtils,
6768
sparkMl,
6869
)
70+
71+
compileOnly(scalaLibrary)
72+
testCompileOnly(scalaLibrary)
6973
}
7074
}
7175

@@ -154,8 +158,11 @@ tasks.compileTestKotlin {
154158
}
155159

156160
kotlin {
161+
compilerOptions {
162+
jvmTarget = JvmTarget.fromTarget(Versions.jvmTarget)
163+
}
157164
jvmToolchain {
158-
languageVersion = JavaLanguageVersion.of(Versions.jvmTarget)
165+
languageVersion = Versions.jvmLanguageVersion
159166
}
160167
}
161168

kotlin-spark-api/src/main/kotlin/org/jetbrains/kotlinx/spark/api/Encoding.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ import kotlin.reflect.jvm.javaGetter
7676
import kotlin.reflect.jvm.javaMethod
7777
import kotlin.reflect.jvm.jvmName
7878
import kotlin.reflect.typeOf
79+
import scala.collection.immutable.Seq as ImmutableSeq
7980

8081
fun <T : Any> kotlinEncoderFor(
8182
kClass: KClass<T>,
@@ -683,7 +684,7 @@ object KotlinTypeInference : Serializable {
683684

684685
JavaBeanEncoder<Any>(
685686
ClassTag.apply(jClass),
686-
fields.asScalaSeq(),
687+
fields.asScalaSeq() as ImmutableSeq<EncoderField>?,
687688
)
688689
}
689690
}

scala-helpers/build.gradle.kts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ repositories {
2121
dependencies {
2222

2323
Dependencies {
24-
api(
25-
scalaLibrary,
24+
implementation(
2625
reflect,
2726
)
2827

@@ -32,18 +31,20 @@ dependencies {
3231
implementation(
3332
// sparkSql, not needed atm
3433
)
34+
compileOnly(scalaLibrary)
35+
testCompileOnly(scalaLibrary)
3536
}
3637
}
3738

3839
java {
3940
toolchain {
4041
if (Versions.scalaCompat.toDouble() > 2.12) { // scala 2.12 will always target java 8
41-
languageVersion = JavaLanguageVersion.of(Versions.jvmTarget)
42-
42+
languageVersion = Versions.jvmLanguageVersion
4343
} else if (Versions.jvmTarget == "1.8" || Versions.jvmTarget == "8") {
4444
languageVersion = JavaLanguageVersion.of(8)
4545
}
4646
}
47+
targetCompatibility = JavaVersion.toVersion(Versions.jvmTarget)
4748
}
4849

4950
tasks.withType<ScalaCompile> {
@@ -54,9 +55,12 @@ tasks.withType<ScalaCompile> {
5455
}
5556
}
5657

57-
val scalaMainSources = sourceSets.main.get().scala.sourceDirectories
58+
val scalaMainSources =
59+
sourceSets.main
60+
.get()
61+
.scala.sourceDirectories
5862

59-
val preprocessMain by tasks.creating(JcpTask::class) {
63+
val preprocessMain by tasks.creating(JcpTask::class) {
6064
sources = scalaMainSources
6165
clearTarget = true
6266
fileExtensions = listOf("scala")
@@ -99,4 +103,4 @@ mavenPublishing {
99103
val skipScalaOnlyDependent = System.getProperty("skipScalaOnlyDependent").toBoolean()
100104
tasks
101105
.filter { "publish" in it.name }
102-
.forEach { it.onlyIf { !skipScalaOnlyDependent } }
106+
.forEach { it.onlyIf { !skipScalaOnlyDependent } }

scala-tuples-in-kotlin/build.gradle.kts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
import com.vanniktech.maven.publish.JavadocJar.Dokka
44
import com.vanniktech.maven.publish.KotlinJvm
55
import org.jetbrains.dokka.gradle.AbstractDokkaLeafTask
6-
import org.jetbrains.dokka.gradle.DokkaTask
7-
import org.jetbrains.dokka.gradle.DokkaTaskPartial
8-
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
6+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
97

108
plugins {
119
scala
@@ -30,24 +28,26 @@ dependencies {
3028
Dependencies {
3129
implementation(
3230
kotlinStdLib,
33-
scalaLibrary,
3431
)
3532
testImplementation(
3633
kotest,
3734
atrium,
3835
kotlinTest,
3936
)
37+
compileOnly(scalaLibrary)
38+
testCompileOnly(scalaLibrary)
4039
}
4140
}
4241

43-
4442
kotlin {
4543
jvmToolchain {
46-
languageVersion = JavaLanguageVersion.of(Versions.jvmTarget)
44+
languageVersion = Versions.jvmLanguageVersion
45+
}
46+
compilerOptions {
47+
jvmTarget = JvmTarget.fromTarget(Versions.jvmTarget)
4748
}
4849
}
4950

50-
5151
tasks.withType<AbstractDokkaLeafTask> {
5252
dokkaSourceSets {
5353
all {

0 commit comments

Comments
 (0)