Подтвердить что ты не робот

Gradle чередовать установку mvn

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

проект 1 представляет собой SDK, а проект 2 использует sdk (пример)

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 3

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

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

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

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

корень/build.gradle:

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

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

корень/settings.gradle:

include 'sdk'
include 'example'

корень/SDK/build.gradle:

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

корень/пример/build.gradle:

dependencies {
  compile project(':sdk')
  compile group:'log4j', name:'log4j', version:'1.2.16'
}

Ответ 4

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

  1. Добавьте плагин maven-publish:

    plugins {
        // your other plugins come here...
        id 'maven-publish'
    }
    
  2. Добавьте раздел публикации в свой файл сборки:

    publishing {
        publications {
            myCoolLibrary(MavenPublication) {
                from components.java
            }
        }
    }
    
  3. Запустите gradle build publishToMavenLocal

    Более подробную информацию вы найдете в документации.