Add Dockerfile and docker-compose.yml for containerizing the Spring Boot application with PostgreSQL
71 lines
1.9 KiB
Groovy
71 lines
1.9 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'org.springframework.boot' version '3.5.0'
|
|
id 'io.spring.dependency-management' version '1.1.7'
|
|
}
|
|
|
|
group = 'com.jambotronGroup'
|
|
version = '0.0.1-SNAPSHOT'
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(24)
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
|
implementation 'org.springframework.boot:spring-boot-starter'
|
|
implementation 'org.projectlombok:lombok:1.18.26'
|
|
implementation 'org.projectlombok:lombok:1.18.26'
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
|
implementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'
|
|
implementation 'jakarta.validation:jakarta.validation-api:3.0.2'
|
|
implementation 'org.springframework.boot:spring-boot-starter-security'
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
|
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
|
|
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'
|
|
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5' // For JSON serialization/deserialization
|
|
implementation 'org.postgresql:postgresql:42.6.0'
|
|
implementation 'org.flywaydb:flyway-core'
|
|
implementation("org.flywaydb:flyway-database-postgresql:10.4.1")
|
|
|
|
}
|
|
|
|
// copyResouces( type:Copy
|
|
|
|
//tasks copyResouces( type:Copy){
|
|
//
|
|
// def buildDir = "${project.buildDir}"
|
|
//
|
|
// from "{$buildDir}/jambotron-ui/dist/jambotron-ui/browser" // Source directory
|
|
// into "{$buildDir}/build/resources" // Target directory
|
|
// include '**/*'
|
|
//}
|
|
|
|
apply plugin: 'java'
|
|
|
|
tasks.register('copyResources', Copy) {
|
|
from 'jambotron-ui/dist/jambotron-ui/browser'
|
|
into 'src/main/resources/public'
|
|
}
|
|
processResources.dependsOn(copyResources)
|
|
compileJava.dependsOn(copyResources)
|
|
|
|
sourceSets {
|
|
main {
|
|
resources {
|
|
srcDir 'jambotron-ui/dist/jambotron-ui/browser'
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.named('test') {
|
|
useJUnitPlatform()
|
|
}
|