Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: bootJar task 실행 전 openapi3.yaml 파일 생성 #11

Merged
merged 2 commits into from
Jun 28, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ plugins {
}

group = "dev.jxmen"
version = "0.2.1-SNAPSHOT" // NOTE: snapshot은 개발 중인 버전을 의미
version = "0.2.2-SNAPSHOT" // NOTE: snapshot은 개발 중인 버전을 의미

java {
sourceCompatibility = JavaVersion.VERSION_21
Expand Down Expand Up @@ -69,15 +69,22 @@ kotlin {
tasks.withType<Test> {
useJUnitPlatform()

finalizedBy("openapi3") // TODO: 꼭 필요한지 체크
finalizedBy("copyOasToSwagger")
}

tasks.jar {
enabled = false // plain jar 파일 생성 비활성화
}

val copyOasToSwaggerTask = "copyOasToSwagger"

tasks.bootJar {
dependsOn("openapi3") // openapi3 Task가 먼저 실행되도록 설정

from(layout.buildDirectory.file("api-spec/openapi3.yaml")) {
into("BOOT-INF/classes/static/swagger-ui")
}

archiveFileName.set("app.jar")
}

Expand All @@ -87,13 +94,13 @@ openapi3 {
format = "yaml"
}

tasks.register<Copy>("copyOasToSwagger") {
tasks.register<Copy>(copyOasToSwaggerTask) {
dependsOn("openapi3") // openapi3 Task가 먼저 실행되도록 설정

group = JavaBasePlugin.DOCUMENTATION_GROUP
description = "openapi 파일 정적 경로에 복사"

delete("src/main/resources/static/swagger-ui/openapi3.yaml") // 기존 OAS 파일 삭제
from(layout.buildDirectory.file("api-spec/openapi3.yaml")) // 복제할 OAS 파일 지정
into("src/main/resources/static/swagger-ui/.") // 타겟 디렉터리로 파일 복제

dependsOn("openapi3") // openapi3 Task가 먼저 실행되도록 설정
}