본문 바로가기

툴사용법

[Gradle] build.gradle 기본익히기

 

9. 태스크명 hello : 이렇게 태스크를 지정해 놓으면 cmd에서 gradle 태스크명 형태로 실행할 수 있다. 이 태스크를 작성하는 것이 그레이들의 첫걸음

10. doLast : 액션리스트(아래아래 스샷참조) 중 마지막에 처리를 추가한다.

 

 

hello 태스크를 빌드 및 컴파일도 하지 않고, 메시지를 표시한다. 태스크는 작성된 처리를 실행할 뿐이지, 반드시 빌드와 관련된 기능이 포함된 것은 아니다.

 

q옵션(quiet)을 주면 println 내용만 출력되며, 예외 발생 등 중요한 문제 이외의 표시는 제한.

 

doLast가 먼저, doFirst가 나중에 선언되어있다.

 

하지만 실행해보면 doFirst, doLast 순서로 표시된다.

 

3. def : 지역변수(자바스크립트의 var처럼 숫자를 넣으면 int로 문자열(“”)을 넣으면 문자열로 변수가 셋팅된다.)

4~5. 1에서 num까지 합계하는 태스크. num은 매개변수로 받을 것이다. 매개변수로 전달되는 값은 String이다. 그래서 toInteger를 이용하여 형변환.

 

-P 옵션으로 num 프로퍼티에 100을 전달한다.

 

 

One, two, three, four, five 라는 5종류의 태스크가 동적으로 생성된다.

 

 

1. compileJava : 자바 소스코드를 모두 컴파일한다. 보존할 장소(build/classes 폴더)가 없다면 폴더를 생성하고 그 안에 파일을 작성한다.

2. processResources : 리소스 파일을 클래스 디렉터리(classes) 안에 복사한다.

3. classes : 소스코드 컴파일과 리소스 파일 복사를 실행한다. 1,2번이 합쳐진것.

4. test : 프로그램 테스트를 실행한다. 소스 코드와 관련된 컴파일을 수행하고 테스트에 필요한 리소스 복사 등을 수행한 뒤 JUnit으로 테스트를 실해한다.

5. Javadoc : 소스코드를 해석하여 Javadoc 파일을 생성한다. build안의 docs 폴더 안에 Javadoc 폴더를 작성하여 파일을 보관한다.

6. clean : 빌드로 생성된 파일을 모두 삭제한다. 프로젝트를 처음부터 다시 빌드할 때 이용한다.

 

이렇게 하면 build폴더 내에 컴파일된 클래스 파일 및 jar파일이 빌드된다.

* gradle java VS gradle build

> 둘다 빌드지만 java는 자바 프로그램의 빌드를 수행하지만, build는 어떤 언어라도 프로젝트를 빌드한다. 자바 이외에도 그루비나 스칼라 등 많은 언어를 지원한다. 자바 프로젝트도 build를 통해 빌드가 가능하다.

, 이때 생성된 jar파일은 단순히 jar 파일에 모을 뿐이며 Executeable Jar를 작성하는 것은 아니다.

 

3. doit 태스크에는 매개변수에 dependsOn 의존성을 지정.

> , doitcompileJavajar라는 2개의 태스크에 의존한다.

> 이런 상태에서 dependsOn에서 태스크를 지정하면, doit이 실행되기 전에 의존하는 모든 태스크가 실행된다. 실행이 완료된 후 doit 태스크의 doLast가 호출된다.

 

Jar 태스크에 의해 jar파일이 생성되지만 실행할 수 없는 jar

 

6. 태스크는 tasks 오브젝트에 모여 있다. compileJava 태스크라면 tasks.compileJava라고 지정할 수 있는데, 태스크의 execute를 호출해서 그 태스크를 실행한다. 근데 이 메서드는 5.0부터 없어져서 저런 에러가 난다고함….

 

Gradle class 실행시켜보기

1. 사실 java 플러그인에는 프로그램을 실행하는 태스크가 없다.

2. 따라서 프로그램을 실행시키는 application 플러그인을 사용해 어플리케이션을 실행해야한다.

따라서, 빌드/유닛테스트/실행 기능을 모두 수행하려면 적어도 위 2개의 플러그인과 메인 클래스를 지정해줘야한다.

 

Application 플러그인에는 run 태스크가 포함되어 있어 이것을 실행하면 mainClassName에 지정된 클래스가 실행된다.

 

Jar를 실행한 후 run으로 app클래스를 실행하는 태스크 실행

 

유닛테스트

 

9. repositories : 저장소의 정보를 기입. Jcenter 메서드를 이용하여 JCenter 저장소에서 필요한 라이브러리를 다운로드. mavenCentral() 로 메이븐 중앙저장소를 이용해도됨.

10. implementation : compile 단계부터 사용가능. 요즘 멀티 모듈이 대세인데 현재 모듈에서만 사용이 가능하여 공유는 못하지만 빌드속도가 빠름. Junittest패키지에서 진행이되어야하지만, 걍 일반 패키지에서 진행했으므로 implementation으로 진행.

 그룹ID:아티팩트ID:버전 으로 명시한다.

 

Junit 라이브러리가 저장소에서 다운로드되고, 테스트 프로그램이 실행된다.

 

실행된 테스트와 성공, 실패한 테스트가 표시를 지원한다.

 

 

 

'툴사용법' 카테고리의 다른 글

[Gradle] Ant 이용하기  (0) 2020.09.01
[Gradle] 프로젝트 생성 및 활용  (0) 2020.08.31
[Gradle] 이클립스 사용법  (0) 2020.08.27
[GRADLE] GROOVY 설치 및 입문(1)  (4) 2020.08.26
[MAVEN] 멀티모듈  (0) 2020.08.25