Порядок сборки gradle, выполняющий основную задачу сборки
У меня есть следующая структура gradle:
|_ C
|_ build.gradle
|_ B
|_ build.gradle
|_ A
|_ build.gradle
|
|_ build.gradle
В моем корне build.gradle
У меня есть эта задача:
configure(digitalJsProjects) {
apply plugin: 'base'
task Install(type: Exec) {
// install
}
task build(type: Exec) {
// build
}
task test(type: Exec) {
commandLine 'yarn', 'test:ci'
onlyIf {
!yarnBuild2.state.upToDate
}
}
xBuild.dependsOn install
test.dependsOn xbuild
build.dependsOn test
}
Если я хочу запустить A
построить, то мой A
build.gradle
выглядит так:
build.dependsOn ':B:build'
build.dependsOn ':C:build'
Но когда я бегу gw :A:build - m
Я вижу:
:A:frontend:assemble SKIPPED
:A:frontend:check SKIPPED
:A:frontend:install SKIPPED
:A:frontend:xBuild SKIPPED
:A:frontend:test SKIPPED
:B:frontend:assemble SKIPPED
:B:frontend:check SKIPPED
:B:frontend:install SKIPPED
:B:frontend:xBuild SKIPPED
:B:frontend:test SKIPPED
:C:frontend:assemble SKIPPED
:C:frontend:check SKIPPED
:C:frontend:install SKIPPED
:C:frontend:xBuild SKIPPED
:C:frontend:test SKIPPED
:A:build
Я не ожидал увидеть A
задачи как первые задачи.
Я ожидал, что все B
задачи для запуска, а затем C
задачи перед A
задачи. A:build
где я ожидал, но почему другие A
задачи, выполняющиеся первыми, или как мне добиться этого порядка сборки:
:B:frontend:assemble SKIPPED
:B:frontend:check SKIPPED
:B:frontend:install SKIPPED
:B:frontend:xBuild SKIPPED
:B:frontend:test SKIPPED
:C:frontend:assemble SKIPPED
:C:frontend:check SKIPPED
:C:frontend:install SKIPPED
:C:frontend:xBuild SKIPPED
:C:frontend:test SKIPPED
:A:frontend:assemble SKIPPED
:A:frontend:check SKIPPED
:A:frontend:install SKIPPED
:A:frontend:xBuild SKIPPED
:A:frontend:test SKIPPED
:A:build