張's blog :: gradle 명령어 및 Gradle build 문제 해결 (tistory.com)
- gradle 간단
1. 일반문자열은 싱글따움표
2. 변수는 더블따움표 사용
- 로컬변수
def testVal = "test"
- 전역변수
ext.testVal = "test" //한개씩 선언
ext { //여러개 선언
testVal_1 = "test_1"
testVal_2 = "test_2"
}
- command line 빌드
1. 명령 프롬프트에서 해당 프로젝트 파일로 이동한다.
2. gradle 명령 실행
https://programmer-ririhan.tistory.com/120
- eclipse에서 빌드
gradle task : clean build
Arguments > Program Arguments : -Pprofile=prd
단위테스트 건너띄고 빌드하기 : -xtest OR -x test
====================================================================================================
- Gradle 7.X
sourceSets {
if (!project.hasProperty('profile') || !profile) {
ext.profile = 'dev'
}
tmpProfile = "${profile}" // 개별 파일 교체시 사용하기 위한 변수
println(project.name + "[${profile}/" + tmpProfile + "]")
main {
java.srcDirs = ['src/main/java']
if(project.hasProperty( 'profile' )) {
// resource에 src/main/java 패키지 제외하고 build하기
//resources.srcDirs = ['src/main/resources', "src/main/resources-${profile}"]
// resource에 src/main/java 패키지 내 xml 파일 포함하여 build하기
resources.srcDirs = ['src/main/java', 'src/main/resources', "src/main/resources-${profile}"]
//resources.excludes = ['**/sample', '**/sample*', '**/sample/*']
}
}
}
// resources, resources-${profile} copy 할 때 duplicatesStrategy 설정 하기
tasks.processResources {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
OR
duplicatesStrategy = DuplicatesStrategy.WARN
println "Project Dir : $projectDir"
println "Build Dir : $buildDir"
}
OR
tasks.war {
enabled = true
archiveFileName = "${deployFileName}"
// 중복 파일 경고 후 덮어쓰기
processResources.duplicatesStrategy = DuplicatesStrategy.WARN
//processResources.duplicatesStrategy = DuplicatesStrategy.INCLUDE
doLast {
println("${thisProjectName}[war doLast] deploy profile [" + currentProfile + "]")
}
}
====================================================================================================
- Gradle 6.X
sourceSets {
if (!project.hasProperty('profile') || !profile) {
ext.profile = 'dev'
}
main {
java {
srcDirs 'src/main/java'
}
resources {
//조건문이 없으면
//이클립스의 프로젝트 선택 후 마우스 우클릭 > Properties > Java Build Path 에서
//resources-dev도 path에 잡히게 됨 (resource-prd는 안잡힘.. 이유는 모르겠음)
//이럴경우 Java Build Path > Order and Export에서
//~main/resources를 ~main/resources-dev보다 위에 위치하게 하면 됨
if(project.hasProperty( 'profile' )) {
// java 소스에 xml 파일이 있을 경우 xml 파일 포함시키기 위한 부분 'src/main/java'
srcDirs 'src/main/java', 'src/main/resources', "src/main/resources-${profile}"
//exclude '**/sample'
//exclude '**/sample*'
//exclude '**/sample/*'
}
}
}
}
https://perfectacle.github.io/2017/09/23/Spring-boot-gradle-profile/
https://osozaki.tistory.com/m/14
====================================================================================================
-환경별 dependency 다르게 하기
https://stackoverflow.com/questions/55479724/differentiate-dependency-based-on-profile-in-gradle-file
https://stackoverflow.com/questions/40659986/maven-profiles-equivalent-of-gradle
- gradle 변수property 활용
https://osc131.tistory.com/m/204
'gradle' 카테고리의 다른 글
gradle local repository (0) | 2020.07.07 |
---|---|
gradle 명령어 및 Gradle build 문제 해결 (0) | 2020.04.09 |
이클립스에서 gradle cache 파일 위치 변경 (0) | 2020.02.11 |
spring boot multiple project 설정 (gradle) (0) | 2019.12.30 |
eclipse에서 gradle project import (0) | 2016.10.31 |