Skip to content

Commit

Permalink
build: bootJar task 실행 전 openapi3.yaml 파일 생성 (#11)
Browse files Browse the repository at this point in the history
* build: bootJar task 실행 전 openapi3.yaml 파일 생성

See Also:
- https://helloworld.kurly.com/blog/spring-rest-docs-guide/

* build: bump up to 0.2.2
  • Loading branch information
jxmen authored Jun 28, 2024
1 parent 147884e commit 05129bd
Showing 1 changed file with 12 additions and 5 deletions.
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가 먼저 실행되도록 설정
}

0 comments on commit 05129bd

Please sign in to comment.