2016-05-10 8 views
3

Ich versuche, ein Multi-Modul-Großprojekt mit Idee Unterstützung einzurichten. Es funktioniert solange, bis ich dem Mix projektweite gradle.properties hinzufüge. Hier ein Beispiel:Gradle, Ideen-Plugin und Multi-Projekt-Setup

gradle.properties:

javaVersion = 1.8 

gradle.settings:

include 'module_a' 

build.gradle:

allprojects { 
    apply plugin: 'idea' 
    idea { 
    project { 
     jdkName = javaVersion 
    } 
    } 
} 

module_a ist ein leerer Unterordner.

gradle idea nicht mit diesem:

Build file 'project/build.gradle' line: 7 

* What went wrong: 
A problem occurred evaluating root project 'project'. 
> Cannot set property 'jdkName' on null object 

Was könnte der Grund sein?

Frage 2: Kann ein Teilprojekt Veränderungen an den globalen idea Aufgabe, zum Beispiel

idea.module.generatedSourceDirs += file('srm/main/java.generated') 

Wird es nur module_a beeinflussen, wenn in module_a/build.gradle platziert?

Dank

Antwort

2

Sie nicht „jdkName“ auf jedem Teilprojekt festlegen können, ist es nur auf dem Stammprojekt wie folgt gesetzt werden sollte:

idea { 
    project { 
    jdkName = "1.8" 
    languageLevel = "1.8" 
    } 
    module { 
    name = "My root project name" 
    } 
} 

Auf den Teilprojekte können Sie andere Dinge wie

Config
idea.module.testSourceDirs = idea.module.testSourceDirs+idea.module.sourceDirs 
idea.module.sourceDirs = [] as Set 
Verwandte Themen