1

我有一个使用 java 插件设置的多项目 gradle 构建,如下所示:

myProj/
  settings.gradle
  build.gradle
  util/
    build.gradle

在我的 util 项目中,我想生成 2 个罐子……一个用于 packageA,一个用于 packageB。我是 gradle 的菜鸟,所以这里的任何帮助将不胜感激。这是我的设置和 gradle 文件:

myProj/settings.gradle

include 'util'

myProj/build.gradle

subprojects {
    apply plugin: 'java'

    repositories {
        maven {
            url "http://mymavenurl"
        }
    }

    sourceSets {
        main {
            java {
                srcDir 'src/java'
            }
        }
    }
}

myProj/util/build.gradle

dependencies {
    .
    .
    .
}
jar {
    baseName = 'packageA'
    includes = ['com/mycomp/packageA']
}
task packageBJar(type: Jar) {
    dependsOn classes
    includes = ['com/mycomp/packageB']
    baseName = 'packageB'
}

当我尝试在这里构建我的项目时,输出是:

:util:compileJava
:util:processResources UP-TO-DATE
:util:classes
:util:jar
:util:assemble
:util:compileTestJava UP-TO-DATE
:util:processTestResources UP-TO-DATE
:util:testClasses UP-TO-DATE
:util:test
:util:check
:util:build

我希望在课后看到 :util:packageBJar ,但我没有运气。

4

1 回答 1

4

一种方法是声明packageBJararchives配置的工件:

artifacts {
    archives packageBJar
}

现在gradle assemble,因此也gradle build将产生packageBJar

于 2013-07-24T13:31:51.503 回答