Gradle alternate to mvn install

元气小坏坏 提交于 2020-01-09 02:53:27

问题


I have 2 different project build on mvn. I am trying to replace to Gradle.

project 1 is SDK and project 2 is uses the sdk (example)

In the time of maven it creates artifact using mvn install which adds the whole project into local repository.

I like to work in gradle like that. I like project 1 build.gradle need to post it as a gradle local repository and then example project need to use it.

In maven we do mvn install which adds a project artifact into .m2 folder but how to do in gradle so what i can add a project artefact's into the local repository.

Any way that i can do so ?


回答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



回答2:


You may be looking for:

gradle publishToMavenLocal

Available with:

apply plugin: 'maven-publish'

See: https://docs.gradle.org/current/userguide/publishing_maven.html




回答3:


Check out Gradle's documentation on multi-project builds.

Here's an example, with some extra dependencies. Just call gradle install in the root folder, and all will be built and put to your local repo.

Folder structure:

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'
}



回答4:


You need to publish your own library to your local repository. You can do that in the following way:

  1. Add maven-publish plugin:

    plugins {
        // your other plugins come here...
        id 'maven-publish'
    }
    
  2. Add the publishing section to your build file:

    publishing {
        publications {
            myCoolLibrary(MavenPublication) {
                from components.java
            }
        }
    }
    
  3. Run gradle build publishToMavenLocal

    Find more details in the documentation.



来源:https://stackoverflow.com/questions/6122252/gradle-alternate-to-mvn-install

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!