diff --git a/idea/src/META-INF/gradle.xml b/idea/src/META-INF/gradle.xml
index c26ed098059..2fe9a36e85f 100644
--- a/idea/src/META-INF/gradle.xml
+++ b/idea/src/META-INF/gradle.xml
@@ -3,4 +3,7 @@
+
+
+
diff --git a/idea/src/org/jetbrains/kotlin/idea/configuration/GradleKotlinJavaFrameworkSupportProvider.kt b/idea/src/org/jetbrains/kotlin/idea/configuration/GradleKotlinJavaFrameworkSupportProvider.kt
new file mode 100644
index 00000000000..dba6d6518d0
--- /dev/null
+++ b/idea/src/org/jetbrains/kotlin/idea/configuration/GradleKotlinJavaFrameworkSupportProvider.kt
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2010-2015 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jetbrains.kotlin.idea.configuration
+
+import com.intellij.framework.FrameworkTypeEx
+import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider
+import com.intellij.openapi.module.Module
+import com.intellij.openapi.roots.ModifiableModelsProvider
+import com.intellij.openapi.roots.ModifiableRootModel
+import org.jetbrains.kotlin.idea.KotlinIcons
+import org.jetbrains.kotlin.idea.versions.KotlinRuntimeLibraryUtil
+import org.jetbrains.plugins.gradle.frameworkSupport.BuildScriptDataBuilder
+import org.jetbrains.plugins.gradle.frameworkSupport.GradleFrameworkSupportProvider
+import javax.swing.Icon
+
+public class GradleKotlinJavaFrameworkSupportProvider() : GradleFrameworkSupportProvider() {
+ override fun getFrameworkType(): FrameworkTypeEx = object : FrameworkTypeEx("KOTLIN") {
+ override fun getIcon(): Icon = KotlinIcons.FILE
+
+ override fun getPresentableName(): String = "Kotlin (Java)"
+
+ override fun createProvider(): FrameworkSupportInModuleProvider = this@GradleKotlinJavaFrameworkSupportProvider
+ }
+
+ override fun addSupport(module: Module,
+ rootModel: ModifiableRootModel,
+ modifiableModelsProvider: ModifiableModelsProvider,
+ buildScriptData: BuildScriptDataBuilder) {
+ var kotlinVersion = KotlinRuntimeLibraryUtil.bundledRuntimeVersion()
+ if (kotlinVersion == "@snapshot@") {
+ kotlinVersion = "0.1-SNAPSHOT"
+ buildScriptData.addBuildscriptRepositoriesDefinition("mavenCentral()")
+
+ val snapshotRepository = KotlinWithGradleConfigurator.SNAPSHOT_REPOSITORY.replace('\n', ' ')
+ buildScriptData.addBuildscriptRepositoriesDefinition(snapshotRepository)
+
+ buildScriptData.addRepositoriesDefinition("mavenCentral()")
+ buildScriptData.addRepositoriesDefinition(snapshotRepository)
+ }
+
+ buildScriptData
+ .addPluginDefinition(KotlinGradleModuleConfigurator.APPLY_KOTLIN)
+
+ // TODO: once IDEA-148110 is fixed, define kotlin_version property in buildscript
+ .addDependencyNotation(KotlinWithGradleConfigurator.LIBRARY.replace("\$kotlin_version", kotlinVersion))
+ .addBuildscriptDependencyNotation(KotlinWithGradleConfigurator.CLASSPATH.replace("\$kotlin_version", kotlinVersion))
+ }
+}
diff --git a/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleModuleConfigurator.java b/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleModuleConfigurator.java
index 8eefed9d652..fa7934171d8 100644
--- a/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleModuleConfigurator.java
+++ b/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleModuleConfigurator.java
@@ -27,7 +27,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlo
public class KotlinGradleModuleConfigurator extends KotlinWithGradleConfigurator {
public static final String NAME = "gradle";
- private static final String APPLY_KOTLIN = "apply plugin: 'kotlin'";
+ public static final String APPLY_KOTLIN = "apply plugin: 'kotlin'";
@NotNull
@Override
diff --git a/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinWithGradleConfigurator.java b/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinWithGradleConfigurator.java
index b9af3caa0f9..131559bfab1 100644
--- a/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinWithGradleConfigurator.java
+++ b/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinWithGradleConfigurator.java
@@ -57,8 +57,8 @@ public abstract class KotlinWithGradleConfigurator implements KotlinProjectConfi
protected static final String CLASSPATH = "classpath \"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version\"";
protected static final String SNAPSHOT_REPOSITORY = "maven {\nurl 'http://oss.sonatype.org/content/repositories/snapshots'\n}";
- protected static final String REPOSITORY = "mavenCentral()\n";
- protected static final String LIBRARY = "compile \"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version\"";
+ public static final String REPOSITORY = "mavenCentral()\n";
+ public static final String LIBRARY = "compile \"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version\"";
protected static final String SOURCE_SET = "main.java.srcDirs += 'src/main/kotlin'\n";
protected static final String VERSION = String.format("ext.kotlin_version = '%s'", VERSION_TEMPLATE);