Skip to content

Commit 11d10d5

Browse files
authored
GH-273 Restructure dependencies (Fixes #272)
1 parent 41b3061 commit 11d10d5

18 files changed

Lines changed: 1354 additions & 45 deletions

File tree

build.gradle.kts

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
33

44
plugins {
55
`java-library`
6-
kotlin("jvm") version "2.3.10"
6+
alias(libs.plugins.kotlin.jvm)
77
`maven-publish`
88
signing
9-
id("io.github.gradle-nexus.publish-plugin") version "2.0.0"
9+
alias(libs.plugins.nexus.publish)
1010
}
1111

1212
description = "Javalin OpenAPI Parent | Parent"
@@ -108,29 +108,39 @@ subprojects {
108108
}
109109
}
110110

111-
dependencies {
112-
val javalin = "7.0.0"
113-
compileOnly("io.javalin:javalin:$javalin")
114-
testImplementation("io.javalin:javalin:$javalin")
115-
116-
val junit = "5.14.2"
117-
testImplementation("org.junit.jupiter:junit-jupiter-params:$junit")
118-
testImplementation("org.junit.jupiter:junit-jupiter-api:$junit")
119-
testImplementation("org.junit.jupiter:junit-jupiter-engine:$junit")
120-
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
111+
tasks.withType<Test> {
112+
useJUnitPlatform()
113+
}
114+
}
121115

122-
testImplementation("org.assertj:assertj-core:3.27.6")
123-
testImplementation("net.javacrumbs.json-unit:json-unit-assertj:4.1.1")
124-
testImplementation("com.konghq:unirest-java:3.14.5")
116+
val mavenExamples = listOf("javalin-maven-java", "javalin-maven-kotlin")
125117

126-
testImplementation("ch.qos.logback:logback-classic:1.5.32")
118+
mavenExamples.forEach { example ->
119+
tasks.register<Exec>("test-maven-example-$example") {
120+
description = "Compile Maven example: $example"
121+
group = "verification"
122+
workingDir = file("examples/$example")
123+
commandLine("./mvnw", "compile", "-B", "-q")
124+
environment("JAVA_HOME", System.getProperty("java.home"))
125+
dependsOn(subprojects.map { it.tasks.named("publishToMavenLocal") })
127126
}
128127

129-
tasks.withType<Test> {
130-
useJUnitPlatform()
128+
tasks.register<Exec>("run-maven-example-$example") {
129+
description = "Run Maven example: $example"
130+
group = "application"
131+
workingDir = file("examples/$example")
132+
commandLine("./mvnw", "compile", "exec:java", "-B", "-q")
133+
environment("JAVA_HOME", System.getProperty("java.home"))
134+
dependsOn(subprojects.map { it.tasks.named("publishToMavenLocal") })
131135
}
132136
}
133137

138+
tasks.register("test-maven-examples") {
139+
description = "Compile all Maven examples"
140+
group = "verification"
141+
dependsOn(mavenExamples.map { "test-maven-example-$it" })
142+
}
143+
134144
nexusPublishing {
135145
repositories {
136146
sonatype {

examples/javalin-gradle-kotlin/build.gradle.kts

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,29 +24,36 @@ sourceSets.getByName("main") {
2424

2525
dependencies {
2626
// declare lombok annotation processor as first
27-
val lombok = "1.18.42"
28-
compileOnly("org.projectlombok:lombok:$lombok")
29-
annotationProcessor("org.projectlombok:lombok:$lombok")
30-
testCompileOnly("org.projectlombok:lombok:$lombok")
31-
testAnnotationProcessor("org.projectlombok:lombok:$lombok")
32-
implementation("jakarta.validation:jakarta.validation-api:3.1.1")
27+
compileOnly(libs.lombok)
28+
annotationProcessor(libs.lombok)
29+
testCompileOnly(libs.lombok)
30+
testAnnotationProcessor(libs.lombok)
31+
implementation(libs.jakarta.validation.api)
3332

3433
// then openapi annotation processor
3534
kapt(project(":openapi-annotation-processor"))
3635
implementation(project(":javalin-plugins:javalin-openapi-plugin"))
3736
implementation(project(":javalin-plugins:javalin-swagger-plugin"))
3837
implementation(project(":javalin-plugins:javalin-redoc-plugin"))
39-
testImplementation("org.apache.groovy:groovy:4.0.30")
4038

4139
// javalin
42-
implementation("io.javalin:javalin:7.0.0")
43-
implementation("com.fasterxml.jackson.core:jackson-databind:2.21.0")
40+
implementation(libs.javalin)
41+
implementation(libs.jackson.databind)
4442

4543
// logging
46-
implementation("ch.qos.logback:logback-classic:1.5.32")
44+
implementation(libs.logback.classic)
4745

4846
// some test integrations
49-
implementation("org.mongodb:bson:5.6.3")
47+
implementation(libs.mongodb.bson)
48+
testImplementation(libs.groovy)
49+
testImplementation(libs.junit.jupiter.params)
50+
testImplementation(libs.junit.jupiter.api)
51+
testImplementation(libs.junit.jupiter.engine)
52+
testRuntimeOnly(libs.junit.platform.launcher)
53+
testImplementation(libs.assertj.core)
54+
testImplementation(libs.json.unit.assertj)
55+
testImplementation(libs.unirest)
56+
testImplementation(libs.logback.classic)
5057
}
5158

5259
kapt {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
2+
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar

0 commit comments

Comments
 (0)