Skip to content

Commit a96e2ac

Browse files
committed
updated quickstart.kt with more compiler plugin magic
1 parent 1986248 commit a96e2ac

File tree

10 files changed

+73
-102
lines changed

10 files changed

+73
-102
lines changed

docs/StardustDocs/resources/api/tail/notebook_test_tail_1.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,7 @@
459459
/*<!--*/
460460
call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: "<span title=\"firstName: String\">firstName</span>", children: [], rightAlign: false, values: ["Alice","Bob","Charlie","Charlie","Bob","Alice","Charlie"] },
461461
{ name: "<span title=\"lastName: String\">lastName</span>", children: [], rightAlign: false, values: ["Cooper","Dylan","Daniels","Chaplin","Marley","Wolf","Byrd"] },
462+
{ name: "<span title=\"name: DataRow<*>\">name</span>", children: [0, 1], rightAlign: false, values: ["<span class=\"formatted\" title=\"firstName: Alice\nlastName: Cooper\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Alice<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Cooper<span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Bob\nlastName: Dylan\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Bob<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Dylan<span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Charlie\nlastName: Daniels\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Charlie<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Dan<span class=\"structural\">...</span><span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Charlie\nlastName: Chaplin\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Charlie<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Cha<span class=\"structural\">...</span><span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Bob\nlastName: Marley\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Bob<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Marley<span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Alice\nlastName: Wolf\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Alice<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Wolf<span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Charlie\nlastName: Byrd\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Charlie<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Byrd<span class=\"structural\"> }</span></span>"] },
462463
{ name: "<span title=\"age: Int\">age</span>", children: [], rightAlign: true, values: ["<span class=\"formatted\" title=\"\"><span class=\"numbers\">15</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">45</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">20</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">40</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">30</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">20</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">30</span></span>"] },
463464
{ name: "<span title=\"city: String?\">city</span>", children: [], rightAlign: false, values: ["London","Dubai","Moscow","Milan","Tokyo","<span class=\"formatted\" title=\"\"><span class=\"null\">null</span></span>","Moscow"] },
464465
{ name: "<span title=\"weight: Int?\">weight</span>", children: [], rightAlign: true, values: ["<span class=\"formatted\" title=\"\"><span class=\"numbers\">54</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">87</span></span>","<span class=\"formatted\" title=\"\"><span class=\"null\">null</span></span>","<span class=\"formatted\" title=\"\"><span class=\"null\">null</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">68</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">55</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">90</span></span>"] },

docs/StardustDocs/resources/api/tail/notebook_test_tail_2.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,7 @@
459459
/*<!--*/
460460
call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: "<span title=\"firstName: String\">firstName</span>", children: [], rightAlign: false, values: ["Charlie","Charlie","Bob","Alice","Charlie"] },
461461
{ name: "<span title=\"lastName: String\">lastName</span>", children: [], rightAlign: false, values: ["Daniels","Chaplin","Marley","Wolf","Byrd"] },
462+
{ name: "<span title=\"name: DataRow<*>\">name</span>", children: [0, 1], rightAlign: false, values: ["<span class=\"formatted\" title=\"firstName: Charlie\nlastName: Daniels\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Charlie<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Dan<span class=\"structural\">...</span><span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Charlie\nlastName: Chaplin\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Charlie<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Cha<span class=\"structural\">...</span><span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Bob\nlastName: Marley\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Bob<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Marley<span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Alice\nlastName: Wolf\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Alice<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Wolf<span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Charlie\nlastName: Byrd\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Charlie<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Byrd<span class=\"structural\"> }</span></span>"] },
462463
{ name: "<span title=\"age: Int\">age</span>", children: [], rightAlign: true, values: ["<span class=\"formatted\" title=\"\"><span class=\"numbers\">20</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">40</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">30</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">20</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">30</span></span>"] },
463464
{ name: "<span title=\"city: String?\">city</span>", children: [], rightAlign: false, values: ["Moscow","Milan","Tokyo","<span class=\"formatted\" title=\"\"><span class=\"null\">null</span></span>","Moscow"] },
464465
{ name: "<span title=\"weight: Int?\">weight</span>", children: [], rightAlign: true, values: ["<span class=\"formatted\" title=\"\"><span class=\"null\">null</span></span>","<span class=\"formatted\" title=\"\"><span class=\"null\">null</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">68</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">55</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">90</span></span>"] },

docs/StardustDocs/resources/api/tail/notebook_test_tail_3.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,7 @@
459459
/*<!--*/
460460
call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: "<span title=\"firstName: String\">firstName</span>", children: [], rightAlign: false, values: ["Alice","Charlie"] },
461461
{ name: "<span title=\"lastName: String\">lastName</span>", children: [], rightAlign: false, values: ["Wolf","Byrd"] },
462+
{ name: "<span title=\"name: DataRow<*>\">name</span>", children: [0, 1], rightAlign: false, values: ["<span class=\"formatted\" title=\"firstName: Alice\nlastName: Wolf\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Alice<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Wolf<span class=\"structural\"> }</span></span>","<span class=\"formatted\" title=\"firstName: Charlie\nlastName: Byrd\"><span class=\"structural\">{ </span><span class=\"structural\">firstName: </span>Charlie<span class=\"structural\">, </span><span class=\"structural\">lastName: </span>Byrd<span class=\"structural\"> }</span></span>"] },
462463
{ name: "<span title=\"age: Int\">age</span>", children: [], rightAlign: true, values: ["<span class=\"formatted\" title=\"\"><span class=\"numbers\">20</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">30</span></span>"] },
463464
{ name: "<span title=\"city: String?\">city</span>", children: [], rightAlign: false, values: ["<span class=\"formatted\" title=\"\"><span class=\"null\">null</span></span>","Moscow"] },
464465
{ name: "<span title=\"weight: Int\">weight</span>", children: [], rightAlign: true, values: ["<span class=\"formatted\" title=\"\"><span class=\"numbers\">55</span></span>","<span class=\"formatted\" title=\"\"><span class=\"numbers\">90</span></span>"] },

samples/build.gradle.kts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import org.gradle.kotlin.dsl.runKtlintFormatOverTestSourceSet
1616
import org.gradle.kotlin.dsl.sourceSets
1717
import org.gradle.kotlin.dsl.test
1818
import org.gradle.kotlin.dsl.testImplementation
19+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
1920

2021
plugins {
2122
java
@@ -45,7 +46,7 @@ val dependentProjects = with(projects) {
4546
)
4647
}.map { project(it.path) }
4748

48-
tasks.compileKotlin {
49+
tasks.withType<KotlinCompile> {
4950
dependentProjects.forEach {
5051
dependsOn("${it.path}:jar")
5152
}
@@ -60,7 +61,7 @@ val dependentProjectJarPaths = dependentProjects.map {
6061
}
6162

6263
dependencies {
63-
// implementation(projects.dataframe) // Must depend on jars for the compiler plugin to work!
64+
runtimeOnly(projects.dataframe) // Must depend on jars for the compiler plugin to work!
6465
implementation(files(dependentProjectJarPaths))
6566

6667
// include api() dependencies from dependent projects, as they are not included in the jars

samples/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/DataFrameSampleHelper.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ abstract class DataFrameSampleHelper(sampleName: String, subFolder: String = "sa
1111
subFolder,
1212
"../docs/StardustDocs/images",
1313
"../docs/StardustDocs/resources",
14-
), TestBase {
14+
),
15+
TestBase {
1516

1617
fun DataColumn<*>.saveDfHtmlSample() {
1718
toDataFrame().saveDfHtmlSample()

samples/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Generate.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ import org.junit.Test
2020
class Generate : DataFrameSampleHelper("generate_docs", "api") {
2121

2222
@DataSchema
23-
interface Orders {
24-
val orderId: Int
25-
val amount: Double
26-
}
23+
data class Orders(
24+
val orderId: Int,
25+
val amount: Double,
26+
)
2727

2828
private val ordersAlice = dataFrameOf(
2929
"orderId" to listOf(101, 102),
@@ -36,10 +36,10 @@ class Generate : DataFrameSampleHelper("generate_docs", "api") {
3636
).cast<Orders>()
3737

3838
@DataSchema
39-
interface Customer {
40-
val user: String
41-
val orders: List<Orders>
42-
}
39+
data class Customer(
40+
val user: String,
41+
val orders: List<Orders>,
42+
)
4343

4444
private val df = dataFrameOf(
4545
"user" to listOf("Alice", "Bob"),
@@ -79,7 +79,7 @@ class Generate : DataFrameSampleHelper("generate_docs", "api") {
7979
@Test
8080
fun notebook_test_generate_docs_5() {
8181
// SampleStart
82-
val customers: List<Customer> = df.toList()
82+
val customers: List<Customer> = df.cast<Customer>().toList()
8383
// SampleEnd
8484
}
8585

@@ -93,7 +93,7 @@ class Generate : DataFrameSampleHelper("generate_docs", "api") {
9393
@Test
9494
fun notebook_test_generate_docs_7() {
9595
// SampleStart
96-
df
96+
df.cast<Customer>()
9797
.add("ordersTotal") { orders.sumOf { it.amount } }
9898
.filter { user.startsWith("A") }
9999
.rename { user }.into("customer")

samples/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Modify.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,9 @@ package org.jetbrains.kotlinx.dataframe.samples.api
33
import org.jetbrains.kotlinx.dataframe.DataColumn
44
import org.jetbrains.kotlinx.dataframe.api.FormattingDsl
55
import org.jetbrains.kotlinx.dataframe.api.and
6-
import org.jetbrains.kotlinx.dataframe.api.cast
76
import org.jetbrains.kotlinx.dataframe.api.dataFrameOf
87
import org.jetbrains.kotlinx.dataframe.api.format
98
import org.jetbrains.kotlinx.dataframe.api.getColumnIndex
10-
import org.jetbrains.kotlinx.dataframe.api.group
11-
import org.jetbrains.kotlinx.dataframe.api.into
129
import org.jetbrains.kotlinx.dataframe.api.linearBg
1310
import org.jetbrains.kotlinx.dataframe.api.max
1411
import org.jetbrains.kotlinx.dataframe.api.min
@@ -18,8 +15,6 @@ import org.jetbrains.kotlinx.dataframe.api.with
1815
import org.jetbrains.kotlinx.dataframe.samples.DataFrameSampleHelper
1916
import org.junit.Test
2017

21-
22-
2318
@Suppress("ktlint:standard:argument-list-wrapping")
2419
class Modify : DataFrameSampleHelper("operations", "modify") {
2520

samples/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/TestBase.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
package org.jetbrains.kotlinx.dataframe.samples.api
44

55
import io.kotest.matchers.shouldBe
6-
import org.jetbrains.kotlinx.dataframe.DataRow
6+
import org.jetbrains.kotlinx.dataframe.DataFrame
77
import org.jetbrains.kotlinx.dataframe.annotations.DataSchema
88
import org.jetbrains.kotlinx.dataframe.api.cast
99
import org.jetbrains.kotlinx.dataframe.api.dataFrameOf
@@ -13,7 +13,7 @@ import org.jetbrains.kotlinx.dataframe.api.into
1313
@Suppress("ktlint:standard:argument-list-wrapping")
1414
interface TestBase {
1515

16-
val peopleDf
16+
val peopleDf: DataFrame<Person>
1717
get() = dataFrameOf("firstName", "lastName", "age", "city", "weight", "isHappy")(
1818
"Alice", "Cooper", 15, "London", 54, true,
1919
"Bob", "Dylan", 45, "Dubai", 87, true,
@@ -22,7 +22,8 @@ interface TestBase {
2222
"Bob", "Marley", 30, "Tokyo", 68, true,
2323
"Alice", "Wolf", 20, null, 55, false,
2424
"Charlie", "Byrd", 30, "Moscow", 90, true,
25-
).group { firstName and lastName }.into("name").cast<Person>()
25+
).group("firstName", "lastName").into("name")
26+
.cast<Person>(verify = false)
2627

2728
@DataSchema
2829
interface Name {

samples/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/collectionsInterop/AssociateSamples.kt

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,14 @@
11
package org.jetbrains.kotlinx.dataframe.samples.api.collectionsInterop
22

3-
import org.jetbrains.kotlinx.dataframe.DataRow
4-
import org.jetbrains.kotlinx.dataframe.annotations.DataSchema
53
import org.jetbrains.kotlinx.dataframe.api.associate
6-
import org.jetbrains.kotlinx.dataframe.api.cast
7-
import org.jetbrains.kotlinx.dataframe.api.dataFrameOf
8-
import org.jetbrains.kotlinx.dataframe.api.group
9-
import org.jetbrains.kotlinx.dataframe.api.into
104
import org.jetbrains.kotlinx.dataframe.samples.DataFrameSampleHelper
11-
import org.jetbrains.kotlinx.dataframe.samples.api.utils.age
12-
import org.jetbrains.kotlinx.dataframe.samples.api.utils.name
5+
import org.jetbrains.kotlinx.dataframe.samples.api.age
6+
import org.jetbrains.kotlinx.dataframe.samples.api.name
137
import org.junit.Test
148

159
class AssociateSamples : DataFrameSampleHelper("associate", "api/collectionsInterop") {
1610

17-
@DataSchema
18-
interface Name {
19-
val firstName: String
20-
val lastName: String
21-
}
22-
23-
@DataSchema
24-
interface Person {
25-
val age: Int
26-
val city: String?
27-
val name: DataRow<Name>
28-
val weight: Int?
29-
val isHappy: Boolean
30-
}
31-
32-
private val df = dataFrameOf(
33-
"firstName" to listOf("Alice", "Bob", "Charlie", "Charlie", "Bob", "Alice", "Charlie"),
34-
"lastName" to listOf("Cooper", "Dylan", "Daniels", "Chaplin", "Marley", "Wolf", "Byrd"),
35-
"age" to listOf(15, 45, 20, 40, 30, 20, 30),
36-
"city" to listOf("London", "Dubai", "Moscow", "Milan", "Tokyo", null, "Moscow"),
37-
"weight" to listOf(54, 87, null, null, 68, 55, 90),
38-
"isHappy" to listOf(true, true, false, true, true, false, true),
39-
).group { firstName and lastName }.into("name").cast<Person>()
11+
private val df = peopleDf
4012

4113
@Test
4214
fun notebook_test_associate_1() {

0 commit comments

Comments
 (0)