-
Notifications
You must be signed in to change notification settings - Fork 4
/
build.gradle
101 lines (86 loc) · 3.17 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
plugins {
id "org.springframework.boot" version "$orgSpringframeworkBoot"
id "io.spring.dependency-management" version "$ioSpringDependencyManagement"
id "java"
id "org.openapi.generator" version "$orgOpenapiGenerator"
id "application"
}
group = "com.javajo"
version = "0.0.1-SNAPSHOT"
sourceCompatibility = "17"
mainClassName = "javajo.ponsyukey.PonsyukeyApplication"
application {
// mainClass = 'xxx'
applicationDefaultJvmArgs = ['--add-opens', 'java.base/java.lang=ALL-UNNAMED']
}
// DOMA関係
// テンポラリディレクトリのパスを定義する
ext.domaResourcesDir = "${buildDir}/tmp/doma-resources"
// domaが注釈処理で参照するリソースをテンポラリディレクトリに抽出
task extractDomaResources(type: Copy, dependsOn: processResources) {
from processResources.destinationDir
include "doma.compile.config"
include "META-INF/**/*.sql"
include "META-INF/**/*.script"
into domaResourcesDir
}
// テンポラリディレクトリ内のリソースをcompileJavaタスクの出力先ディレクトリにコピーする
task copyDomaResources(type: Copy, dependsOn: extractDomaResources) {
from domaResourcesDir
into compileJava.destinationDirectory.getAsFile().orNull
}
bootJar {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
jar {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
compileJava {
// 上述のタスクに依存させる
dependsOn copyDomaResources
// // テンポラリディレクトリをcompileJavaタスクの入力ディレクトリに設定する
// inputs.dir domaResourcesDir
options.encoding = "UTF-8"
}
compileTestJava {
options.encoding = "UTF-8"
// テストの実行時は注釈処理を無効にする
options.compilerArgs = ["-proc:none"]
}
repositories {
mavenCentral()
}
dependencies {
// domaへの依存を示す
implementation "org.seasar.doma:doma-core:$orgSeasarDoma"
annotationProcessor "org.seasar.doma:doma-processor:$orgSeasarDoma"
implementation "org.seasar.doma.boot:doma-spring-boot-starter:$orgSeasarDomaSpringBoot"
// SQL ServerのJDBCドライバーを使えるようにする
runtimeOnly "com.microsoft.sqlserver:mssql-jdbc:$comMicrosoftSqlserver"
implementation "org.springframework.boot:spring-boot-starter:$orgSpringframeworkBoot"
testImplementation("org.springframework.boot:spring-boot-starter-test:$orgSpringframeworkBoot") {
exclude group: "org.junit.vintage", module: "junit-vintage-engine"
}
implementation "org.springframework.boot:spring-boot-starter-web:$orgSpringframeworkBoot"
implementation "org.springframework.data:spring-data-commons:$orgSpringframeworkData"
implementation "io.springfox:springfox-spring-web:$ioSpringfox"
implementation "io.springfox:springfox-swagger2:$ioSpringfox"
implementation "javax.validation:validation-api:$javaxValidation"
}
test {
useJUnitPlatform()
}
openApiGenerate {
generatorName = "spring"
inputSpec = "$rootDir/docs/api/openapi.yaml".toString()
outputDir = "$rootDir".toString()
apiPackage = "javajo.ponsyukey.controller"
invokerPackage = "javajo.ponsyukey.invoker"
modelPackage = "javajo.ponsyukey.model"
generateModelTests = true
generateApiTests = true
configOptions = [
dateLibrary: "java17",
openApiNullable: "false"
]
}