Создать задачу для блокировки зависимостей в Gradle> 5.0 - PullRequest
0 голосов
/ 22 марта 2019

Я хочу создать задачу для выполнения

зависимостей --update-locks ': '

У меня была конфигурация:

dependencyLocking {
    lockAllConfigurations()
}

Я пытаюсь с

task lockDependencies {
    dependsOn = ['dependencies','--update-locks *:*']
} 

Но имею:

  • Что пошло не так: не удалось определить зависимости задачи ': lockDependencies».

    Задача с путем '--update-locks : ' не найдена в корневом проекте

1 Ответ

0 голосов
/ 26 марта 2019

Вы не можете передать параметры командной строки Gradle как зависимость задачи, вот о чем ваша ошибка выше.

Состояние блокировки записи, с --write-locks или --update-locks, действительно происходитв начале жизненного цикла сборки.

Вы можете в некоторой степени управлять ею из задачи с помощью следующего: * Создать задачу-заполнитель в своем сценарии сборки * В settings.gradle(.kts) запросите запрошенные задачи из командной строки, и еслитам, измените параметры запуска:

if (startParameter.taskNames.contains('placeHolder')) {
    startParameter.setWriteDependencyLocks(true)
}

Обратите внимание, что это не вариант, если вы пытаетесь заблокировать путь к классу самой сборки, что является одной из причин использования флага командной строки.

Обратите также внимание, что это просто позволяет заменить флаг, например --update-locks *:*, вызовом задачи, таким как updateLocks, но не будет работать, если эта задача связана как зависимость от других задач, как это необходимозапрашивается явно.А мутация стартового параметра после вычисляет график задачи слишком поздно в жизненном цикле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...