2014-02-04 3 views
0

У меня есть файл build.gradle, который я использую для замены старого maven pom.xml, состоящего из 2 модулей и третьего подмодуля. Я перенес ее Gradle таким образом:Как сделать теневое приложение для нескольких проектов Gradle

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'groovy' 

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'org.gradle.plugins:shadow:0.7.4' 
    } 
} 

apply plugin: 'shadow' 

sourceCompatibility = 1.7 
version = '0.1' 
jar { 
    manifest { 
     attributes 'Implementation-Title': 'mainprj', 'Implementation-Version': version 
    } 
} 

subprojects { 
    apply plugin: 'java' 
    apply plugin: 'eclipse' 
    apply plugin: 'groovy' 

    repositories { 
     mavenCentral() 
     maven { url 'http://nexus.codehaus.org/snapshots' } 
    } 

    dependencies { 
    //some deps here 
    } 
} 

project(':mainprj') { 
    dependencies { 
     compile project(':subprj1') 
     compile project(':subprj2') 
    } 
} 

project(':subprj1') { 
    dependencies { 
    compile project(':subprj3') 
     //deps here 
    } 
} 

project(':subprj2') { 
    dependencies { 
    compile project(':subprj3') 
     //deps here 
    } 
} 

project(':subprj3') { 
    dependencies { 
     //deps here 
    } 
} 

shadow { 
    exclude 'META-INF/*.SF' 
    exclude 'META-INF/*.DSA' 
    exclude 'META-INF/*.RSA' 

    transformer(org.gradle.api.plugins.shadow.transformers.AppendingTransformer) { resource = 'META-INF/stuff' } 
} 

Я хотел бы знать, как получить «теневой» пакет, когда я запускаю «Gradle тень» из командной строки, как будто я бегу «Gradle тень» Я получаю пустая банка. Есть идеи?

+0

Что * точно * является вашей проблемой? –

+0

Если я запускаю «тени градиента», я получаю пустую банку – Randomize

ответ

1

Похоже, вы хотите создать тень Jar, содержащую Jar, созданный :mainprj и ее зависимостями. В этом случае вам, вероятно, придется применить плагин к :mainprj, а не к корневому проекту. Кроме того, если у вас нет кода в корневом проекте, плагины java и groovy не должны там применяться (но eclipse должен).

+0

, спасибо, я переместил задачу «shadow» под проект mainprj, и она работает. Во всяком случае, мне все еще нужно java и groovy от root – Randomize