2013-07-23 3 views
1

У меня есть Gradle построить мульти-проекта, используя настройки плагина Java следующим образом:Как создать несколько файлов фляги с Java плагин Gradle в

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

В моем UTIL проекте, я хотел бы генерировать 2 баночки .. один для packageA и один для packageB. Я ноб с градиентом, поэтому любая помощь здесь была бы очень оценена. Вот мои настройки и 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 после занятий, но я не имею никакой удачи.

+0

Итак, ваш вопрос заключается в том, как сделать так, чтобы 'packageBJar' запускался при вводе' gradle build', а не 'gradle packageBJar'? –

+0

Да, это правильно. – bmurmistro

ответ

4

Один из способов объявить packageBJar как артефакт, скажем, archives конфигурацию:

artifacts { 
    archives packageBJar 
} 

Теперь gradle assemble, и, следовательно, также gradle build, будет производить packageBJar.

+0

Привет, как мы можем сделать эту работу для 'gradle install', которая не удастся при попытке установить банку, созданную с помощью' packageBJar' – shinynewbike

Смежные вопросы