2016-05-10 15 views
3

アイデアをサポートするマルチモジュールのgradleプロジェクトをセットアップしようとしています。これは、プロジェクト全体のgradle.propertiesをミックスに追加するまで機能します。ここでは例です:gradle、ideaプラグイン、マルチプロジェクトの設定

gradle.properties:

javaVersion = 1.8 

gradle.settings:

include 'module_a' 

はbuild.gradle:

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

module_aは空のサブフォルダです。

gradle ideaはこれで失敗します。

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

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

理由何ができますか?

質問2:module_a/build.gradleに配置された場合は、サブプロジェクトは、それが唯一のmodule_aに影響を与えるのでしょうインスタンス

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

のために、グローバルideaタスクに変更を加えることができますか?

あなたはすべてのサブプロジェクトの「jdkName」を設定することはできませんおかげ

答えて

2

、それだけで、このようなルートプロジェクトに設定する必要があります。サブプロジェクトに

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

あなたは

のような他のものを設定できるの
idea.module.testSourceDirs = idea.module.testSourceDirs+idea.module.sourceDirs 
idea.module.sourceDirs = [] as Set 
関連する問題