plugins {
    id 'java'
    id 'maven-publish'
}

group = 'com.tsi'
version = '0.0.1'

sourceCompatibility = '1.8'
targetCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    // lombok 라이브러리 추가 시작
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    implementation 'org.springframework.boot:spring-boot-starter-web'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testCompileOnly 'org.projectlombok:lombok'
    testAnnotationProcessor 'org.projectlombok:lombok'
    // lombok 라이브러리 추가 끝

    implementation 'org.springframework.boot:spring-boot-starter-aop'

    testImplementation platform('org.junit:junit-bom:5.10.0')
    testImplementation 'org.junit.jupiter:junit-jupiter'
}

//processResources {
//    enabled = false
//}

bootJar {
    enabled = false
}

//jar {
//    enabled = true
//}

test {
    useJUnitPlatform()
}
publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
    repositories {
        maven {
            name = "customLocalRepo"
            println "its-cluster library install mvn repository..."
            def repoPath = org.gradle.internal.os.OperatingSystem.current().isWindows() ?
                    "C:/java/repository" :
                    "/Users/openvalue/Projects/java/repository"
            url = uri(repoPath)
        }

        /*
         * 참고: 더 표준적인 방법은 모든 프로젝트가 공유하는 기본 로컬 Maven 저장소(~/.m2/repository)를 사용하는 것입니다.
         * 그렇게 하려면 위 'maven' 블록 대신 아래 'mavenLocal()'을 사용하면 됩니다.
         * mavenLocal()
         */
    }
}

//tasks.register('runInstallJarLibrary', Exec) {
//    doFirst {
//        println "tsi-common library install mvn repository..."
//        def os = org.gradle.internal.os.OperatingSystem.current()
//        workingDir = file('.')
//        if (os.isWindows()) {
//            commandLine 'cmd', '/C', 'start', 'install.bat'
//        } else {
//            commandLine 'sh', './install.sh'
//        }
//    }
//}
//jar.finalizedBy runInstallJarLibrary

compileJava.options.encoding = 'UTF-8'
tasks.withType(JavaCompile).configureEach {
    options.compilerArgs << '-Xlint:unchecked'
    options.deprecation = true
    options.encoding = 'UTF-8'
}
