2015-07-14 2 views
0

Может кто-нибудь объяснить смысл цели этого init.gradle файла, как это кажется, просто дублируя код мне:какова цель init.gradle файла

buildscript { 
    repositories { 
     maven { 
      url "https://someEnterpriseURL" 
     } 
    } 
} 

allprojects { 
    repositories { 
     maven { 
      url "https://someEnterpriseURL" 
     } 
    } 
} 

причиной путаницы что в проектах build.gradle файл его определяется следующим образом:

buildscript { 
    repositories { 
     maven { 
      url "https://someEnterpriseURL" 
     } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.1.1' 

    } 
} 

allprojects { 
    repositories { 
     maven { 
      url "https://someEnterpriseURL" 
     } 
    } 
} 

так почему даже это определено в init.gradle файле? как это помогает разработчикам иметь файл init.gradle, когда im определяет то же самое в файле build.gradle?

ответ

2

Ваши файлы build.gradle предназначены для каждого проекта и для каждого модуля. Ваши файлы init.gradle настроены для каждого пользователя (в ~/.gradle или в домашнем каталоге Gradle для локальных установок Gradle). Я бы ожидал увидеть файлы init.gradle, используемые чаще в крупных организациях, пытаясь стандартизировать некоторые политики построения Gradle для нескольких проектов и групп разработчиков.

Цитирование the Gradle documentation:

Вот несколько возможных применений:

  • Настройка конфигурации масштаба предприятия, такие как, где найти пользовательские плагины.

  • Настроить свойства на основе текущей среды, например, машины разработчика и сервера непрерывной интеграции.

  • Предоставить персональную информацию о пользователе, которая требуется для сборки, например, репозитории или учетные данные для проверки подлинности базы данных.

  • Определите конкретные детали машины, например, где установлены JDK.

  • Зарегистрировать сборщиков. Внешние инструменты, которые хотят слушать события Gradle, могут оказаться полезными.

  • Зарегистрировать лесозаготовителей. Возможно, вы захотите настроить, как Gradle регистрирует события, которые он создает.

0

Как вы знаете, Gradle является сочетание Ant инструмента и Maven инструмента. Возможно, вы видели, как работает ant tool (добавление jars или libs локально) и maven tool (добавление файлов jars и libs из облака и сценарий для загрузки, чтобы загрузить его из облака во время построения). Таким образом, в основном этот файл init.gradle обычно используется для некоторых баннеров, доступных в глобальном масштабе (обычно используется для крупных организаций, помещенных в облако), который будет содержать URL-адрес или адрес сервера, чтобы загрузить банку и кэшировать ее в оболочке градации (вы могут видеть эти файлы jar через облако, как только они загружаются, можно увидеть в .gradle-> кешах).

Визуализируйте в перспективе, как предполагайте, в организации, которая имеет один файл поддержки jar, который постоянно обновляется, и есть еще одна команда в этой организации, которая нуждается в этом банке для своего приложения. Так вот наш парень «init.gradle» поможет нам решить эту проблему. Автоматически загружать последнюю банку с сервера всякий раз, когда приложение создается более поздней командой.

Смежные вопросы