# Problem with Idea plugin while updating to Gradle 2.14

**URL:** <https://discuss.gradle.org/t/problem-with-idea-plugin-while-updating-to-gradle-2-14/18206>\
**Category:** Bugs\
**Tags:** not-a-bug\
**Created:** [June 23, 2016, 2:23pm UTC](https://discuss.gradle.org/t/problem-with-idea-plugin-while-updating-to-gradle-2-14/18206 "2016-06-23T14:23:36Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![brianpreuss](https://avatars.discourse-cdn.com/v4/letter/b/4da419/32.png) [@brianpreuss](https://discuss.gradle.org/u/brianpreuss)\
**Post date:** [June 23, 2016, 2:23pm UTC](https://discuss.gradle.org/t/problem-with-idea-plugin-while-updating-to-gradle-2-14/18206/1 "2016-06-23T14:23:36Z")

</div>

After upgrading to Gradle 2.14 from 2.13 I’m getting this build error originating from the Idea plugin

```gradle
./gradlew clean build --stacktrace
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE

FAILURE: Build failed with an exception.

* Where:
Build file '/home/bpreuss/dev/git/xxx/build/build.gradle' line: 222
* What went wrong:
A problem occurred evaluating root project 'xxx'.
> Value is null

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'xxx'.
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:93)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:177)
        at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:182)
        at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38)
        at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25)
        at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:540)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
        at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)
        at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
        at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:124)
        at org.gradle.internal.Factories$1.create(Factories.java:22)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:121)
        at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: java.lang.IllegalArgumentException: Value is null
        at org.gradle.internal.metaobject.BeanDynamicObject.<init>(BeanDynamicObject.java:89)
        at org.gradle.internal.metaobject.BeanDynamicObject.<init>(BeanDynamicObject.java:80)
        at org.gradle.api.internal.DynamicObjectUtil.asDynamicObject(DynamicObjectUtil.java:30)
        at org.gradle.internal.metaobject.ConfigureDelegate.<init>(ConfigureDelegate.java:36)
        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:106)
        at org.gradle.plugins.ide.idea.model.IdeaModel.project(IdeaModel.java:96)
        at org.gradle.plugins.ide.idea.model.IdeaModel_Decorated.project(Unknown Source)
        at build_17fz0gzxt29po6f3gr2mhap2x$_run_closure1$_closure19.doCall(/home/bpreuss/dev/git/xxx/build/build.gradle:222)
        at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
        at org.gradle.api.internal.plugins.ExtensionsStorage$ExtensionHolder.configure(ExtensionsStorage.java:145)
        at org.gradle.api.internal.plugins.ExtensionsStorage.configureExtension(ExtensionsStorage.java:69)
        at org.gradle.api.internal.plugins.DefaultConvention$ExtensionsDynamicObject.invokeMethod(DefaultConvention.java:215)
        at org.gradle.internal.metaobject.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:96)
        at org.gradle.internal.metaobject.MixInClosurePropertiesAsMethodsDynamicObject.invokeMethod(MixInClosurePropertiesAsMethodsDynamicObject.java:30)
        at org.gradle.internal.metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:59)
        at build_17fz0gzxt29po6f3gr2mhap2x$_run_closure1.doCall(/home/bpreuss/dev/git/xxx/build/build.gradle:221)
        at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:107)
        at org.gradle.api.internal.project.AbstractProject.configure(AbstractProject.java:888)
        at org.gradle.api.internal.project.AbstractProject.configure(AbstractProject.java:893)
        at org.gradle.api.internal.project.AbstractProject.allprojects(AbstractProject.java:880)
        at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:374)
        at org.gradle.internal.metaobject.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:169)
        at org.gradle.internal.metaobject.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:96)
        at org.gradle.internal.metaobject.MixInClosurePropertiesAsMethodsDynamicObject.invokeMethod(MixInClosurePropertiesAsMethodsDynamicObject.java:30)
        at org.gradle.internal.metaobject.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:163)
        at org.gradle.groovy.scripts.BasicScript.methodMissing(BasicScript.java:79)
        at build_17fz0gzxt29po6f3gr2mhap2x.run(/home/bpreuss/dev/git/xxx/build/build.gradle:29)
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)
        ... 58 more

BUILD FAILED

```

excerpt from build.gradle

```gradle
allprojects {
    // ...
    apply plugin: 'idea'
    // ...
    ext {
        //...
        source = '1.8'
        // ...
    }
    // ....
    idea {
        project {
            jdkName = source
            languageLevel = source
            vcs = 'Git'
        }
        module {
            excludeDirs += file('buildSrc')
            excludeDirs += file('build')
            excludeDirs += file('gradle')
            excludeDirs += file('.gradle')
            excludeDirs += file('.idea')
            excludeDirs += file('.classpath')
            excludeDirs += file('.project')
            excludeDirs += file('target')
            excludeDirs += file('war')
            downloadJavadoc = true
            downloadSources = true
        }
    }
    // ...
}

```

Gradle Version: 2.14  
Operating System: Ubuntu 16.04  
Is this a regression? If yes, which version of Gradle do you know it last worked for?  
2.13

---

<div class="post-metadata">

**Author:** ![Stefan\_Wolf](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/stefan_wolf/32/5519_2.png) [@Stefan\_Wolf](https://discuss.gradle.org/u/Stefan_Wolf)\
**Post date:** [July 8, 2016, 11:06am UTC](https://discuss.gradle.org/t/problem-with-idea-plugin-while-updating-to-gradle-2-14/18206/2 "2016-07-08T11:06:42Z")

</div>

The project Closure

```
idea {
        project {
            jdkName = source
            languageLevel = source
            vcs = 'Git'
        }
}

```

can only be configured on the root project - not on subprojects. This means it shouldn’t be in the `allprojects` closure but on top level in your build file.

Does this fix your problem?

---

<div class="post-metadata">

**Author:** ![brianpreuss](https://avatars.discourse-cdn.com/v4/letter/b/4da419/32.png) [@brianpreuss](https://discuss.gradle.org/u/brianpreuss)\
**Post date:** [July 8, 2016, 1:55pm UTC](https://discuss.gradle.org/t/problem-with-idea-plugin-while-updating-to-gradle-2-14/18206/3 "2016-07-08T13:55:47Z")

</div>

Yes, this fixes my problem!

Vielen Dank 🙂

---

<div class="post-metadata">

**Author:** ![msaladin42](https://avatars.discourse-cdn.com/v4/letter/m/b5a626/32.png) [@msaladin42](https://discuss.gradle.org/u/msaladin42)\
**Post date:** [August 10, 2016, 6:33am UTC](https://discuss.gradle.org/t/problem-with-idea-plugin-while-updating-to-gradle-2-14/18206/4 "2016-08-10T06:33:52Z")

</div>

I have the same problem with the Eclipse plugin, but moving the closure outside does not help:

**toplevel build.gradle file:**  
apply plugin: 'eclipse’  
eclipse {  
classpath {  
file {  
whenMerged { classpath -\>  
print classpath  
}  
}  
}  
}

and while invoking a task of the Eclipse plugin on top-level or on a subproject level, I get an exception:  
…  
Caused by: java.lang.IllegalArgumentException: Value is null  
at org.gradle.internal.metaobject.BeanDynamicObject.(BeanDynamicObject.java:89)  
at org.gradle.internal.metaobject.BeanDynamicObject.(BeanDynamicObject.java:80)  
at org.gradle.api.internal.DynamicObjectUtil.asDynamicObject(DynamicObjectUtil.java:30)  
at org.gradle.internal.metaobject.ConfigureDelegate.(ConfigureDelegate.java:36)  
at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:106)  
…

Seems to be related to this issue, because the Eclipse plugin does the following:  
void file(Closure closure) {  
ConfigureUtil.configure(closure, file)  
}

and ConfigureUtil is a class of the main Gradle build. Any ideas what I do wrong here? Is this related the Idea plugin? Or should I create a separate forum entry?

Thanks.
