Skip to content

Commit f41e32e

Browse files
committed
Remove preprocessor from root module
1 parent 0b8943b commit f41e32e

File tree

4 files changed

+95
-76
lines changed

4 files changed

+95
-76
lines changed

build.gradle.kts

+1-60
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import org.jetbrains.dataframe.gradle.DataSchemaVisibility.IMPLICIT_PUBLIC
21
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
32
import org.jetbrains.kotlinx.publisher.apache2
43
import org.jetbrains.kotlinx.publisher.developer
@@ -10,7 +9,7 @@ plugins {
109
kotlin("libs.publisher") version libs.versions.libsPublisher
1110
kotlin("plugin.serialization") version libs.versions.kotlin
1211
kotlin("jupyter.api") version libs.versions.kotlinJupyter
13-
kotlin("plugin.dataframe") version libs.versions.dataframe
12+
kotlin("plugin.dataframe") version libs.versions.dataframe apply false
1413

1514
id("org.jetbrains.dokka") version libs.versions.dokka
1615
id("org.jetbrains.dataframe.generator")
@@ -156,21 +155,9 @@ kotlinPublications {
156155

157156
tasks.lintKotlinMain {
158157
exclude("**/*keywords*/**")
159-
exclude {
160-
it.name.endsWith(".Generated.kt")
161-
}
162-
exclude {
163-
it.name.endsWith("\$Extensions.kt")
164-
}
165158
}
166159

167160
tasks.lintKotlinTest {
168-
exclude {
169-
it.name.endsWith(".Generated.kt")
170-
}
171-
exclude {
172-
it.name.endsWith("\$Extensions.kt")
173-
}
174161
enabled = true
175162
}
176163

@@ -189,35 +176,6 @@ kotlinter {
189176
)
190177
}
191178

192-
korro {
193-
docs = fileTree(rootProject.rootDir) {
194-
include("docs/StardustDocs/topics/*.md")
195-
}
196-
197-
samples = fileTree(project.projectDir) {
198-
include("src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/*.kt")
199-
include("src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/*.kt")
200-
}
201-
202-
groupSamples {
203-
204-
beforeSample.set("<tab title=\"NAME\">\n")
205-
afterSample.set("\n</tab>")
206-
207-
funSuffix("_properties") {
208-
replaceText("NAME", "Properties")
209-
}
210-
funSuffix("_accessors") {
211-
replaceText("NAME", "Accessors")
212-
}
213-
funSuffix("_strings") {
214-
replaceText("NAME", "Strings")
215-
}
216-
beforeGroup.set("<tabs>\n")
217-
afterGroup.set("</tabs>")
218-
}
219-
}
220-
221179
val instrumentedJars: Configuration by configurations.creating {
222180
isCanBeConsumed = true
223181
isCanBeResolved = false
@@ -237,20 +195,3 @@ tasks.processJupyterApiResources {
237195
libraryProducers = listOf("org.jetbrains.kotlinx.dataframe.jupyter.Integration")
238196
}
239197

240-
kotlin.sourceSets {
241-
main {
242-
kotlin.srcDir("build/generated/ksp/main/kotlin/")
243-
}
244-
test {
245-
kotlin.srcDir("build/generated/ksp/test/kotlin/")
246-
}
247-
}
248-
249-
dataframes {
250-
schema {
251-
sourceSet = "test"
252-
visibility = IMPLICIT_PUBLIC
253-
data = "https://raw.githubusercontent.com/Kotlin/dataframe/master/data/jetbrains_repositories.csv"
254-
name = "org.jetbrains.kotlinx.dataframe.samples.api.Repository"
255-
}
256-
}

src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/transpose.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package org.jetbrains.kotlinx.dataframe.api
22

3-
import org.jetbrains.kotlinx.dataframe.DataColumn
4-
import org.jetbrains.kotlinx.dataframe.DataFrame
5-
import org.jetbrains.kotlinx.dataframe.DataRow
3+
import org.jetbrains.kotlinx.dataframe.*
64
import org.jetbrains.kotlinx.dataframe.annotations.DataSchema
75
import org.jetbrains.kotlinx.dataframe.impl.columnName
86
import org.jetbrains.kotlinx.dataframe.impl.owner
@@ -16,6 +14,11 @@ public interface NameValueSchema {
1614
public val value: Any?
1715
}
1816

17+
public val DataRow<NameValueSchema>.name: String get() = this["name"] as String
18+
public val ColumnsContainer<NameValueSchema>.name: DataColumn<String> get() = this["name"] as DataColumn<String>
19+
public val DataRow<NameValueSchema>.value: Any? get() = this["value"]
20+
public val ColumnsContainer<NameValueSchema>.value: DataColumn<Any?> get() = this["value"]
21+
1922
public fun <T> DataRow<T>.transpose(): DataFrame<NameValueSchema> {
2023
val valueColumn = DataColumn.createWithTypeInference(NameValueSchema::value.columnName, values)
2124
val nameColumn = owner.columnNames().toValueColumn(NameValuePair<T>::name)

tests/build.gradle.kts

+77-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1+
import org.jetbrains.dataframe.gradle.DataSchemaVisibility
2+
13
plugins {
24
id("java")
35
kotlin("jvm")
46
kotlin("plugin.dataframe")
7+
id("io.github.devcrocod.korro")
8+
id("org.jmailen.kotlinter")
59
}
610

7-
group = "org.jetbrains.kotlinx"
8-
911
repositories {
1012
mavenCentral()
1113
}
@@ -27,3 +29,76 @@ kotlin.sourceSets {
2729
kotlin.srcDir("build/generated/ksp/test/kotlin/")
2830
}
2931
}
32+
33+
korro {
34+
docs = fileTree(rootProject.rootDir) {
35+
include("docs/StardustDocs/topics/*.md")
36+
}
37+
38+
samples = fileTree(project.projectDir) {
39+
include("src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/*.kt")
40+
include("src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/*.kt")
41+
}
42+
43+
groupSamples {
44+
45+
beforeSample.set("<tab title=\"NAME\">\n")
46+
afterSample.set("\n</tab>")
47+
48+
funSuffix("_properties") {
49+
replaceText("NAME", "Properties")
50+
}
51+
funSuffix("_accessors") {
52+
replaceText("NAME", "Accessors")
53+
}
54+
funSuffix("_strings") {
55+
replaceText("NAME", "Strings")
56+
}
57+
beforeGroup.set("<tabs>\n")
58+
afterGroup.set("</tabs>")
59+
}
60+
}
61+
62+
tasks.lintKotlinMain {
63+
exclude("**/*keywords*/**")
64+
exclude {
65+
it.name.endsWith(".Generated.kt")
66+
}
67+
exclude {
68+
it.name.endsWith("\$Extensions.kt")
69+
}
70+
}
71+
72+
tasks.lintKotlinTest {
73+
exclude {
74+
it.name.endsWith(".Generated.kt")
75+
}
76+
exclude {
77+
it.name.endsWith("\$Extensions.kt")
78+
}
79+
enabled = true
80+
}
81+
82+
kotlinter {
83+
ignoreFailures = false
84+
reporters = arrayOf("checkstyle", "plain")
85+
experimentalRules = true
86+
disabledRules = arrayOf(
87+
"no-wildcard-imports",
88+
"experimental:spacing-between-declarations-with-annotations",
89+
"experimental:enum-entry-name-case",
90+
"experimental:argument-list-wrapping",
91+
"experimental:annotation",
92+
"max-line-length",
93+
"filename"
94+
)
95+
}
96+
97+
dataframes {
98+
schema {
99+
sourceSet = "test"
100+
visibility = DataSchemaVisibility.IMPLICIT_PUBLIC
101+
data = "https://raw.githubusercontent.com/Kotlin/dataframe/master/data/jetbrains_repositories.csv"
102+
name = "org.jetbrains.kotlinx.dataframe.samples.api.Repository"
103+
}
104+
}

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

+11-11
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,15 @@ class Schemas {
110110
// SampleEnd
111111
}
112112

113-
// @Test
114-
// fun useInferredSchema() {
115-
// // SampleStart
116-
// // Repository.readCSV() has argument 'path' with default value https://raw.githubusercontent.com/Kotlin/dataframe/master/data/jetbrains_repositories.csv
117-
// val df = Repository.readCSV()
118-
// // Use generated properties to access data in rows
119-
// df.maxBy { stargazersCount }.print()
120-
// // Or to access columns in dataframe.
121-
// print(df.fullName.count { it.contains("kotlin") })
122-
// // SampleEnd
123-
// }
113+
@Test
114+
fun useInferredSchema() {
115+
// SampleStart
116+
// Repository.readCSV() has argument 'path' with default value https://raw.githubusercontent.com/Kotlin/dataframe/master/data/jetbrains_repositories.csv
117+
val df = Repository.readCSV()
118+
// Use generated properties to access data in rows
119+
df.maxBy { stargazersCount }.print()
120+
// Or to access columns in dataframe.
121+
print(df.fullName.count { it.contains("kotlin") })
122+
// SampleEnd
123+
}
124124
}

0 commit comments

Comments
 (0)