2015-10-02 2 views
0

Меня попросили использовать Gradle в нескольких проектах и ​​создать удаленный репозиторий различных файлов jar, которые могут понадобиться проектам. Я новичок в Gradle, но только определение зависимостей библиотеки не кажется чем-то трудным. Теперь о репозитории я хотел бы использовать Bitbucket как хозяин репозитория Maven, следуя этому руководству rapidminer_maven-repo Wiki. Поскольку у меня нет опыта с Maven, и я провел слишком много времени с этим руководством, мог ли кто-нибудь более подробно описать шаги, чтобы настроить это?BitBucket maven repository

Спасибо.

ответ

0

Вот шаги, которые я затем, чтобы создать репозиторий Maven, размещенного на BitBucket:

https://bitbucket.org/neil_rubens/rapidminer_maven-repo/wiki/Home Руководство Я частично следовать.

  1. Любые локальные конфигурации, необходимые для выполнения всей этой работы.

    Установить maven. https://www.youtube.com/watch?v=Jtj-0yhox5s
    Дополнительно: установите python.

  2. Настройка хранилища в BitBucket использовать как Maven хранилище

    1. Создать локальную папку, например, специалист-репо с подпапок Maven репо \ баночек и Maven-репо \ хранилище
    2. Скопируйте файлы .jar в maven-repo \ jars.
    3. Для того, чтобы установить одну из банок в хранилище используйте команду Maven:

    mvn install:install-file -DgroupId={jarOwner..more like group folder} -DartifactId={jarName} -Dversion={x.x.x} -Dfile={Path to the jar file in maven-repo\jars} -Dpackaging=jar -DgeneratePom=true -DlocalRepositoryPath=./repository -DcreateChecksum=true

    например mvn install:install-file -DgroupId=com.mycompany -DartifactId=GSON-2.2.4 -Dversion=2.2.4 -Dfile=C:\Development\maven-repo\jars\gson-2.2.4.jar -Dpackaging=jar -DgeneratePom=true -DlocalRepositoryPath=./repository -DcreateChecksum=true

    Факультативные Если есть много банок, которые можно использовать installJars .py (владелец этого скрипта является создателем руководства, которым я следил). В cmd: python.exe installJars {jarsFolder_FullPath} {version} Но вся установка библиотеки будет иметь одинаковую версию. Также ее можно рассматривать как версию репозитория и включать версию jar в имя jar (artifactId). Сценарий также создает файл зависимостей и команды maven для всех установок библиотек.

    1. Создайте репозиторий PUBLIC с битбакетом с тем же именем, что и локальный (maven-repo). Откройте проект bitbucket в SourceTree, затем скопируйте содержимое maven-repo шага 1 в папку maven-repo, связанную с битбакетом. Зафиксировать и нажать. Путь для каждой банки в битбакете должен быть maven-repo/repository/{groupId}/{artifactId}/{version}/{artifactId + version} .jar например maven-repo/репозиторий/com/mycompany/gson-2.2 .4/1.0/gson-2.2.4-1.0.jar

      Существует еще один шаг в руководстве (верхняя часть документа), создающая главный барабан зависимости, но не был необходим, чтобы заставить его работать.

  3. Setup проектом IntelliJ для ссылки на библиотеки в хранилище для последовательной сборки

    Для того, чтобы начать новый проект, который использует IntelliJ Gradle Нажмите File-> New Project Выберите Gradle из списка , Установите флажок «Создавать каталоги для пустых корней контента автоматически» и убедитесь, что выбрана «Пользовательская градиентная оболочка». Нажмите дальше. Назовите проект. Нажмите «Готово».

    В корневом каталоге проекта есть файл build.gradle. Для того, чтобы использовать пользовательское хранилище, удалить mavenCentral() из хранилища и добавить:

repositories { maven { url 'https://bitbucket.org/{bitbucketUsername}/maven-repo/raw/master/repository/
} }

Затем в том же файле определить зависимости библиотеки, как это:

dependencies{ compile 'com.mycompany:gson-2.2.4:1.0'
//compile '{groupId}:{artifactId}:{version}' <--all these as defined in the installation maven commands. compile 'com.mycompany:license4j-1.6:1.0' compile 'com.mycompany:kendo-taglib-2015.1.429:1.0' }

Постройте проект. Если библиотеки не отображаются, нажмите «Задачи Gradle» (из списка слева) и нажмите кнопку «Обновить».

Вы можете добавить следующие строки в build.gradle, чтобы распечатать содержимое кегля градиента.

task showMeCache << { 
    configurations.compile.each { println it} 
}