Skip to content

Commit afb6cf9

Browse files
authored
Merge pull request #231 from domaframework/chore/improve-project-structure
Improve project structure and migrate to Gradle version catalog
2 parents 04a3b28 + 66f858d commit afb6cf9

19 files changed

+225
-485
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,22 @@ 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
34-
run: ./gradlew domaCodeGenJavaAll build
34+
run: ./gradlew clean domaCodeGenJavaAll build
3535

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

4039
- name: Set version
4140
id: 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: 87 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1+
import org.seasar.doma.gradle.codegen.desc.LanguageType
2+
13
plugins {
24
java
3-
id("net.researchgate.release") version "3.1.0"
5+
alias(libs.plugins.kotlin.jvm)
6+
alias(libs.plugins.doma.compile)
7+
alias(libs.plugins.release)
8+
id("org.domaframework.doma.codegen")
49
}
510

611
configure<net.researchgate.release.ReleaseExtension> {
@@ -11,11 +16,87 @@ configure<net.researchgate.release.ReleaseExtension> {
1116
}
1217
}
1318

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

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)