Skip to content

Commit 00124a2

Browse files
Add jreleaser gradle plugin (#3)
1 parent 9ff41d7 commit 00124a2

File tree

9 files changed

+100
-14
lines changed

9 files changed

+100
-14
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class PostgresSpringTest {
8686
import io.flowinquiry.testcontainers.jdbc.EnablePostgreSQL;
8787
import org.junit.jupiter.api.Test;
8888

89+
@ExtendWith(SpringExtension.class)
8990
@EnablePostgreSQL
9091
class PostgresTest {
9192

@@ -242,7 +243,7 @@ The project includes several example modules demonstrating how to use Spring-Tes
242243

243244
* Manual configuration for container-based testing
244245

245-
These examples provide a good starting point for integrating TestContainers-Ext into your own projects.
246+
These examples provide a good starting point for integrating Spring-TestContainers into your own projects.
246247

247248
## Contributing
248249

build.gradle.kts

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
import org.jreleaser.model.Active
2+
import org.jreleaser.model.Signing
3+
14
plugins {
25
id ("base")
36
alias(libs.plugins.spotless) apply false
7+
id("org.jreleaser") version "1.18.0"
48
}
59

610
group = "io.flowinquiry"
@@ -29,7 +33,7 @@ subprojects {
2933
}
3034

3135
if (!project.path.startsWith(":examples")) {
32-
plugins.withId("java-library") {
36+
plugins.withId("buildlogic.java-library-conventions") {
3337
apply(plugin = "maven-publish")
3438
group = "io.flowinquiry.testcontainers"
3539

@@ -44,11 +48,59 @@ subprojects {
4448
create<MavenPublication>("mavenJava") {
4549
from(components["java"])
4650
artifact(sourcesJar.get())
51+
52+
pom {
53+
name.set("Spring Test Containers")
54+
description.set("Designed to make writing integration tests with Testcontainers in Java effortless and extensible")
55+
url.set("https://github.com/flowinquiry/spring-testcontainers")
56+
inceptionYear.set("2025")
57+
58+
licenses {
59+
license {
60+
name.set("MIT License")
61+
url.set("https://raw.githubusercontent.com/flowinquiry/spring-testcontainers/refs/heads/main/LICENSE")
62+
}
63+
}
64+
65+
developers {
66+
developer {
67+
id.set("flowinquiry")
68+
name.set("FlowInquiry")
69+
}
70+
}
71+
72+
scm {
73+
connection.set("scm:git@github.com:flowinquiry/spring-testcontainers.git")
74+
developerConnection.set("scm:git:ssh://github.com:flowinquiry/spring-testcontainers.git")
75+
url.set("https://github.com/flowinquiry/spring-testcontainers")
76+
}
77+
}
4778
}
4879
}
4980

5081
repositories {
5182
mavenLocal()
83+
maven {
84+
url = layout.buildDirectory.dir("staging-deploy").get().asFile.toURI()
85+
}
86+
}
87+
}
88+
}
89+
}
90+
}
91+
92+
jreleaser {
93+
signing {
94+
active.set(Active.ALWAYS)
95+
armored.set(true)
96+
}
97+
deploy {
98+
maven {
99+
mavenCentral {
100+
register("central") {
101+
active.set(Active.ALWAYS)
102+
url.set("https://central.sonatype.com/api/v1/publisher")
103+
stagingRepositories.set(listOf("build/staging-deploy"))
52104
}
53105
}
54106
}

examples/spring-postgresql/build.gradle.kts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
plugins {
2-
id("java-library")
3-
id("application")
2+
id("buildlogic.java-application-conventions")
43
alias(libs.plugins.spring.dependency.management)
54
}
65

@@ -9,7 +8,7 @@ repositories {
98
}
109

1110
dependencies {
12-
api(project(":spring-testcontainers"))
11+
implementation(project(":spring-testcontainers"))
1312
implementation(project(":modules:postgresql"))
1413
implementation(platform(libs.spring.bom))
1514
implementation(libs.testcontainers.jdbc)

examples/spring-postgresql/src/test/java/io/flowinquiry/testcontainers/examples/postgresql/PostgresqlTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,14 @@ public void testStoreEntityAndRepository() {
4949
List<Store> storesByName = storeRepository.findByName("Test Store");
5050
log.info("Found {} stores by name", storesByName.size());
5151
assertEquals(1, storesByName.size());
52-
assertEquals("Test Store", storesByName.getFirst().getName());
52+
assertEquals("Test Store", storesByName.get(0).getName());
5353

5454
// Test findByDescriptionContaining
5555
log.info("Testing findByDescriptionContaining");
5656
List<Store> storesByDescription = storeRepository.findByDescriptionContaining("demonstration");
5757
log.info("Found {} stores by description", storesByDescription.size());
5858
assertEquals(1, storesByDescription.size());
59-
assertEquals("A test store for demonstration", storesByDescription.getFirst().getDescription());
59+
assertEquals("A test store for demonstration", storesByDescription.get(0).getDescription());
6060

6161
// Create and save another store
6262
log.info("Creating another store");
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
plugins {
2+
id("buildlogic.java-application-conventions")
3+
alias(libs.plugins.spring.dependency.management)
4+
}
5+
6+
repositories {
7+
mavenCentral()
8+
}
9+
10+
dependencies {
11+
implementation(project(":spring-testcontainers"))
12+
implementation(project(":modules:mysql"))
13+
implementation(platform(libs.spring.bom))
14+
implementation(platform(libs.spring.boot.bom))
15+
implementation(libs.testcontainers.jdbc)
16+
implementation(libs.testcontainers.mysql)
17+
implementation(libs.slf4j.api)
18+
implementation(libs.logback.classic)
19+
implementation(libs.spring.boot.starter)
20+
implementation(libs.spring.boot.starter.data.jpa)
21+
implementation(libs.spring.boot.autoconfigure)
22+
runtimeOnly("mysql:mysql-connector-java:8.0.33")
23+
testImplementation(platform(libs.junit.bom))
24+
testImplementation(libs.junit.jupiter)
25+
testImplementation(libs.junit.platform.launcher)
26+
testImplementation(libs.spring.boot.starter.test)
27+
}
28+
29+
tasks.test {
30+
useJUnitPlatform()
31+
}
32+
33+
application {
34+
mainClass.set("io.flowinquiry.testcontainers.examples.mysql.MySqlDemoApp")
35+
}

examples/springboot-mysql/src/test/java/io/flowinquiry/testcontainers/examples/mysql/MySqlDemoAppTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ public void testStoreEntityAndRepository() {
4242
List<Store> storesByName = storeRepository.findByName("Test Store");
4343
log.info("Found {} stores by name", storesByName.size());
4444
assertEquals(1, storesByName.size());
45-
assertEquals("Test Store", storesByName.getFirst().getName());
45+
assertEquals("Test Store", storesByName.get(0).getName());
4646

4747
log.info("Testing findByDescriptionContaining");
4848
List<Store> storesByDescription = storeRepository.findByDescriptionContaining("demonstration");
4949
log.info("Found {} stores by description", storesByDescription.size());
5050
assertEquals(1, storesByDescription.size());
51-
assertEquals("A test store for demonstration", storesByDescription.getFirst().getDescription());
51+
assertEquals("A test store for demonstration", storesByDescription.get(0).getDescription());
5252

5353
log.info("Creating another store");
5454
Store anotherStore =

examples/springboot-postgresql/build.gradle.kts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
plugins {
2-
id("java-library")
3-
id("application")
2+
id("buildlogic.java-application-conventions")
43
alias(libs.plugins.spring.dependency.management)
54
}
65

@@ -9,7 +8,7 @@ repositories {
98
}
109

1110
dependencies {
12-
api(project(":spring-testcontainers"))
11+
implementation(project(":spring-testcontainers"))
1312
implementation(project(":modules:postgresql"))
1413
implementation(platform(libs.spring.bom))
1514
implementation(platform(libs.spring.boot.bom))

modules/mysql/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id("java-library")
2+
id("buildlogic.java-library-conventions")
33
}
44

55
repositories {

modules/postgresql/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id("java-library")
2+
id("buildlogic.java-library-conventions")
33
}
44

55
repositories {

0 commit comments

Comments
 (0)