張'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/
(Spring Boot) Gradle의 Profile(dev/production)을 구분지어보자.
메이븐은 기본적으로 빌드할 때 프로필을 지정할 수 있는 것 같은데 gradle은 직접 삽질을 하면서 깨달았다.다음의 글들을 보고 Spring boot 1.5.7과 Gradle 3.x(아마)? 에 맞게, 내 입맛에 맞게 각색해보
perfectacle.github.io
Spring boot - 빌드 profile 설정
Overview Dev - QA - Product에 따른 profile 설정입니다. Spring에서 사용하는 profile과 Maven/Gradle에서 사용하는 profile은 뭐가 다른가요? 개발자 중에 Maven, Gradle에서 사용하는 profile과 spring에서..
eblo.tistory.com
https://osozaki.tistory.com/m/14
Gradle 배포 환경 별 설정파일 분리
대부분 웹 애플리케이션을 개발할 시 DB를 개발용과 운영용으로 구분하여 개발하는데 WAS에 DB커넥션풀을 생성한 뒤 JNDI로 설정해두고 Spring의 context.xml에서 데이터 소스로 가져와서 쓰게 하는 방
osozaki.tistory.com
====================================================================================================
-환경별 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
[SpringBoot] Gradle 변수 Property 활용
작성일자 : 2022.05.29 환경 : SpringBoot, Gradle 시나리오 : Gradle 에서 할당한 변수를 서버 사이드에서 Property 로 활용 1. Gradle 설정 추가 build.gradle ... processResources { filesMatching('**/application.properties') { expan
osc131.tistory.com
'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 |