내 gradled 빌드 스크립트에서 통합 및 수용 테스트를 실행하기 위해 별도의 작업을 생성했다고 가정 해 보겠습니다. 빌드 작업을 실행할 때 단위 테스트 (테스트 작업), 통합 테스트 (intergationTest 작업) 및 수락 테스트 (acceptanceTest 작업)를 순서대로 수행하기 전에 테스트 작업을 실행하고 싶습니다. 이게 가능하고 어떻게?Gradle을 특정 순서로 실행하는 방법은 무엇입니까?
1
A
답변
1
당신은 Gradle을 문서에 설명 된 "다음에 실행해야합니다"를 찾고 있습니다 - http://www.gradle.org/docs/current/userguide/more_about_tasks.html 여기
1
당신이 인공 종속성을 작성하지 않고 그것을 할 수있는 방법은 다음과 같습니다
https://caffeineinduced.wordpress.com/2015/01/25/run-a-list-of-gradle-tasks-in-specific-order/
TLDR을; 버전 :
//--- build aliases : define a synonym here if you want a shortcut to run multiple targets
def buildAliases = [
'all' : ['clean', 'assemble', 'runProvisioner', 'stopTomcat', 'installTomcat', 'deployToTomcat', 'startTomcat'],
'rebuild' : ['clean', 'assemble']
]
def expandedTaskList = []
gradle.startParameter.taskNames.each {
expandedTaskList << (buildAliases[it] ? buildAliases[it] : it)
}
gradle.startParameter.taskNames = expandedTaskList.flatten()
println "\n\n\texpanded task list: ${gradle.startParameter.taskNames }\n\n"
0
이것은 내 프로젝트에서 수행 한 것입니다.
check.dependsOn integTest
integTest.mustRunAfter test
tasks.withType(Pmd) {
mustRunAfter integTest // Pointing to a task
}
tasks.withType(FindBugs) {
mustRunAfter tasks.withType(Pmd) // Pointing to a group of tasks under Pmd
}
tasks.withType(Checkstyle) {
mustRunAfter tasks.withType(FindBugs)
}
그룹별로 작업을 주문하는 데 도움이되었습니다.
관련 문제
- 1. 특정 순서로 로봇 테스트를 실행하는 방법은 무엇입니까?
- 2. jQuery에서 선택한 요소를 특정 순서로 실행하는 방법은 무엇입니까?
- 3. 메소드를 올바른 순서로 실행하는 방법은 무엇입니까?
- 4. 함수를 임의의 순서로 실행하는 방법은 무엇입니까?
- 5. 함수를 특정 순서로 안드로이드 프로그래밍에서 실행하는 방법?
- 6. 특정 순서로 Javascript 함수를 실행하는 방법 이해하기
- 7. 특정 순서로 일괄 삽입하는 방법은 무엇입니까?
- 8. 특정 순서로 MySQL 행을 업데이트하는 방법은 무엇입니까?
- 9. 루비의 배열을 특정 순서로 정렬하는 방법은 무엇입니까?
- 10. 특정 순서로 출력을 인쇄하는 방법은 무엇입니까?
- 11. Gradle을 사용하여 단일 작업에서 JavaExec을 여러 번 실행하는 방법은 무엇입니까?
- 12. Gradle을 : 나는 파일 이름에 특정 패턴 매칭 삭제하는 Gradle을 작업이
- 13. 샘플러/샘플 세트를 임의 순서로 실행하는 방법
- 14. 대상 특정 패키지 Gradle을
- 15. Python 3 : 매개 변수가있는 함수를 임의의 순서로 실행하는 방법은 무엇입니까?
- 16. robotframework maven plugin을 사용하여 테스트를 임의의 순서로 실행하는 방법은 무엇입니까?
- 17. 동일한 순서로 IntelliJ IDEA에서 여러 클래스를 실행하는 방법은 무엇입니까?
- 18. js 코드를 작성된 순서로 강제 실행하는 방법은 무엇입니까?
- 19. JavaScript에서 순서가 지정된 순서로 함수를 실행하는 방법은 무엇입니까?
- 20. 쉘에서 동일한 순서로 일련의 명령문을 다시 실행하는 방법은 무엇입니까?
- 21. Scalatest에서 테스트를 항상 동일한 순서로 실행하는 방법은 무엇입니까?
- 22. 어떻게 포함/I는 특정 그룹에 속하는 테스트를 실행하는 Gradle을 테스트 작업을 만들려고 해요 Gradle을
- 23. 특정 버전의 gradle을 사용하도록 플러그인을 구성하는 방법은 무엇입니까?
- 24. 특정 순서로 PHPUnit 테스트 실행
- 25. Gradle을 사용하여 Selenium WebDrivers를 전환하는 방법은 무엇입니까?
- 26. 활동에서 특정 시간에 AsyncTask를 실행하는 방법은 무엇입니까?
- 27. 특정 시간에 PHP 파일을 실행하는 방법은 무엇입니까?
- 28. Windows의 특정 디렉토리에서 명령을 실행하는 방법은 무엇입니까?
- 29. while 루프를 특정 횟수만큼만 실행하는 방법은 무엇입니까?
- 30. 특정 테스트에서만 모카의 'After'코드를 실행하는 방법은 무엇입니까?
나는 볼 수 있듯이 하나의 작업 만 다른 작업 후에 실행되도록 지정합니다. 빌드 작업 전에 세 가지 작업을 실행하고 싶습니다. 필자는이 명령으로 확실하게 그렇게 할 수는 있지만 테스트 작업을 실행하면 두 개만 더 실행되고 싶지는 않습니다. –
시도해 보셨습니까? 'taskY.shouldRunAfter taskX1, taskX2'가 작동합니다. http://www.gradle.org/docs/current/javadoc/org/gradle/api/Task.html#shouldRunAfter (java.lang.Object ...) – Radim
이 작업이 가능하다는 것을 알고 있지만이 작업을 수행하고 싶습니다. 빌드가 호출 될 때만 호핑됩니다. –