Порядок сборки 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 построить, то мой Abuild.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

0 ответов

Другие вопросы по тегам