Skip to content

Commit 9f40e89

Browse files
committed
Merge branch 'master' into dfs-rename3
2 parents d21934b + 2491bd5 commit 9f40e89

File tree

6 files changed

+130
-6
lines changed

6 files changed

+130
-6
lines changed

README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,41 @@ repositories {
3838
dependencies {
3939
implementation("org.jetbrains.kotlinx:dataframe:0.10.0")
4040
}
41+
42+
// Below only applies to Android projects
43+
android {
44+
defaultConfig {
45+
minSdk = 26 // Android O+
46+
}
47+
compileOptions {
48+
sourceCompatibility = JavaVersion.VERSION_1_8
49+
targetCompatibility = JavaVersion.VERSION_1_8
50+
}
51+
kotlinOptions {
52+
jvmTarget = "1.8"
53+
}
54+
packaging {
55+
resources {
56+
pickFirsts += listOf(
57+
"META-INF/AL2.0",
58+
"META-INF/LGPL2.1",
59+
"META-INF/ASL-2.0.txt",
60+
"META-INF/LICENSE.md",
61+
"META-INF/NOTICE.md",
62+
"META-INF/LGPL-3.0.txt",
63+
)
64+
excludes += listOf(
65+
"META-INF/kotlin-jupyter-libraries/libraries.json",
66+
"META-INF/{INDEX.LIST,DEPENDENCIES}",
67+
"{draftv3,draftv4}/schema",
68+
"arrow-git.properties",
69+
)
70+
}
71+
}
72+
}
73+
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
74+
kotlinOptions.jvmTarget = "1.8"
75+
}
4176
```
4277
### Jupyter Notebook
4378

dataframe-openapi/build.gradle.kts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@ dependencies {
2222

2323
implementation(libs.kotlin.reflect)
2424
implementation(libs.kotlinpoet)
25-
api(libs.swagger)
25+
api(libs.swagger) {
26+
// Fix for Android
27+
exclude("jakarta.validation")
28+
}
2629

2730
testApi(project(":core"))
2831
testImplementation(libs.junit)

docs/StardustDocs/topics/installation.md

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,41 @@ plugins {
6565
dependencies {
6666
implementation("org.jetbrains.kotlinx:dataframe:%dataFrameVersion%")
6767
}
68+
69+
// Below only applies to Android projects
70+
android {
71+
defaultConfig {
72+
minSdk = 26 // Android O+
73+
}
74+
compileOptions {
75+
sourceCompatibility = JavaVersion.VERSION_1_8
76+
targetCompatibility = JavaVersion.VERSION_1_8
77+
}
78+
kotlinOptions {
79+
jvmTarget = "1.8"
80+
}
81+
packaging {
82+
resources {
83+
pickFirsts += listOf(
84+
"META-INF/AL2.0",
85+
"META-INF/LGPL2.1",
86+
"META-INF/ASL-2.0.txt",
87+
"META-INF/LICENSE.md",
88+
"META-INF/NOTICE.md",
89+
"META-INF/LGPL-3.0.txt",
90+
)
91+
excludes += listOf(
92+
"META-INF/kotlin-jupyter-libraries/libraries.json",
93+
"META-INF/{INDEX.LIST,DEPENDENCIES}",
94+
"{draftv3,draftv4}/schema",
95+
"arrow-git.properties",
96+
)
97+
}
98+
}
99+
}
100+
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
101+
kotlinOptions.jvmTarget = "1.8"
102+
}
68103
```
69104

70105
</tab>
@@ -73,12 +108,47 @@ dependencies {
73108

74109
```groovy
75110
plugins {
76-
id("org.jetbrains.kotlinx.dataframe") version "%dataFrameVersion%"
111+
id "org.jetbrains.kotlinx.dataframe" version "%dataFrameVersion%"
77112
}
78113
79114
dependencies {
80115
implementation 'org.jetbrains.kotlinx:dataframe:%dataFrameVersion%'
81116
}
117+
118+
// Below only applies to Android projects
119+
android {
120+
defaultConfig {
121+
minSdk 26 // Android O+
122+
}
123+
compileOptions {
124+
sourceCompatibility JavaVersion.VERSION_1_8
125+
targetCompatibility JavaVersion.VERSION_1_8
126+
}
127+
kotlinOptions {
128+
jvmTarget = "1.8"
129+
}
130+
packaging {
131+
resources {
132+
pickFirsts += [
133+
"META-INF/AL2.0",
134+
"META-INF/LGPL2.1",
135+
"META-INF/ASL-2.0.txt",
136+
"META-INF/LICENSE.md",
137+
"META-INF/NOTICE.md",
138+
"META-INF/LGPL-3.0.txt",
139+
]
140+
excludes += [
141+
"META-INF/kotlin-jupyter-libraries/libraries.json",
142+
"META-INF/{INDEX.LIST,DEPENDENCIES}",
143+
"{draftv3,draftv4}/schema",
144+
"arrow-git.properties",
145+
]
146+
}
147+
}
148+
}
149+
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
150+
kotlinOptions.jvmTarget = "1.8"
151+
}
82152
```
83153

84154
</tab>

plugins/dataframe-gradle-plugin/src/test/kotlin/org/jetbrains/dataframe/gradle/GradleRunnerDsl.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@ package org.jetbrains.dataframe.gradle
22

33
import org.gradle.testkit.runner.BuildResult
44
import org.gradle.testkit.runner.GradleRunner
5+
import org.intellij.lang.annotations.Language
56
import java.io.File
67
import java.nio.file.Files
78

8-
fun runGradleBuild(task: String, build: (File) -> String): Build {
9+
fun runGradleBuild(
10+
task: String,
11+
@Language("kts") settingsGradle: (File) -> String = { "" },
12+
build: (File) -> String,
13+
): Build {
914
val buildDir = Files.createTempDirectory("test").toFile()
1015
val buildFile = File(buildDir, "build.gradle.kts")
1116
buildFile.writeText(build(buildDir))
17+
val settingsFile = File(buildDir, "settings.gradle.kts")
18+
settingsFile.writeText(settingsGradle(buildDir))
1219
return Build(buildDir, gradleRunner(buildDir, task).build())
1320
}
1421

plugins/dataframe-gradle-plugin/src/test/kotlin/org/jetbrains/dataframe/gradle/SchemaGeneratorPluginTest.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import io.kotest.inspectors.forOne
55
import io.kotest.matchers.shouldBe
66
import io.kotest.matchers.string.shouldContain
77
import org.gradle.testkit.runner.TaskOutcome
8+
import org.intellij.lang.annotations.Language
89
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
910
import org.junit.Test
1011
import java.io.File
@@ -19,6 +20,7 @@ internal class SchemaGeneratorPluginTest {
1920
@Test
2021
fun `plugin configured via configure`() {
2122
val (_, result) = runGradleBuild(":generateDataFrameTest") {
23+
// language=kts
2224
"""
2325
import java.net.URL
2426
import org.jetbrains.dataframe.gradle.SchemaGeneratorExtension
@@ -47,6 +49,7 @@ internal class SchemaGeneratorPluginTest {
4749
@Test
4850
fun `plugin configured via extension DSL`() {
4951
val (_, result) = runGradleBuild(":generateDataFrameTest") {
52+
// language=kts
5053
"""
5154
import java.net.URL
5255
import org.jetbrains.dataframe.gradle.SchemaGeneratorExtension
@@ -77,6 +80,7 @@ internal class SchemaGeneratorPluginTest {
7780
val buildDir = Files.createTempDirectory("test").toFile()
7881
val buildFile = File(buildDir, "build.gradle")
7982
buildFile.writeText(
83+
// language=groovy
8084
"""
8185
import java.net.URL
8286
import org.jetbrains.dataframe.gradle.SchemaGeneratorExtension
@@ -108,6 +112,7 @@ internal class SchemaGeneratorPluginTest {
108112
val buildDir = Files.createTempDirectory("test").toFile()
109113
val buildFile = File(buildDir, "build.gradle")
110114
buildFile.writeText(
115+
// language=groovy
111116
"""
112117
import java.net.URL
113118
import org.jetbrains.dataframe.gradle.SchemaGeneratorExtension
@@ -138,6 +143,7 @@ internal class SchemaGeneratorPluginTest {
138143
@Test
139144
fun `plugin configure multiple schemas from URLs via extension`() {
140145
val (_, result) = runGradleBuild(":generateDataFrames") {
146+
// language=kts
141147
"""
142148
import java.net.URL
143149
@@ -178,6 +184,7 @@ internal class SchemaGeneratorPluginTest {
178184
File(it, TestData.csvName).writeText(TestData.csvSample)
179185
File(it, TestData.jsonName).writeText(TestData.jsonSample)
180186
}
187+
// language=kts
181188
"""
182189
import org.jetbrains.dataframe.gradle.SchemaGeneratorExtension
183190
@@ -213,6 +220,7 @@ internal class SchemaGeneratorPluginTest {
213220
val (_, result) = runGradleBuild(":generateDataFrameTest") { buildDir ->
214221
val dataDir = File(buildDir, "data").also { it.mkdirs() }
215222
File(dataDir, TestData.jsonName).writeText(TestData.jsonSample)
223+
// language=kts
216224
"""
217225
import org.jetbrains.dataframe.gradle.SchemaGeneratorExtension
218226
@@ -243,6 +251,7 @@ internal class SchemaGeneratorPluginTest {
243251
val dataDir = File(buildDir, "data").also { it.mkdirs() }
244252
val file = File(dataDir, TestData.jsonName).also { it.writeText(TestData.jsonSample) }
245253
val absolutePath = file.absolutePath.replace(File.separatorChar, '/')
254+
// language=kts
246255
"""
247256
import org.jetbrains.dataframe.gradle.SchemaGeneratorExtension
248257
@@ -271,6 +280,7 @@ internal class SchemaGeneratorPluginTest {
271280
fun `data is string and url`() {
272281
val (_, result) = runGradleBuild(":generateDataFrameTest") { buildDir ->
273282
println("Build dir: $buildDir")
283+
// language=kts
274284
"""
275285
import org.jetbrains.dataframe.gradle.SchemaGeneratorExtension
276286
@@ -299,6 +309,7 @@ internal class SchemaGeneratorPluginTest {
299309
fun `data is OpenApi string and url`() {
300310
val (_, result) = runGradleBuild(":generateDataFrameTest") { buildDir ->
301311
println("Build dir: $buildDir")
312+
// language=kts
302313
"""
303314
import org.jetbrains.dataframe.gradle.SchemaGeneratorExtension
304315
@@ -334,6 +345,7 @@ internal class SchemaGeneratorPluginTest {
334345
1;2;3
335346
""".trimIndent()
336347
)
348+
// language=kts
337349
"""
338350
import org.jetbrains.dataframe.gradle.SchemaGeneratorExtension
339351

plugins/dataframe-gradle-plugin/src/test/kotlin/org/jetbrains/dataframe/gradle/SourceSetsExpectationsTest.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@ package org.jetbrains.dataframe.gradle
33
import io.kotest.assertions.asClue
44
import io.kotest.inspectors.forAny
55
import io.kotest.matchers.shouldBe
6-
import io.kotest.matchers.string.shouldEndWith
7-
import org.gradle.api.internal.project.ProjectInternal
8-
import org.gradle.testfixtures.ProjectBuilder
96
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
107
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
118
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension

0 commit comments

Comments
 (0)