Gradle: Как вы включаете свою собственную библиотеку как часть сборки? - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть проект grads gradle, который является общей библиотекой для всех моих других проектов.

В build.gradle зависимого проекта я включил jar commons следующим образом:

dependencies {
    ...
    runtime files('../commons/build/libs/commons-1.0.jar')
}

И это прекрасно сочетается с относительным путем.Но это похоже на жесткое программирование конкретной библиотеки.Каков стандартный способ достижения сборки в этом случае?

1 Ответ

0 голосов
/ 17 апреля 2019

Вы можете опубликовать общую банку в вашем локальном хранилище maven.Но если вы разрабатываете в команде, вы должны опубликовать в менеджере хранилища, к которому другие стороны также имеют доступ.

И в зависимых проектах Вы просто добавляете этот общий jar, как Вы добавляете стороннюю библиотеку.Таким образом, вам не нужно хранить зависимые файлы JAR в вашей системе контроля версий.Когда проекты разрабатываются разными сторонами, этот способ будет более удобным.

Пример использования mavenlocal

// Common project build.gradle

apply plugin: 'maven-publish'

version = '2.0'
...

publishing {
   publications {
      maven(MavenPublication) {
          groupId = 'com.gradle.sample'
          artifactId = 'project1-sample'
          from components.java
      }
   }
}

Вы можете использовать gradle publishToMavenLocal для публикации общего проекта в mavenlocal.(Зависимые проекты не могут использовать новые версии общего jar, если Вы не опубликуете его в mavenlocal в этом случае)

// Dependent project build.gradle

repositories {
    mavenLocal()
}

dependencies {
    implementation 'com.gradle.sample:project1-sample:2.0'
    ....
}

Проверьте следующую ссылку для деталей.https://docs.gradle.org/current/userguide/publishing_maven.html

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