수색…


비고

doLast

참고로, 그게 gradle 3.x 더 관용적 인 방법으로 작업 정의 : 명시 적으로 doLast {closure} 표기법을 사용하는 대신 "leftShift"(<<) 연산자가 바람직합니다. ( gradle에서 leftShift 가 더 이상 사용되지 않습니다. 3.2는 gradle 5.0에서 제거 될 예정입니다. .)

task oldStyle << {
    println 'Deprecated style task'
 }

다음과 같습니다.

task newStyle {
    doLast {
    println 'Deprecated style task'
    }
 }

작업 이름을 사용하여 종속성 추가

dependsOn 메소드를 사용하여 태스크 실행 순서를 변경할 수있다.

task A << {
    println 'Hello from A'
}
task B(dependsOn: A) << {
    println "Hello from B"
}

`dependsOn : 추가 원인 :

  • 태스크 B는 태스크 A에 의존한다.
  • B 작업을 실행 하기 전 매 시간 마다 작업을 실행하기 A Gradle.

출력은 다음과 같습니다.

> gradle -q B
Hello from A
Hello from B

다른 프로젝트의 종속성 추가하기

project('projectA') {
    task A(dependsOn: ':projectB:B') << {
        println 'Hello from A'
    }
}

project('projectB') {
    task B << {
        println 'Hello from B'
    }
}

다른 프로젝트의 태스크를 참조하려면 태스크 이름 앞에 :projectB:B 라는 프로젝트의 경로를 추가하십시오.

출력은 다음과 같습니다.

> gradle -q B
Hello from A
Hello from B

작업 객체를 사용하여 종속성 추가하기

task A << {
    println 'Hello from A'
}

task B << {
    println 'Hello from B'
}

B.dependsOn A

작업 이름 을 사용하는 대신 종속성을 정의하는 다른 방법입니다.

출력도 동일합니다.

> gradle -q B
Hello from A
Hello from B

여러 종속성 추가

여러 종속성을 추가 할 수 있습니다.

task A << {
    println 'Hello from A'
}

task B << {
    println 'Hello from B'
}

task C << {
    println 'Hello from C'
}

task D << {
    println 'Hello from D'
}

이제 일련의 종속성을 정의 할 수 있습니다.

B.dependsOn A
C.dependsOn B
D.dependsOn C

출력은 다음과 같습니다.

> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D

다른 예 :

B.dependsOn A 
D.dependsOn B
D.dependsOn C

출력은 다음과 같습니다.

> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D

dependsOn 메소드를 사용한 다중 종속성

여러 종속성을 추가 할 수 있습니다.

task A << {
    println 'Hello from A'
}

task B(dependsOn: A) << {
    println 'Hello from B'
}

task C << {
    println 'Hello from C'
}

task D(dependsOn: ['B', 'C'] << {
    println 'Hello from D'
}

출력은 다음과 같습니다.

> gradle -q D
Hello from A
Hello from B
Hello from C
Hello from D


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow