gradle 로 Java application 빌드 환경 구성하기

Gradle 의 문서중 Building Java Applications Sample 정리


설치

OS X

brew install gradle

Windows

choco install gradle

winget 은 아직 gradle 패키지가 없음



프로젝트 생성

샘플 프로젝트용 폴더 생성

$ mkdir gradle-demo
$ cd gradle-demo


init task 실행


init 은 새로운 프로젝트 생성하는 명령어로 여러 가지 하위 옵션이 있으며 옵션 지정 안 할 경우 command line 메뉴에서 선택하면 됨.

$  gradle init
 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


init 실행시 바로 프로젝트 유형을 지정하려면 --type 옵션 뒤에 프로젝트 유형 지정하면 됨.

다음은 java library 개발 프로젝트 생성

$ gradle init --type java-library


다음은 java application 개발 프로젝트 생성

gradle init --type java-application


더 자세한 옵션은 help 명령어에  --task 옵션에 태스크 이름 지정

gradle help --task init

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
  1. Generated folder for wrapper files
  2. Gradle wrapper start scripts
  3. Settings file to define build name and subprojects
  4. Build script of app project
  5. Default Java source folder
  6. Default Java test source folder


gradle cmd

의존성 보기

gradle :app:dependencies


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'
}
//}

이제 아래 명령어를 실행하면 <projectDir>/app/dependencies 에 모든 의존성 jar 가 다운로드 됨.

gradle :app:copyDependencies


같이 보기