Нужно ли добавлять папку .gradle в систему управления версиями?

Gradle создает папку с именем .gradle. Должен ли я отслеживать его с помощью моего контроля версий (например, git)?

Что более важно, почему /почему нет?

91 голос | спросил rocketscientist 20 J0000006Europe/Moscow 2013, 00:36:38

5 ответов


0

Должен ли я отслеживать каталог .gradle?

Нет. Это можно смело игнорировать.


Почему я должен это игнорировать?

Это чисто для кэширования информации, вы не хотите, чтобы она была в вашем репо, потому что:

  • он может стать большим и заполненным двоичными файлами
  • там могут быть специфичные для машины данные
  • там много оттока (вы постоянно будете вносить изменения в файлы)
  • все, что там есть, может быть полностью заново сгенерировано, когда бы это ни понадобилось

Это в основном временный каталог, который Gradle сбрасывает в середине вашего исходного кода (почему Gradle считает, что это уместно, это другой вопрос).

Вы можете указать природу «каталога кеша» каталога по имени переключателя, который позволяет вам изменить его местоположение: « - project-cache-dir ".

Хотя я ненавижу иметь двоичные файлы в моем исходном дереве, я обычно просто заканчиваю тем, что добавляю каталог в свой файл игнорирования, потому что где-то вдоль строки я забуду использовать переключатель из некоторой командной строки или из моей IDE или чего-то подобного, и тогда в конечном итоге придется иметь дело с каталогом в любом случае.


Как мне это игнорировать?

Пользователи Git могут добавить строку с .gradle в . gitgnore , и Git игнорирует все файлы в любом каталоге с таким именем.

Пользователи Mercurial хотят найти файл .hgignore .

Для других систем управления версиями обратитесь к документации - все они имеют функцию для поддержки этого.

ответил Shorn 22 J0000006Europe/Moscow 2013, 03:41:19
0

Папка .gradle содержит различную рассчитанную информацию о вашей сборке Gradle (например, кэшированные результаты /входная информация). Вы определенно не должны проверять эту папку в вашей системе контроля версий.

ответил Rene Groeschke 20 J0000006Europe/Moscow 2013, 01:38:31
0

Вам не нужно хранить папку .gradle.

Поскольку после того, как вы снова выполните команду gradle build, вы можете снова создать почти ту же самую папку .gradle.

Но когда вы используете файл gradle.setting в .gradle, вам может понадобиться переместить его в корневую папку проекта.

ответил Rene Groeschke 20 J0000006Europe/Moscow 2013, 01:38:31
0

когда мы запускаем gradle, он создает папку .gradle внутри вашей домашней директории. Он состоит из native (информация о вашей системе) и кешей. Кэши также состоят из плагинов и всех других jar-зависимостей.

Когда мы впервые строим проект, он загружает зависимости и плагины и проверяет их здесь. в следующий раз, когда они нам понадобятся, это получится отсюда. даже когда они нужны нам в eclipse для компиляции кода (=> gradle eclipse), его зависимости добавляются из кеша

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

ответил AKT 19 Jpm1000000pmTue, 19 Jan 2016 14:25:25 +030016 2016, 14:25:25
0

Я был новичком в Gradle и думал, что папка .gradle будет содержать общую информацию, такую ​​как сопоставления зависимостей и т. д., и загрузил ее в систему управления версиями. Затем я попытался настроить новый компьютер с другой версией ОС и версией Java, используя код из системы управления версиями, включая папку .gradle, и столкнулся с ошибками. Оказалось, что папка .gradle содержит информацию о машине и используется для локального кэширования. Не включайте папку .gradle в систему управления версиями и попробуйте настроить новый компьютер с кодом, остальное сделает демон gradle.

ответил Varun 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 11 Sep 2017 20:22:52 +0300 2017, 20:22:52

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132