gradle 로 Java application 빌드 환경 구성하기
Gradle 의 문서중 Building Java Applications Sample 정리
설치
OS X
brew install gradle
CODE
Windows
choco install gradle
CODE
winget 은 아직 gradle 패키지가 없음
프로젝트 생성
샘플 프로젝트용 폴더 생성
$ mkdir gradle-demo
$ cd gradle-demo
BASH
init task 실행
init 은 새로운 프로젝트 생성하는 명령어로 여러 가지 하위 옵션이 있으며 옵션 지정 안 할 경우 command line 메뉴에서 선택하면 됨.
$ gradle init
BASH
Click here to expand...
Select type of project to generate:
1: basic
2: application
3: library
4: Gradle plugin
Enter selection (default: basic) [1..4] 2
Select implementation language:
1: C++
2: Groovy
3: Java
4: Kotlin
5: Scala
6: Swift
Enter selection (default: Java) [1..6] 3
Split functionality across multiple subprojects?:
1: no - only one application project
2: yes - application and library projects
Enter selection (default: no - only one application project) [1..2]
Select build script DSL:
1: Groovy
2: Kotlin
Enter selection (default: Groovy) [1..2] 1
Select test framework:
1: JUnit 4
2: TestNG
3: Spock
4: JUnit Jupiter
Enter selection (default: JUnit 4) [1..4] 1
Project name (default: gradle-demo):
Source package (default: gradle.demo):
> Task :init
Get more help with your project: https://docs.gradle.org/7.0.2/samples/sample_building_java_applications.html
BUILD SUCCESSFUL in 33s
2 actionable tasks: 2 executed
CODE
init 실행시 바로 프로젝트 유형을 지정하려면 --type 옵션 뒤에 프로젝트 유형 지정하면 됨.
다음은 java library 개발 프로젝트 생성
$ gradle init --type java-library
BASH
다음은 java application 개발 프로젝트 생성
gradle init --type java-application
BASH
더 자세한 옵션은 help 명령어에 --task 옵션에 태스크 이름 지정
gradle help --task init
BASH
gradle 폴더 구조
$ tree -L 3
.
├── gradle - 1
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew - 2
├── gradlew.bat - 2
└── settings.gradle - 3
├── app
│ ├── build.gradle - 4
│ └── src
│ ├── main - 5
│ └── test - 6
6 directories, 6 files
BASH
- Generated folder for wrapper files
- Gradle wrapper start scripts
- Settings file to define build name and subprojects
- Build script of app project
- Default Java source folder
- Default Java test source folder
gradle cmd
의존성 보기
gradle :app:dependencies
CODE
dependency download
다음 내용을 안드로이드의 app\build.gradle 에 추가
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.google.android.gms:play-services-gcm:7.5.0'
}
//{ 추가 부분
task copyDependencies(type: Copy) {
from configurations.compile
into 'dependencies'
}
//}
CODE
이제 아래 명령어를 실행하면 <projectDir>/app/dependencies 에 모든 의존성 jar 가 다운로드 됨.
gradle :app:copyDependencies
CODE