Skip to content

Commit 02caefe

Browse files
nakamura-toclaude
andcommitted
Simplify project structure by removing codegen-test module
Integrated test functionality directly into the root project for better maintainability. This reduces complexity and makes testing more straightforward. - Removed separate codegen-test module and all its files - Moved test configuration to root build.gradle.kts - Integrated template files to root /template directory - Updated CI workflow to reflect new structure - Added PostgreSQL support via Testcontainers for testing - Updated .gitignore for generated code paths 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 04a3b28 commit 02caefe

File tree

16 files changed

+148
-471
lines changed

16 files changed

+148
-471
lines changed

.github/workflows/ci.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,21 @@ jobs:
1919
distribution: 'zulu'
2020
java-version: 21
2121

22-
- name: Grant execute permission for ./gradlew
22+
- name: Grant execute permission for codegen/gradlew
23+
working-directory: ./codegen
2324
run: chmod +x gradlew
2425

25-
- name: Grant execute permission for codegen-test/gradlew
26-
working-directory: ./codegen-test
27-
run: chmod +x gradlew
26+
- name: Build
27+
working-directory: ./codegen
28+
run: ./gradlew build
2829

29-
- name: Assemble and Check
30-
run: ./gradlew assemble check
30+
- name: Grant execute permission for ./gradlew
31+
run: chmod +x gradlew
3132

3233
- name: Test plugin (generate Java code)
33-
working-directory: ./codegen-test
3434
run: ./gradlew domaCodeGenJavaAll build
3535

3636
- name: Test plugin (generate Kotlin code)
37-
working-directory: ./codegen-test
3837
run: ./gradlew domaCodeGenKotlinAll build
3938

4039
- name: Set version
@@ -46,4 +45,5 @@ jobs:
4645

4746
- name: Publish plugin
4847
if: github.event_name == 'push' && endsWith(steps.set-version.outputs.version, 'SNAPSHOT') == false
48+
working-directory: ./codegen
4949
run: ./gradlew publishPlugins -Pgradle.publish.key=${{ secrets.GRADLE_PUBLISH_KEY }} -Pgradle.publish.secret=${{ secrets.GRADLE_PUBLISH_SECRET }}

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,11 @@
99
/.idea/
1010
.factorypath
1111
/.claude/
12+
/data/
13+
/.apt_generated/
14+
15+
/src/main/java/codegen
16+
/src/main/kotlin/codegen
17+
/src/main/resources/META-INF/codegen
18+
/src/test/java/codegen
19+
/src/test/kotlin/codegen

build.gradle.kts

Lines changed: 90 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1+
import org.seasar.doma.gradle.codegen.desc.LanguageType
2+
13
plugins {
2-
java
4+
id("java")
5+
id("org.jetbrains.kotlin.jvm") version "2.2.0"
6+
id("org.domaframework.doma.compile") version "4.0.0"
7+
id("org.domaframework.doma.codegen")
8+
id("com.nocwriter.runsql") version "1.0.3"
39
id("net.researchgate.release") version "3.1.0"
410
}
511

@@ -11,11 +17,89 @@ configure<net.researchgate.release.ReleaseExtension> {
1117
}
1218
}
1319

14-
allprojects {
15-
apply(plugin = "java")
16-
tasks {
17-
test {
18-
useJUnitPlatform()
20+
java {
21+
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
22+
}
23+
24+
repositories {
25+
mavenLocal()
26+
mavenCentral()
27+
}
28+
29+
dependencies {
30+
val domaVersion: String by project
31+
32+
implementation("org.seasar.doma:doma-core:$domaVersion")
33+
annotationProcessor("org.seasar.doma:doma-processor:$domaVersion")
34+
35+
// Use JUnit BOM for version management
36+
testImplementation(platform("org.junit:junit-bom:5.13.2"))
37+
testImplementation("org.junit.jupiter:junit-jupiter-api")
38+
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
39+
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
40+
41+
testRuntimeOnly(platform("org.testcontainers:testcontainers-bom:1.21.2"))
42+
testRuntimeOnly("org.testcontainers:postgresql")
43+
testRuntimeOnly("org.postgresql:postgresql:42.7.7")
44+
45+
domaCodeGen(platform("org.testcontainers:testcontainers-bom:1.21.2"))
46+
domaCodeGen("org.testcontainers:postgresql")
47+
domaCodeGen("org.postgresql:postgresql:42.7.7")
48+
}
49+
50+
val initScript = file("init_postgresql.sql")
51+
val _url = "jdbc:tc:postgresql:13.21:///test?TC_INITSCRIPT=file:${initScript.absolutePath}"
52+
val _user = ""
53+
val _password = ""
54+
55+
domaCodeGen {
56+
register("java") {
57+
val basePackage = "codegen"
58+
url.set(_url)
59+
user.set(_user)
60+
password.set(_password)
61+
entity {
62+
packageName = "${basePackage}.j.entity"
63+
}
64+
dao {
65+
packageName = "${basePackage}.j.dao"
66+
}
67+
}
68+
register("kotlin") {
69+
val basePackage = "codegen"
70+
url.set(_url)
71+
user.set(_user)
72+
password.set(_password)
73+
languageType.set(LanguageType.KOTLIN)
74+
entity {
75+
packageName = "${basePackage}.k.entity"
76+
}
77+
dao {
78+
packageName = "${basePackage}.k.dao"
1979
}
2080
}
2181
}
82+
83+
tasks {
84+
test {
85+
useJUnitPlatform()
86+
}
87+
88+
val deleteSrc = register("deleteSrc") {
89+
doLast {
90+
delete("src/main/java/codegen")
91+
delete("src/main/kotlin/codegen")
92+
delete("src/main/resources/META-INF/codegen")
93+
delete("src/test/java/codegen")
94+
delete("src/test/kotlin/codegen")
95+
}
96+
}
97+
98+
clean {
99+
dependsOn(deleteSrc)
100+
}
101+
102+
build {
103+
mustRunAfter("domaCodeGenJavaAll", "domaCodeGenKotlinAll")
104+
}
105+
}

codegen-test/.gitignore

Lines changed: 0 additions & 12 deletions
This file was deleted.

codegen-test/build.gradle.kts

Lines changed: 0 additions & 125 deletions
This file was deleted.

codegen-test/docker-compose.yml

Lines changed: 0 additions & 19 deletions
This file was deleted.

codegen-test/gradle.properties

Lines changed: 0 additions & 2 deletions
This file was deleted.
-54.3 KB
Binary file not shown.

codegen-test/gradle/wrapper/gradle-wrapper.properties

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)