Gradle альтернатива mvn установить - PullRequest
141 голосов
/ 25 мая 2011

У меня есть 2 разных проекта сборки на mvn. Я пытаюсь заменить Gradle.

проект 1 - SDK, а проект 2 - SDK (пример)

Во времена maven он создает артефакт с помощью mvn install, который добавляет весь проект в локальный репозиторий.

Мне нравится работать в Gradle. Мне нравится проект 1 build.gradle нужно опубликовать его как локальный репозиторий Gradle, а затем пример проекта должен использовать его.

В maven мы делаем mvn install, который добавляет артефакт проекта в папку .m2, но как это сделать в gradle, чтобы я мог добавить артефакт проекта в локальный репозиторий.

Как я могу это сделать?

Ответы [ 3 ]

149 голосов
/ 25 мая 2011

sdk/build.gradle:

apply plugin: "maven"

group = "foo"
version = "1.0"

example/build.gradle:

repositories {
    mavenLocal()
}

dependencies {
    compile "foo:sdk:1.0"
}

$sdk> gradle install

$example> gradle build
55 голосов
/ 04 марта 2016

Возможно, вы ищете:

gradle publishToMavenLocal

Доступно с:

apply plugin: 'maven-publish'

См .: https://docs.gradle.org/current/userguide/publishing_maven.html

8 голосов
/ 15 ноября 2012

Ознакомьтесь с Документация Gradle по многопроектным сборкам .

Вот пример с некоторыми дополнительными зависимостями.Просто позвоните gradle install в корневую папку, и все будет собрано и помещено в локальный репозиторий.

Структура папки:

root
+--> build.gradle
+--> settings.gradle
+--> sdk
|    +--> build.gradle
+--> example
     +--> build.gradle

root / build.gradle:

allprojects {
  apply plugin: 'java'
  apply plugin: 'maven'

  group = 'myGroup'
  version = '0.1-SNAPSHOT'
}

root / settings.gradle:

include 'sdk'
include 'example'

root / sdk / build.gradle:

dependencies {
  // just an example external dep.
  compile group:'commons-lang', name:'commons-lang', version:'2.3'
}

root / example / build.gradle:

dependencies {
  compile project(':sdk')
  compile group:'log4j', name:'log4j', version:'1.2.16'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...