Skip to content

Commit 8f39eb3

Browse files
committed
Rewrite Gradle build script
1 parent b71cb5d commit 8f39eb3

File tree

5 files changed

+137
-124
lines changed

5 files changed

+137
-124
lines changed

codegen-test/build.gradle

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

codegen-test/build.gradle.kts

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
import org.h2.Driver
2+
import org.seasar.doma.gradle.codegen.desc.LanguageType
3+
import org.seasar.doma.gradle.codegen.jdbc.SimpleDataSource
4+
5+
buildscript {
6+
repositories {
7+
mavenCentral()
8+
mavenLocal()
9+
maven {
10+
url = uri("https://oss.sonatype.org/content/repositories/snapshots/")
11+
}
12+
flatDir {
13+
dirs("../codegen")
14+
}
15+
}
16+
dependencies {
17+
val h2Version: String = properties["h2Version"] as String
18+
classpath("org.domaframework.doma:codegen")
19+
classpath("com.h2database:h2:$h2Version")
20+
classpath("mysql:mysql-connector-java:8.0.33")
21+
}
22+
}
23+
24+
plugins {
25+
id("java")
26+
id("org.jetbrains.kotlin.jvm") version "2.0.20"
27+
id("org.seasar.doma.compile") version "1.1.0"
28+
id("org.domaframework.doma.codegen")
29+
}
30+
31+
java {
32+
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
33+
}
34+
35+
repositories {
36+
mavenLocal()
37+
mavenCentral()
38+
}
39+
40+
dependencies {
41+
val domaVersion: String by project
42+
val h2Version: String by project
43+
44+
implementation("org.seasar.doma:doma-core:$domaVersion")
45+
annotationProcessor("org.seasar.doma:doma-processor:$domaVersion")
46+
testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.1")
47+
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.1")
48+
testRuntimeOnly("com.h2database:h2:$h2Version")
49+
}
50+
51+
val _url = "jdbc:h2:file:$projectDir/data/db"
52+
val _user = ""
53+
val _password = ""
54+
55+
domaCodeGen {
56+
register("java") {
57+
val basePackage = "codegen"
58+
url.set(_url.toString())
59+
user.set(_user)
60+
password.set(_password)
61+
entity {
62+
packageName = "${basePackage}.entity"
63+
}
64+
dao {
65+
packageName = "${basePackage}.dao"
66+
}
67+
}
68+
register("kotlin") {
69+
val basePackage = "codegen"
70+
url.set(_url.toString())
71+
user.set(_user)
72+
password.set(_password)
73+
languageType.set(LanguageType.KOTLIN)
74+
entity {
75+
packageName = "${basePackage}.entity"
76+
}
77+
dao {
78+
packageName = "${basePackage}.dao"
79+
}
80+
}
81+
}
82+
83+
tasks {
84+
test {
85+
useJUnitPlatform()
86+
}
87+
88+
val deleteSrc = register("deleteSrc") {
89+
doLast {
90+
delete("src")
91+
}
92+
}
93+
94+
val createDb = register("createDb") {
95+
doLast {
96+
val ds = SimpleDataSource()
97+
ds.setDriver(Driver())
98+
ds.setUrl(_url)
99+
ds.setUser(_user)
100+
ds.setPassword(_password)
101+
102+
val sql = """
103+
drop all objects;
104+
105+
create table department(
106+
department_id integer not null primary key,
107+
department_no integer not null,
108+
department_name varchar(20),
109+
location varchar(20) default 'tokyo',
110+
version integer
111+
);
112+
113+
create table employee(
114+
employee_id integer not null primary key,
115+
employee_no integer not null,
116+
employee_name varchar(20)
117+
);
118+
"""
119+
ds.connection.use {
120+
it.createStatement().use {
121+
it.execute(sql)
122+
}
123+
}
124+
}
125+
}
126+
127+
getByName("domaCodeGenJavaDbMeta").dependsOn(deleteSrc, createDb)
128+
getByName("domaCodeGenKotlinDbMeta").dependsOn(deleteSrc, createDb)
129+
}
130+

codegen-test/gradle.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
domaVersion = 3.0.1
2+
h2Version = 2.3.232

codegen-test/settings.gradle

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

codegen-test/settings.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
rootProject.name = "codegen-test"
2+
3+
pluginManagement {
4+
includeBuild("../codegen")
5+
}

0 commit comments

Comments
 (0)