Как использовать пользовательское РЕПО Bintray (правильно) для зависимости от gradle?

это скорее вопрос "я делаю это правильно".

быстрая предыстория: я построил плагин gradle (в автономном проекте gradle/groovy). Я использую его в другом проекте java. Клиентский проект ссылался на него через что-то вроде:

buildScript
{
      flatDir {
            dirs '../my-gradle-plugin/build/libs'
      }

      classpath name: 'gradle-my-plugin'
}

поэтому я не хотел относительной ссылки на проект плагина (и не делал плагин частью клиента). Я подумал, что посмотрю, смогу ли я поместить его в BinTray и ссылаться на "настоящий" плагин.

так настроить BinTray и после многих проб и ошибок, я получил его на работу, но я не думаю, что я сделал правильно. Вот что я сделал:--3-->

  1. сделал РЕПО maven: MyStuff
  2. сделал пакет: gradle-my-plugin
  3. сделал версию: 0.1
  4. загрузил файл для этой версии, но указал целевой путь, такой как"org/fhw/gradle-my-plugin/0.1"

мой блок buildScript выглядит так:

buildScript {
    repositories {
        maven {
            url 'http://dl.bintray.com/my-bintray-id/MyStuff
        }
    }    
    dependencies {
        classpath 'org.fhw:gradle-my-plugin:0.1'
   }
}

Так что мне интересно, это хак, который я сделал с целью на BinTray. Без этого правильный путь не был установлен для загруженных файлов / банок (для версии).

Так это правильный процесс для зависимостей BinTray и Gradle?

1 ответов


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

другая вещь, чтобы рассмотреть, включая пакет jcenter. Одним из преимуществ этого включения будет бесплатный аккаунт в oss.jfrog.org для вашего развития процесс. Это бесплатная учетная запись Artifactory (как nexus, но гораздо лучше).

обратите внимание, что вы можете включить ваш плагин Gradle Плагины портал. Как только вы это сделаете, использование вашего плагина снизится до

plugins {
  id "org.fhw.gradle-my-plugin" version "0.1"
}

вот инструкции по включению.

P.S. Что касается идентификатора группы, который nexus "скрывает" - Bintray не ограничивается макетом артефактов Maven, вы можете развертывать файлы в любом макете это вам нужно, поэтому вам нужно указать путь при загрузке файлов через пользовательский интерфейс. Говоря это, когда Bintray встречает файл pom среди загруженных файлов, он автоматически устанавливает путь. Путь также является необязательным при использовании maven или maven-publish с плагином Bintray-он вычисляет путь от артефактов, как только становится ясно, что это файлы Maven.