Skip to content

Commit 3741d83

Browse files
fix logger + add geo-jupyter module
1 parent a7a2f7f commit 3741d83

File tree

7 files changed

+78
-8
lines changed

7 files changed

+78
-8
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ kotlin {
155155
val modulesUsingJava11 = with(projects) {
156156
setOf(
157157
dataframeJupyter,
158-
dataframeGeo,
158+
dataframeGeoJupyter,
159159
examples.ideaExamples.titanic,
160160
tests,
161161
plugins.dataframeGradlePlugin,
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2+
3+
plugins {
4+
with(libs.plugins) {
5+
alias(kotlin.jvm)
6+
alias(publisher)
7+
alias(jupyter.api)
8+
alias(ktlint)
9+
alias(dataframe)
10+
alias(ksp)
11+
}
12+
}
13+
14+
group = "org.jetbrains.kotlinx"
15+
16+
repositories {
17+
// geo repository should come before Maven Central
18+
maven("https://repo.osgeo.org/repository/release")
19+
mavenCentral()
20+
mavenLocal()
21+
}
22+
23+
// https://stackoverflow.com/questions/26993105/i-get-an-error-downloading-javax-media-jai-core1-1-3-from-maven-central
24+
// jai core dependency should be excluded from geotools dependencies and added separately
25+
fun ExternalModuleDependency.excludeJaiCore() = exclude("javax.media", "jai_core")
26+
27+
dependencies {
28+
implementation(projects.dataframeGeo)
29+
implementation(projects.dataframeJupyter)
30+
31+
// logger, need it for geotools
32+
implementation(libs.log4j.core)
33+
implementation(libs.log4j.api)
34+
35+
testImplementation(kotlin("test"))
36+
}
37+
38+
tasks.withType<KotlinCompile>().configureEach {
39+
friendPaths.from(project(projects.core.path).projectDir)
40+
}
41+
42+
kotlinPublications {
43+
publication {
44+
publicationName = "dataframeGeoJupyter"
45+
artifactId = project.name
46+
description = "GeoDataFrame API"
47+
packageName = artifactId
48+
}
49+
}
50+
51+
tasks.processJupyterApiResources {
52+
libraryProducers = listOf("org.jetbrains.kotlinx.dataframe.jupyter.IntegrationGeo")
53+
}
54+
55+
tasks.test {
56+
useJUnitPlatform()
57+
}

dataframe-geo/build.gradle.kts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ plugins {
44
with(libs.plugins) {
55
alias(kotlin.jvm)
66
alias(publisher)
7-
alias(jupyter.api)
87
alias(ktlint)
98
alias(dataframe)
109
alias(ksp)
@@ -26,19 +25,22 @@ fun ExternalModuleDependency.excludeJaiCore() = exclude("javax.media", "jai_core
2625

2726
dependencies {
2827
api(projects.core)
29-
implementation(projects.dataframeJupyter)
3028

29+
// Geotools
3130
implementation(libs.geotools.main) { excludeJaiCore() }
3231
implementation(libs.geotools.shapefile) { excludeJaiCore() }
3332
implementation(libs.geotools.geojson) { excludeJaiCore() }
3433
implementation(libs.geotools.referencing) { excludeJaiCore() }
3534
implementation(libs.geotools.epsg.hsql) { excludeJaiCore() }
3635

36+
// JAI
3737
implementation(libs.jai.core)
3838

39+
// JTS
3940
implementation(libs.jts.core)
4041
implementation(libs.jts.io.common)
4142

43+
// Ktor
4244
implementation(libs.ktor.client.core)
4345
implementation(libs.ktor.client.cio)
4446
implementation(libs.ktor.client.content.negotiation)
@@ -54,16 +56,12 @@ tasks.withType<KotlinCompile>().configureEach {
5456
kotlinPublications {
5557
publication {
5658
publicationName = "dataframeGeo"
57-
artifactId = "dataframe-geo"
59+
artifactId = project.name
5860
description = "GeoDataFrame API"
5961
packageName = artifactId
6062
}
6163
}
6264

63-
tasks.processJupyterApiResources {
64-
libraryProducers = listOf("org.jetbrains.kotlinx.dataframe.jupyter.IntegrationGeo")
65-
}
66-
6765
tasks.test {
6866
useJUnitPlatform()
6967
}

dataframe-jupyter/build.gradle.kts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,17 @@ repositories {
1717
mavenCentral()
1818
}
1919

20+
2021
dependencies {
2122
api(projects.dataframe)
2223

24+
// logger, need it for apache poi
25+
implementation(libs.log4j.core)
26+
implementation(libs.log4j.api)
27+
2328
testImplementation(libs.junit)
2429
testImplementation(libs.serialization.json)
30+
2531
// experimental
2632
testImplementation(projects.dataframeOpenapiGenerator)
2733
testImplementation(projects.dataframeOpenapi)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## This file must *NOT* be checked into Version Control Systems,
2+
# as it contains information specific to your local configuration.
3+
#
4+
# Location of the SDK. This is only used by Gradle.
5+
# For customization when using a Version Control System, please read the
6+
# header note.
7+
#Fri Aug 01 16:02:03 AMT 2025
8+
sdk.dir=/Users/andrei.kislitsyn/Library/Android/sdk

settings.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ include("dataframe-jdbc")
2121
include("dataframe-csv")
2222
include("dataframe-jupyter")
2323
include("dataframe-geo")
24+
include("dataframe-geo-jupyter")
2425
include("dataframe-openapi-generator")
2526
include("core")
2627
include("dataframe-compiler-plugin-core")

0 commit comments

Comments
 (0)