diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleMiscImportingTest.java b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleMiscImportingTest.java index f11cd68036af..5715e892b738 100644 --- a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleMiscImportingTest.java +++ b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleMiscImportingTest.java @@ -167,8 +167,15 @@ public class GradleMiscImportingTest extends GradleImportingTestCase { @Test public void testCompilerConfigurationSettingsImport() throws Exception { + final String pathToPlugin = getClass().getResource("/testCompilerConfigurationSettingsImport/gradle-idea-ext.jar").toString(); + importProject( - "apply plugin: 'idea'\n" + + "buildscript {\n" + + " dependencies {\n" + + " classpath files('" + pathToPlugin + "')\n" + + " }\n" + + "}\n" + + "apply plugin: 'org.jetbrains.gradle.plugin.idea-ext'\n" + "idea {\n" + " project.settings {\n" + " compiler {\n" + diff --git a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/IntelliJProjectSettingsBuilder.groovy b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/IntelliJProjectSettingsBuilder.groovy index 8f803a96bed7..8415e07925ce 100644 --- a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/IntelliJProjectSettingsBuilder.groovy +++ b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/IntelliJProjectSettingsBuilder.groovy @@ -23,7 +23,6 @@ import org.jetbrains.plugins.gradle.model.DefaultIntelliJSettings import org.jetbrains.plugins.gradle.model.IntelliJProjectSettings import org.jetbrains.plugins.gradle.tooling.ErrorMessageBuilder import org.jetbrains.plugins.gradle.tooling.ModelBuilderService -import org.jetbrains.plugins.gradle.tooling.internal.DynamicSettings /** * @author Vladislav.Soroka @@ -41,7 +40,7 @@ class IntelliJProjectSettingsBuilder implements ModelBuilderService { ExtensionAware extensionAware = project.plugins.findPlugin(IdeaPlugin.class)?.model?.project as ExtensionAware if (extensionAware) { def object = extensionAware.extensions.findByName("settings") - if (object instanceof DynamicSettings && !object.objects.isEmpty()) { + if (object) { return new DefaultIntelliJSettings(object.toString()) } } diff --git a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/IntelliJSettingsBuilder.groovy b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/IntelliJSettingsBuilder.groovy index d9be555d79da..6ef3894da2da 100644 --- a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/IntelliJSettingsBuilder.groovy +++ b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/builder/IntelliJSettingsBuilder.groovy @@ -24,7 +24,6 @@ import org.jetbrains.plugins.gradle.model.DefaultIntelliJSettings import org.jetbrains.plugins.gradle.model.IntelliJSettings import org.jetbrains.plugins.gradle.tooling.ErrorMessageBuilder import org.jetbrains.plugins.gradle.tooling.ModelBuilderService -import org.jetbrains.plugins.gradle.tooling.internal.DynamicSettings /** * @author Vladislav.Soroka @@ -42,7 +41,7 @@ class IntelliJSettingsBuilder implements ModelBuilderService { ExtensionAware extensionAware = project.plugins.findPlugin(IdeaPlugin.class)?.model?.module as ExtensionAware if (extensionAware) { def object = extensionAware.extensions.findByName("settings") - if (object instanceof DynamicSettings && !(object as DynamicSettings).objects.isEmpty()) { + if (object) { return new DefaultIntelliJSettings(object.toString()) } } diff --git a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/internal/init/init.gradle b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/internal/init/init.gradle index b44c64dde80c..552bcd0cafb8 100644 --- a/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/internal/init/init.gradle +++ b/plugins/gradle/tooling-extension-impl/src/org/jetbrains/plugins/gradle/tooling/internal/init/init.gradle @@ -1,6 +1,5 @@ import org.gradle.api.internal.project.ProjectInternal import org.gradle.tooling.provider.model.ToolingModelBuilderRegistry -import org.jetbrains.plugins.gradle.tooling.internal.DynamicSettings import org.jetbrains.plugins.gradle.tooling.internal.ExtraModelBuilder System.setProperty("idea.active", "true") @@ -55,16 +54,5 @@ class JetGradlePlugin implements Plugin { it.register(extraModelBuilderInstance) } } - gradle.allprojects { project -> - project.pluginManager.withPlugin('idea') { plugin -> - def ideaModel = project.extensions.getByName('idea') - if (project.parent == null && !ideaModel.project.extensions.findByName('settings')) { - ideaModel.project.extensions.create('settings', DynamicSettings) - } - if (!ideaModel.module.extensions.findByName('settings')) { - ideaModel.module.extensions.create('settings', DynamicSettings) - } - } - } } } diff --git a/plugins/gradle/tooling-extension-impl/testData/testCompilerConfigurationSettingsImport/gradle-idea-ext.jar b/plugins/gradle/tooling-extension-impl/testData/testCompilerConfigurationSettingsImport/gradle-idea-ext.jar new file mode 100644 index 000000000000..288c066560c5 Binary files /dev/null and b/plugins/gradle/tooling-extension-impl/testData/testCompilerConfigurationSettingsImport/gradle-idea-ext.jar differ