Зависимости файла Gradle - PullRequest
0 голосов
/ 18 января 2019

Я пришел из многолетнего опыта работы с make. Одна вещь, которая сбивает меня с толку - это использование в Gradle зависимостей задач, а не файловых зависимостей. Например, если у меня есть программа на C, которая имеет эти зависимости (в формате makefile):

приложение: file1.o file2.o

file1.o: file1.c file1.h file2.h

file2.o: file2.c file2.h

Итак, оба объектных файла зависят от file2.h и будут перестроены при изменении file2.h. Однако, если file1.h изменился, будет построен только file1.o.

Как я могу представить это в Gradle? В основном меня интересует, как можно справиться с этим в сыром Gradle, а не использовать плагин.

Спасибо!

Блейк МакБрайд

1 Ответ

0 голосов
/ 19 января 2019

Ответ связан с дополнительной поддержкой Gradle. Это задокументировано в https://blog.gradle.org/introducing-incremental-build-support и https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:up_to_date_checks

По сути, для встроенных задач Gradle внутренне вычисляет, какие файлы ввода и вывода связаны с задачей. Затем он использует эту информацию, чтобы избежать выполнения ненужных задач, тем самым устраняя ненужные шаги. Для пользовательских задач в Gradle есть метод, описанный в приведенных выше ссылках, который сообщает Gradle, каковы входные и выходные файлы для конкретной задачи.

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