Gradle alternate to mvn install

后端 未结 4 1951
野趣味
野趣味 2020-11-29 17:33

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

Project 1 is an SDK, and project 2 is using that sdk (example).

In the time of maven

相关标签:
4条回答
  • 2020-11-29 17:37

    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'
    }
    
    0 讨论(0)
  • 2020-11-29 17:39

    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.

    0 讨论(0)
  • 2020-11-29 17:44

    You may be looking for:

    gradle publishToMavenLocal
    

    Available with:

    apply plugin: 'maven-publish'
    

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

    0 讨论(0)
  • 2020-11-29 18:02

    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
    
    0 讨论(0)
提交回复
热议问题