diff --git a/generators/org/jetbrains/jet/generators/tests/GenerateTests.java b/generators/org/jetbrains/jet/generators/tests/GenerateTests.java
index b1d5af9db16..d12245605d4 100644
--- a/generators/org/jetbrains/jet/generators/tests/GenerateTests.java
+++ b/generators/org/jetbrains/jet/generators/tests/GenerateTests.java
@@ -42,6 +42,7 @@ import org.jetbrains.jet.modules.xml.AbstractModuleXmlParserTest;
import org.jetbrains.jet.plugin.codeInsight.moveUpDown.AbstractCodeMoverTest;
import org.jetbrains.jet.plugin.codeInsight.surroundWith.AbstractSurroundWithTest;
import org.jetbrains.jet.plugin.codeInsight.unwrap.AbstractUnwrapRemoveTest;
+import org.jetbrains.jet.plugin.configuration.AbstractConfigureGradleProjectTest;
import org.jetbrains.jet.plugin.folding.AbstractKotlinFoldingTest;
import org.jetbrains.jet.plugin.hierarchy.AbstractHierarchyTest;
import org.jetbrains.jet.plugin.highlighter.AbstractDeprecatedHighlightingTest;
@@ -455,6 +456,14 @@ public class GenerateTests {
AbstractJetFindUsagesTest.class,
testModelWithPattern("idea/testData/findUsages", "^(.+).0.kt$", "doTest")
);
+
+ generateTest(
+ "idea/tests/",
+ "ConfigureGradleProjectTestGenerated",
+ AbstractConfigureGradleProjectTest.class,
+ new SimpleTestClassModel(new File("idea/testData/configuration/android-gradle"), true, Pattern.compile("(\\w+)_before\\.gradle$"), "doTestAndroidGradle"),
+ new SimpleTestClassModel(new File("idea/testData/configuration/gradle"), true, Pattern.compile("(\\w+)_before\\.gradle$"), "doTestGradle")
+ );
}
private static SimpleTestClassModel testModel(@NotNull String rootPath) {
diff --git a/idea/src/META-INF/gradle.xml b/idea/src/META-INF/gradle.xml
index 8b695f0ed14..0d70c9a7061 100644
--- a/idea/src/META-INF/gradle.xml
+++ b/idea/src/META-INF/gradle.xml
@@ -1,4 +1,6 @@
-
+
+
+
\ No newline at end of file
diff --git a/idea/src/org/jetbrains/jet/plugin/JetPluginUtil.java b/idea/src/org/jetbrains/jet/plugin/JetPluginUtil.java
index b61c437fedd..5a5704dae79 100644
--- a/idea/src/org/jetbrains/jet/plugin/JetPluginUtil.java
+++ b/idea/src/org/jetbrains/jet/plugin/JetPluginUtil.java
@@ -41,6 +41,7 @@ import org.jetbrains.jet.lang.types.ErrorUtils;
import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
+import java.io.File;
import java.util.LinkedList;
public class JetPluginUtil {
@@ -148,4 +149,20 @@ public class JetPluginUtil {
}
return false;
}
+
+ public static boolean isGradleModule(@NotNull Module module) {
+ VirtualFile moduleFile = module.getModuleFile();
+ if (moduleFile == null) return false;
+
+ String moduleFilePath = moduleFile.getPath();
+ String buildGradle = moduleFilePath.replace(moduleFile.getName(), "build.gradle");
+
+ return new File(buildGradle).exists();
+ }
+
+ public static boolean isMavenModule(@NotNull Module module) {
+ // This constant could be acquired from MavenProjectsManager, but we don't want to depend on the Maven plugin...
+ // See MavenProjectsManager.isMavenizedModule()
+ return "true".equals(module.getOptionValue("org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule"));
+ }
}
diff --git a/idea/src/org/jetbrains/jet/plugin/configuration/KotlinAndroidGradleModuleConfigurator.java b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinAndroidGradleModuleConfigurator.java
new file mode 100644
index 00000000000..ead1070f619
--- /dev/null
+++ b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinAndroidGradleModuleConfigurator.java
@@ -0,0 +1,49 @@
+package org.jetbrains.jet.plugin.configuration;
+
+import com.intellij.openapi.module.Module;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.jet.plugin.JetPluginUtil;
+import org.jetbrains.plugins.groovy.lang.psi.GroovyFile;
+import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock;
+
+public class KotlinAndroidGradleModuleConfigurator extends KotlinWithGradleConfigurator {
+ public static final String NAME = "android-gradle";
+
+ private static final String APPLY_KOTLIN_ANDROID = "apply plugin: 'kotlin-android'";
+
+ @NotNull
+ @Override
+ public String getName() {
+ return NAME;
+ }
+
+ @NotNull
+ @Override
+ public String getPresentableText() {
+ return "As Android project with Gradle";
+ }
+
+ @Override
+ public boolean isApplicable(@NotNull Module module) {
+ return JetPluginUtil.isAndroidGradleModule(module);
+ }
+
+ @Override
+ protected String getApplyPluginDirective() {
+ return APPLY_KOTLIN_ANDROID;
+ }
+
+ @Override
+ protected void addSourceSetsBlock(@NotNull GroovyFile file) {
+ GrClosableBlock androidBlock = getAndroidBlock(file);
+ addLastExpressionInBlockIfNeeded(SOURCE_SET, getSourceSetsBlock(androidBlock));
+ }
+
+ @NotNull
+ private static GrClosableBlock getAndroidBlock(@NotNull GroovyFile file) {
+ return getBlockOrCreate(file, "android");
+ }
+
+ KotlinAndroidGradleModuleConfigurator() {
+ }
+}
diff --git a/idea/src/org/jetbrains/jet/plugin/configuration/KotlinGradleModuleConfigurator.java b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinGradleModuleConfigurator.java
new file mode 100644
index 00000000000..5f8f6d57b72
--- /dev/null
+++ b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinGradleModuleConfigurator.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2010-2013 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.jet.plugin.configuration;
+
+import com.intellij.openapi.module.Module;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.jet.plugin.JetPluginUtil;
+import org.jetbrains.plugins.groovy.lang.psi.GroovyFile;
+import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock;
+
+public class KotlinGradleModuleConfigurator extends KotlinWithGradleConfigurator {
+ public static final String NAME = "gradle";
+
+ private static final String APPLY_KOTLIN = "apply plugin: 'kotlin'";
+
+ @NotNull
+ @Override
+ public String getName() {
+ return NAME;
+ }
+
+ @NotNull
+ @Override
+ public String getPresentableText() {
+ return "As Gradle project";
+ }
+
+ @Override
+ public boolean isApplicable(@NotNull Module module) {
+ return JetPluginUtil.isGradleModule(module) &&
+ !JetPluginUtil.isAndroidGradleModule(module);
+ }
+
+ @Override
+ protected String getApplyPluginDirective() {
+ return APPLY_KOTLIN;
+ }
+
+ @Override
+ protected void addSourceSetsBlock(@NotNull GroovyFile file) {
+ GrClosableBlock sourceSetBlock = getSourceSetsBlock(file);
+ addLastExpressionInBlockIfNeeded(SOURCE_SET, sourceSetBlock);
+ }
+
+ KotlinGradleModuleConfigurator() {
+ }
+}
diff --git a/idea/src/org/jetbrains/jet/plugin/configuration/KotlinWithLibraryConfigurator.java b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinWithLibraryConfigurator.java
index 2135aa7d2d3..8e111c1444e 100644
--- a/idea/src/org/jetbrains/jet/plugin/configuration/KotlinWithLibraryConfigurator.java
+++ b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinWithLibraryConfigurator.java
@@ -18,6 +18,7 @@ import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.util.Processor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import org.jetbrains.jet.plugin.JetPluginUtil;
import org.jetbrains.jet.plugin.framework.ui.FileUIUtils;
import java.io.File;
@@ -42,7 +43,7 @@ public abstract class KotlinWithLibraryConfigurator implements KotlinProjectConf
@Override
public boolean isApplicable(@NotNull Module module) {
- return true;
+ return !JetPluginUtil.isAndroidGradleModule(module) && !JetPluginUtil.isMavenModule(module) && !JetPluginUtil.isGradleModule(module);
}
public boolean isJarPresent(@NotNull String dir) {
diff --git a/idea/testData/configuration/android-gradle/androidStudioDefaultShapshot_after.gradle b/idea/testData/configuration/android-gradle/androidStudioDefaultShapshot_after.gradle
new file mode 100644
index 00000000000..45a21422466
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/androidStudioDefaultShapshot_after.gradle
@@ -0,0 +1,42 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ maven {
+ url 'http://oss.sonatype.org/content/repositories/snapshots'
+ }
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+repositories {
+ mavenCentral()
+ maven {
+ url 'http://oss.sonatype.org/content/repositories/snapshots'
+ }
+}
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "17.0.0"
+
+ defaultConfig {
+ minSdkVersion 7
+ targetSdkVersion 16
+ }
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
+
+// VERSION: $VERSION$
diff --git a/idea/testData/configuration/android-gradle/androidStudioDefaultShapshot_before.gradle b/idea/testData/configuration/android-gradle/androidStudioDefaultShapshot_before.gradle
new file mode 100644
index 00000000000..e98c3dfdfa8
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/androidStudioDefaultShapshot_before.gradle
@@ -0,0 +1,29 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+apply plugin: 'android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "17.0.0"
+
+ defaultConfig {
+ minSdkVersion 7
+ targetSdkVersion 16
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+}
+
+// VERSION: 0.1-SNAPSHOT
diff --git a/idea/testData/configuration/android-gradle/androidStudioDefault_after.gradle b/idea/testData/configuration/android-gradle/androidStudioDefault_after.gradle
new file mode 100644
index 00000000000..447cc06f3f0
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/androidStudioDefault_after.gradle
@@ -0,0 +1,34 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "17.0.0"
+
+ defaultConfig {
+ minSdkVersion 7
+ targetSdkVersion 16
+ }
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
diff --git a/idea/testData/configuration/android-gradle/androidStudioDefault_before.gradle b/idea/testData/configuration/android-gradle/androidStudioDefault_before.gradle
new file mode 100644
index 00000000000..c079e92a39c
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/androidStudioDefault_before.gradle
@@ -0,0 +1,27 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+apply plugin: 'android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "17.0.0"
+
+ defaultConfig {
+ minSdkVersion 7
+ targetSdkVersion 16
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+}
diff --git a/idea/testData/configuration/android-gradle/buildConfigs_after.gradle b/idea/testData/configuration/android-gradle/buildConfigs_after.gradle
new file mode 100644
index 00000000000..b985ae1f8f8
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/buildConfigs_after.gradle
@@ -0,0 +1,41 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+android {
+ target = 'android-16'
+ defaultConfig {
+ packageName = 'com.example'
+ signingStoreLocation = 'keystore'
+ signingStorePassword = 'helloworld'
+ signingKeyAlias = 'Key'
+ signingKeyPassword = 'helloworld'
+ }
+ buildTypes {
+ release {
+ buildConfig "public final static boolean IS_LIVE=true;"
+ }
+ debug {
+ buildConfig "public final static boolean IS_LIVE=false;"
+ }
+ }
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+repositories {
+ mavenCentral()
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/buildConfigs_before.gradle b/idea/testData/configuration/android-gradle/buildConfigs_before.gradle
new file mode 100644
index 00000000000..c3dd92612a4
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/buildConfigs_before.gradle
@@ -0,0 +1,29 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+
+apply plugin: 'android'
+
+android {
+ target = 'android-16'
+ defaultConfig {
+ packageName = 'com.example'
+ signingStoreLocation = 'keystore'
+ signingStorePassword = 'helloworld'
+ signingKeyAlias = 'Key'
+ signingKeyPassword = 'helloworld'
+ }
+ buildTypes {
+ release {
+ buildConfig "public final static boolean IS_LIVE=true;"
+ }
+ debug {
+ buildConfig "public final static boolean IS_LIVE=false;"
+ }
+ }
+}
diff --git a/idea/testData/configuration/android-gradle/emptyDependencyList_after.gradle b/idea/testData/configuration/android-gradle/emptyDependencyList_after.gradle
new file mode 100644
index 00000000000..c2795943dea
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/emptyDependencyList_after.gradle
@@ -0,0 +1,25 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
diff --git a/idea/testData/configuration/android-gradle/emptyDependencyList_before.gradle b/idea/testData/configuration/android-gradle/emptyDependencyList_before.gradle
new file mode 100644
index 00000000000..f784dfd5a7f
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/emptyDependencyList_before.gradle
@@ -0,0 +1,18 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ }
+}
+apply plugin: 'android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+}
+
+dependencies {
+}
diff --git a/idea/testData/configuration/android-gradle/emptyFile_after.gradle b/idea/testData/configuration/android-gradle/emptyFile_after.gradle
new file mode 100644
index 00000000000..0593aa0e36d
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/emptyFile_after.gradle
@@ -0,0 +1,21 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+apply plugin: 'kotlin-android'
+repositories {
+ mavenCentral()
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
+android {
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/emptyFile_before.gradle b/idea/testData/configuration/android-gradle/emptyFile_before.gradle
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample0_after.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample0_after.gradle
new file mode 100644
index 00000000000..74a9775e033
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample0_after.gradle
@@ -0,0 +1,55 @@
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+project.ext.fakeProvider = new com.android.tests.basic.buildscript.FakeProvider()
+project.ext.fakeServer = new com.android.tests.basic.buildscript.FakeServer()
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ deviceProvider project.ext.fakeProvider
+ testServer project.ext.fakeServer
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+project.afterEvaluate {
+ configure(fakeInstrumentTest) {
+ doLast {
+ String error = project.ext.fakeProvider.isValid()
+ if (error != null) {
+ throw new GradleException("Failed DeviceProvider usage: " + error)
+ }
+ }
+ }
+
+ configure(fake2Upload) {
+ doLast {
+ String error = project.ext.fakeServer.isValid()
+ if (error != null) {
+ throw new GradleException("Failed TestServer usage: " + error)
+ }
+ }
+ }
+}
+
+dependencies {
+ compile project(':lib')
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
+
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+repositories {
+ mavenCentral()
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample0_before.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample0_before.gradle
new file mode 100644
index 00000000000..d54c6f7e6ab
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample0_before.gradle
@@ -0,0 +1,46 @@
+apply plugin: 'android'
+
+project.ext.fakeProvider = new com.android.tests.basic.buildscript.FakeProvider()
+project.ext.fakeServer = new com.android.tests.basic.buildscript.FakeServer()
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ deviceProvider project.ext.fakeProvider
+ testServer project.ext.fakeServer
+}
+
+project.afterEvaluate {
+ configure(fakeInstrumentTest) {
+ doLast {
+ String error = project.ext.fakeProvider.isValid()
+ if (error != null) {
+ throw new GradleException("Failed DeviceProvider usage: " + error)
+ }
+ }
+ }
+
+ configure(fake2Upload) {
+ doLast {
+ String error = project.ext.fakeServer.isValid()
+ if (error != null) {
+ throw new GradleException("Failed TestServer usage: " + error)
+ }
+ }
+ }
+}
+
+dependencies {
+ compile project(':lib')
+}
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample18_after.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample18_after.gradle
new file mode 100644
index 00000000000..2daa8c73aca
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample18_after.gradle
@@ -0,0 +1,67 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+ debugCompile 'com.android.support:support-v13:13.0.0'
+
+ compile 'com.google.android.gms:play-services:3.1.36'
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ testBuildType "debug"
+
+ signingConfigs {
+ myConfig {
+ storeFile file("debug.keystore")
+ storePassword "android"
+ keyAlias "androiddebugkey"
+ keyPassword "android"
+ }
+ }
+
+ defaultConfig {
+ versionCode 12
+ versionName "2.0"
+ minSdkVersion 16
+ targetSdkVersion 16
+
+ buildConfig "private final static boolean DEFAULT = true;", \
+ "private final static String FOO = \"foo\";"
+ }
+
+ buildTypes {
+ debug {
+ packageNameSuffix ".debug"
+ signingConfig signingConfigs.myConfig
+
+ buildConfig "private final static boolean DEBUG2 = false;"
+ }
+ }
+
+ aaptOptions {
+ noCompress 'txt'
+ ignoreAssetsPattern "!.svn:!.git:!.ds_store:!*.scc:.*:
_*:!CVS:!thumbs.db:!picasa.ini:!*~"
+ }
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample18_before.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample18_before.gradle
new file mode 100644
index 00000000000..48498be4603
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample18_before.gradle
@@ -0,0 +1,60 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+apply plugin: 'android'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+ debugCompile 'com.android.support:support-v13:13.0.0'
+
+ compile 'com.google.android.gms:play-services:3.1.36'
+}
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ testBuildType "debug"
+
+ signingConfigs {
+ myConfig {
+ storeFile file("debug.keystore")
+ storePassword "android"
+ keyAlias "androiddebugkey"
+ keyPassword "android"
+ }
+ }
+
+ defaultConfig {
+ versionCode 12
+ versionName "2.0"
+ minSdkVersion 16
+ targetSdkVersion 16
+
+ buildConfig "private final static boolean DEFAULT = true;", \
+ "private final static String FOO = \"foo\";"
+ }
+
+ buildTypes {
+ debug {
+ packageNameSuffix ".debug"
+ signingConfig signingConfigs.myConfig
+
+ buildConfig "private final static boolean DEBUG2 = false;"
+ }
+ }
+
+ aaptOptions {
+ noCompress 'txt'
+ ignoreAssetsPattern "!.svn:!.git:!.ds_store:!*.scc:.*:_*:!CVS:!thumbs.db:!picasa.ini:!*~"
+ }
+}
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample22_after.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample22_after.gradle
new file mode 100644
index 00000000000..1a397155ea8
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample22_after.gradle
@@ -0,0 +1,59 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ testBuildType = "staging"
+
+ defaultConfig {
+ buildConfig "private final static boolean DEFAULT = true;", \
+ "private final static String FOO = \"foo\";"
+ }
+
+ productFlavors {
+ f1 {
+ packageName = "com.android.tests.flavored.f1"
+ versionName = "1.0.0-f1"
+ buildConfig "private final static String FLAVOR = \"f1\";"
+ }
+ f2 {
+ packageName = "com.android.tests.flavored.f2"
+ versionName = "1.0.0-f2"
+ buildConfig "private final static String FLAVOR = \"f2\";"
+ }
+ }
+
+ buildTypes {
+ debug {
+ packageNameSuffix = ".debug"
+ versionNameSuffix = ".D"
+ buildConfig "private final static boolean DEBUG2 = false;"
+ }
+ staging {
+ packageNameSuffix = ".staging"
+ versionNameSuffix = ".S"
+ signingConfig signingConfigs.debug
+ }
+ }
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+repositories {
+ mavenCentral()
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample22_before.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample22_before.gradle
new file mode 100644
index 00000000000..f3630f1a817
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample22_before.gradle
@@ -0,0 +1,47 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+apply plugin: 'android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ testBuildType = "staging"
+
+ defaultConfig {
+ buildConfig "private final static boolean DEFAULT = true;", \
+ "private final static String FOO = \"foo\";"
+ }
+
+ productFlavors {
+ f1 {
+ packageName = "com.android.tests.flavored.f1"
+ versionName = "1.0.0-f1"
+ buildConfig "private final static String FLAVOR = \"f1\";"
+ }
+ f2 {
+ packageName = "com.android.tests.flavored.f2"
+ versionName = "1.0.0-f2"
+ buildConfig "private final static String FLAVOR = \"f2\";"
+ }
+ }
+
+ buildTypes {
+ debug {
+ packageNameSuffix = ".debug"
+ versionNameSuffix = ".D"
+ buildConfig "private final static boolean DEBUG2 = false;"
+ }
+ staging {
+ packageNameSuffix = ".staging"
+ versionNameSuffix = ".S"
+ signingConfig signingConfigs.debug
+ }
+ }
+}
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample44_after.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample44_after.gradle
new file mode 100644
index 00000000000..39289886783
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample44_after.gradle
@@ -0,0 +1,68 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ sourceSets {
+ main {
+ manifest {
+ // there's only ever one file so srcFile replaces it.
+ srcFile 'AndroidManifest.xml'
+ }
+ java {
+ // writing:
+ // srcDir 'src'
+ // would *add* to the default folder so we use a different syntax
+ srcDirs = ['src']
+ exclude 'some/unwanted/package/**'
+ }
+ res {
+ srcDirs = ['res']
+ }
+ assets {
+ srcDirs = ['assets']
+ }
+ resources {
+ srcDirs = ['src']
+ }
+ aidl {
+ srcDirs = ['src']
+ }
+ renderscript {
+ srcDirs = ['src']
+ }
+ }
+
+ // this moves src/instrumentTest to tests so all folders follow:
+ // tests/java, tests/res, tests/assets, ...
+ // This is a *reset* so it replaces the default paths
+ instrumentTest.setRoot('tests')
+ main.java.srcDirs += 'src/main/kotlin'
+
+ // Could also be done with:
+ //main.manifest.srcFile 'AndroidManifest.xml'
+ //main.java.srcDir 'src'
+ //main.res.srcDir 'res'
+ //main.assets.srcDir 'assets'
+ //main.resources.srcDir 'src'
+ //instrumentTest.java.srcDir 'tests/src'
+ }
+}
+repositories {
+ mavenCentral()
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample44_before.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample44_before.gradle
new file mode 100644
index 00000000000..62fa85435b2
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample44_before.gradle
@@ -0,0 +1,58 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+apply plugin: 'android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ sourceSets {
+ main {
+ manifest {
+ // there's only ever one file so srcFile replaces it.
+ srcFile 'AndroidManifest.xml'
+ }
+ java {
+ // writing:
+ // srcDir 'src'
+ // would *add* to the default folder so we use a different syntax
+ srcDirs = ['src']
+ exclude 'some/unwanted/package/**'
+ }
+ res {
+ srcDirs = ['res']
+ }
+ assets {
+ srcDirs = ['assets']
+ }
+ resources {
+ srcDirs = ['src']
+ }
+ aidl {
+ srcDirs = ['src']
+ }
+ renderscript {
+ srcDirs = ['src']
+ }
+ }
+
+ // this moves src/instrumentTest to tests so all folders follow:
+ // tests/java, tests/res, tests/assets, ...
+ // This is a *reset* so it replaces the default paths
+ instrumentTest.setRoot('tests')
+
+ // Could also be done with:
+ //main.manifest.srcFile 'AndroidManifest.xml'
+ //main.java.srcDir 'src'
+ //main.res.srcDir 'res'
+ //main.assets.srcDir 'assets'
+ //main.resources.srcDir 'src'
+ //instrumentTest.java.srcDir 'tests/src'
+ }
+}
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample50_after.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample50_after.gradle
new file mode 100644
index 00000000000..e073d6aca4e
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample50_after.gradle
@@ -0,0 +1,32 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ sourceSets {
+ main {
+ res {
+ srcDirs 'src/main/res1', 'src/main/res2'
+ }
+ }
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+repositories {
+ mavenCentral()
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample50_before.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample50_before.gradle
new file mode 100644
index 00000000000..8d7b48738ac
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample50_before.gradle
@@ -0,0 +1,22 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+apply plugin: 'android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ sourceSets {
+ main {
+ res {
+ srcDirs 'src/main/res1', 'src/main/res2'
+ }
+ }
+ }
+}
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample58_after.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample58_after.gradle
new file mode 100644
index 00000000000..989a5893b0d
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample58_after.gradle
@@ -0,0 +1,35 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ buildTypes.debug {
+ zipAlign true
+ }
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+android.applicationVariants.each { variant ->
+ variant.outputFile = file("$project.buildDir/${variant.name}.apk")
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample58_before.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample58_before.gradle
new file mode 100644
index 00000000000..3c272fd7110
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample58_before.gradle
@@ -0,0 +1,26 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+apply plugin: 'android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+
+ buildTypes.debug {
+ zipAlign true
+ }
+}
+
+android.applicationVariants.each { variant ->
+ variant.outputFile = file("$project.buildDir/${variant.name}.apk")
+}
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample5_after.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample5_after.gradle
new file mode 100644
index 00000000000..03f736a8b78
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample5_after.gradle
@@ -0,0 +1,54 @@
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+// query for all (non-test) variants and inject a new step in the builds
+android.applicationVariants.each { variant ->
+ // create a task that "handles" the compile classes
+ // does some processing (or not)
+ // and outputs a jar
+ def jarTask = tasks.add(name: "jar${variant.name.capitalize()}", type: Jar) {
+ from variant.javaCompile.destinationDir
+ destinationDir file("${buildDir}/jars/${variant.dirName}")
+ baseName "classes"
+ }
+
+ // this task depends on the compilation task
+ jarTask.dependsOn variant.javaCompile
+
+ // now make the dex task depend on it and use its output
+ variant.dex.dependsOn jarTask
+ variant.dex.sourceFiles = files(jarTask.archivePath).files
+}
+
+if (android.applicationVariants.size() != 2) {
+ throw new GradleException("Wrong number of app variants!")
+}
+
+if (android.testVariants.size() != 1) {
+ throw new GradleException("Wrong number of test variants!")
+}
+
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+repositories {
+ mavenCentral()
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample5_before.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample5_before.gradle
new file mode 100644
index 00000000000..140dc6956c3
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample5_before.gradle
@@ -0,0 +1,42 @@
+apply plugin: 'android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+}
+
+// query for all (non-test) variants and inject a new step in the builds
+android.applicationVariants.each { variant ->
+ // create a task that "handles" the compile classes
+ // does some processing (or not)
+ // and outputs a jar
+ def jarTask = tasks.add(name: "jar${variant.name.capitalize()}", type: Jar) {
+ from variant.javaCompile.destinationDir
+ destinationDir file("${buildDir}/jars/${variant.dirName}")
+ baseName "classes"
+ }
+
+ // this task depends on the compilation task
+ jarTask.dependsOn variant.javaCompile
+
+ // now make the dex task depend on it and use its output
+ variant.dex.dependsOn jarTask
+ variant.dex.sourceFiles = files(jarTask.archivePath).files
+}
+
+if (android.applicationVariants.size() != 2) {
+ throw new GradleException("Wrong number of app variants!")
+}
+
+if (android.testVariants.size() != 1) {
+ throw new GradleException("Wrong number of test variants!")
+}
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample65_after.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample65_after.gradle
new file mode 100644
index 00000000000..d65e95e4679
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample65_after.gradle
@@ -0,0 +1,45 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+
+apply plugin: 'android-library'
+apply plugin: 'kotlin-android'
+apply plugin: 'maven'
+
+repositories {
+ maven { url '../testrepo' }
+ mavenCentral()
+}
+
+dependencies {
+ compile 'com.example.android.multiproject:util:1.0'
+ releaseCompile 'com.google.guava:guava:11.0.2'
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+group = 'com.example.android.multiproject'
+archivesBaseName = 'baseLib'
+version = '1.0'
+
+uploadArchives {
+ repositories {
+ mavenDeployer {
+ repository(url: uri("../testrepo"))
+ }
+ }
+}
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample65_before.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample65_before.gradle
new file mode 100644
index 00000000000..9d991e7340e
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample65_before.gradle
@@ -0,0 +1,38 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+
+apply plugin: 'android-library'
+apply plugin: 'maven'
+
+repositories {
+ maven { url '../testrepo' }
+ mavenCentral()
+}
+
+dependencies {
+ compile 'com.example.android.multiproject:util:1.0'
+ releaseCompile 'com.google.guava:guava:11.0.2'
+}
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+}
+
+group = 'com.example.android.multiproject'
+archivesBaseName = 'baseLib'
+version = '1.0'
+
+uploadArchives {
+ repositories {
+ mavenDeployer {
+ repository(url: uri("../testrepo"))
+ }
+ }
+}
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample8_after.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample8_after.gradle
new file mode 100644
index 00000000000..a8acb01bad1
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample8_after.gradle
@@ -0,0 +1,32 @@
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+//
+// A basic Android application split over a library and a main project.
+//
+dependencies {
+ compile project(':lib')
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
+
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+repositories {
+ mavenCentral()
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/gradleExamples/gradleExample8_before.gradle b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample8_before.gradle
new file mode 100644
index 00000000000..81e7f3dd3a1
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/gradleExamples/gradleExample8_before.gradle
@@ -0,0 +1,23 @@
+apply plugin: 'android'
+
+android {
+ compileSdkVersion 15
+ buildToolsVersion "17.0"
+}
+
+//
+// A basic Android application split over a library and a main project.
+//
+dependencies {
+ compile project(':lib')
+}
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+
diff --git a/idea/testData/configuration/android-gradle/helloWorld_after.gradle b/idea/testData/configuration/android-gradle/helloWorld_after.gradle
new file mode 100644
index 00000000000..1a8f01e1656
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/helloWorld_after.gradle
@@ -0,0 +1,26 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+android {
+ target = 'android-16'
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+repositories {
+ mavenCentral()
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/helloWorld_before.gradle b/idea/testData/configuration/android-gradle/helloWorld_before.gradle
new file mode 100644
index 00000000000..2eb4172df89
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/helloWorld_before.gradle
@@ -0,0 +1,14 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+
+apply plugin: 'android'
+
+android {
+ target = 'android-16'
+}
diff --git a/idea/testData/configuration/android-gradle/libraryFile_after.gradle b/idea/testData/configuration/android-gradle/libraryFile_after.gradle
new file mode 100644
index 00000000000..76824147262
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/libraryFile_after.gradle
@@ -0,0 +1,46 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.2'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+
+apply plugin: 'android-library'
+apply plugin: 'kotlin-android'
+
+android {
+ target = 'android-16'
+ sourceSets {
+ main {
+ manifest {
+ srcFile 'AndroidManifest.xml'
+ }
+ java {
+ srcDir 'src'
+ }
+ res {
+ srcDir 'res'
+ }
+ assets {
+ srcDir 'assets'
+ }
+ resources {
+ srcDir 'src'
+ }
+ aidl {
+ srcDir 'src'
+ }
+ }
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+repositories {
+ mavenCentral()
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/libraryFile_before.gradle b/idea/testData/configuration/android-gradle/libraryFile_before.gradle
new file mode 100644
index 00000000000..fe075f790de
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/libraryFile_before.gradle
@@ -0,0 +1,36 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.2'
+ }
+}
+
+apply plugin: 'android-library'
+
+android {
+ target = 'android-16'
+ sourceSets {
+ main {
+ manifest {
+ srcFile 'AndroidManifest.xml'
+ }
+ java {
+ srcDir 'src'
+ }
+ res {
+ srcDir 'res'
+ }
+ assets {
+ srcDir 'assets'
+ }
+ resources {
+ srcDir 'src'
+ }
+ aidl {
+ srcDir 'src'
+ }
+ }
+ }
+}
diff --git a/idea/testData/configuration/android-gradle/missedApplyAndroidStatement_after.gradle b/idea/testData/configuration/android-gradle/missedApplyAndroidStatement_after.gradle
new file mode 100644
index 00000000000..064d152a131
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/missedApplyAndroidStatement_after.gradle
@@ -0,0 +1,33 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+apply plugin: 'kotlin-android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "17.0.0"
+
+ defaultConfig {
+ minSdkVersion 7
+ targetSdkVersion 16
+ }
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
diff --git a/idea/testData/configuration/android-gradle/missedApplyAndroidStatement_before.gradle b/idea/testData/configuration/android-gradle/missedApplyAndroidStatement_before.gradle
new file mode 100644
index 00000000000..ceca813e77f
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/missedApplyAndroidStatement_before.gradle
@@ -0,0 +1,26 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "17.0.0"
+
+ defaultConfig {
+ minSdkVersion 7
+ targetSdkVersion 16
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+}
diff --git a/idea/testData/configuration/android-gradle/missedBuildscriptBlock_after.gradle b/idea/testData/configuration/android-gradle/missedBuildscriptBlock_after.gradle
new file mode 100644
index 00000000000..e181ac8552d
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/missedBuildscriptBlock_after.gradle
@@ -0,0 +1,33 @@
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "17.0.0"
+
+ defaultConfig {
+ minSdkVersion 7
+ targetSdkVersion 16
+ }
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/missedBuildscriptBlock_before.gradle b/idea/testData/configuration/android-gradle/missedBuildscriptBlock_before.gradle
new file mode 100644
index 00000000000..620f419d7bb
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/missedBuildscriptBlock_before.gradle
@@ -0,0 +1,19 @@
+apply plugin: 'android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "17.0.0"
+
+ defaultConfig {
+ minSdkVersion 7
+ targetSdkVersion 16
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+}
diff --git a/idea/testData/configuration/android-gradle/missedRepositoriesInBuildscriptBlock_after.gradle b/idea/testData/configuration/android-gradle/missedRepositoriesInBuildscriptBlock_after.gradle
new file mode 100644
index 00000000000..c8f38accf81
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/missedRepositoriesInBuildscriptBlock_after.gradle
@@ -0,0 +1,41 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+ repositories {
+ maven {
+ url 'http://oss.sonatype.org/content/repositories/snapshots'
+ }
+ }
+}
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+repositories {
+ mavenCentral()
+ maven {
+ url 'http://oss.sonatype.org/content/repositories/snapshots'
+ }
+}
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "17.0.0"
+
+ defaultConfig {
+ minSdkVersion 7
+ targetSdkVersion 16
+ }
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
+
+// VERSION: $VERSION$
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/missedRepositoriesInBuildscriptBlock_before.gradle b/idea/testData/configuration/android-gradle/missedRepositoriesInBuildscriptBlock_before.gradle
new file mode 100644
index 00000000000..35362029500
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/missedRepositoriesInBuildscriptBlock_before.gradle
@@ -0,0 +1,26 @@
+buildscript {
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+apply plugin: 'android'
+
+repositories {
+ mavenCentral()
+}
+
+android {
+ compileSdkVersion 17
+ buildToolsVersion "17.0.0"
+
+ defaultConfig {
+ minSdkVersion 7
+ targetSdkVersion 16
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:13.0.0'
+}
+
+// VERSION: 0.1-SNAPSHOT
diff --git a/idea/testData/configuration/android-gradle/productFlavor_after.gradle b/idea/testData/configuration/android-gradle/productFlavor_after.gradle
new file mode 100644
index 00000000000..132ff56c844
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/productFlavor_after.gradle
@@ -0,0 +1,34 @@
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+
+apply plugin: 'android'
+apply plugin: 'kotlin-android'
+
+android {
+ target = 'android-16'
+ productFlavors {
+ playstore {
+ packageName = 'com.example.android.gradle.productflavors.playstore'
+ }
+ amazonappstore {
+ packageName = 'com.example.android.gradle.productflavors.amazonappstore'
+ }
+ }
+ sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+ }
+}
+repositories {
+ mavenCentral()
+}
+dependencies {
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/android-gradle/productFlavor_before.gradle b/idea/testData/configuration/android-gradle/productFlavor_before.gradle
new file mode 100644
index 00000000000..be0124e182e
--- /dev/null
+++ b/idea/testData/configuration/android-gradle/productFlavor_before.gradle
@@ -0,0 +1,22 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.5.+'
+ }
+}
+
+apply plugin: 'android'
+
+android {
+ target = 'android-16'
+ productFlavors {
+ playstore {
+ packageName = 'com.example.android.gradle.productflavors.playstore'
+ }
+ amazonappstore {
+ packageName = 'com.example.android.gradle.productflavors.amazonappstore'
+ }
+ }
+}
diff --git a/idea/testData/configuration/gradle/default_after.gradle b/idea/testData/configuration/gradle/default_after.gradle
new file mode 100644
index 00000000000..34d2a55a6af
--- /dev/null
+++ b/idea/testData/configuration/gradle/default_after.gradle
@@ -0,0 +1,26 @@
+apply plugin: 'java'
+apply plugin: 'kotlin'
+
+sourceCompatibility = 1.5
+version = '1.0'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ testCompile group: 'junit', name: 'junit', version: '4.11'
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/gradle/default_before.gradle b/idea/testData/configuration/gradle/default_before.gradle
new file mode 100644
index 00000000000..072e5e57717
--- /dev/null
+++ b/idea/testData/configuration/gradle/default_before.gradle
@@ -0,0 +1,12 @@
+apply plugin: 'java'
+
+sourceCompatibility = 1.5
+version = '1.0'
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ testCompile group: 'junit', name: 'junit', version: '4.11'
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/gradle/missedLibrary_after.gradle b/idea/testData/configuration/gradle/missedLibrary_after.gradle
new file mode 100644
index 00000000000..0f860a376df
--- /dev/null
+++ b/idea/testData/configuration/gradle/missedLibrary_after.gradle
@@ -0,0 +1,26 @@
+apply plugin: 'java'
+apply plugin: 'kotlin'
+
+sourceCompatibility = 1.5
+version = '1.0'
+
+dependencies {
+ testCompile group: 'junit', name: 'junit', version: '4.11'
+ compile "org.jetbrains.kotlin:kotlin-stdlib:$ext.kotlin_version"
+}
+
+buildscript {
+ ext.kotlin_version = '$VERSION$'
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+}
+repositories {
+ mavenCentral()
+}
\ No newline at end of file
diff --git a/idea/testData/configuration/gradle/missedLibrary_before.gradle b/idea/testData/configuration/gradle/missedLibrary_before.gradle
new file mode 100644
index 00000000000..280d3ff79be
--- /dev/null
+++ b/idea/testData/configuration/gradle/missedLibrary_before.gradle
@@ -0,0 +1,21 @@
+apply plugin: 'java'
+apply plugin: 'kotlin'
+
+sourceCompatibility = 1.5
+version = '1.0'
+
+dependencies {
+ testCompile group: 'junit', name: 'junit', version: '4.11'
+}
+
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$ext.kotlin_version"
+ }
+}
+sourceSets {
+ main.java.srcDirs += 'src/main/kotlin'
+}
diff --git a/idea/tests/org/jetbrains/jet/plugin/configuration/AbstractConfigureGradleProjectTest.java b/idea/tests/org/jetbrains/jet/plugin/configuration/AbstractConfigureGradleProjectTest.java
new file mode 100644
index 00000000000..a411ba7ba6f
--- /dev/null
+++ b/idea/tests/org/jetbrains/jet/plugin/configuration/AbstractConfigureGradleProjectTest.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2010-2013 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.jet.plugin.configuration;
+
+import com.intellij.testFramework.LightCodeInsightTestCase;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.jet.InTextDirectivesUtils;
+import org.jetbrains.plugins.groovy.lang.psi.GroovyFile;
+
+public abstract class AbstractConfigureGradleProjectTest extends LightCodeInsightTestCase {
+ private static final String DEFAULT_VERSION = "default_version";
+
+ public void doTestAndroidGradle(@NotNull String path) throws Exception {
+ doTest(path, new KotlinAndroidGradleModuleConfigurator());
+ }
+
+ public void doTestGradle(@NotNull String path) throws Exception {
+ doTest(path, new KotlinGradleModuleConfigurator());
+ }
+
+ private void doTest(@NotNull String path, @NotNull KotlinWithGradleConfigurator configurator) throws Exception {
+ configureByFile(path);
+ GroovyFile groovyFile = (GroovyFile) getFile();
+
+ String versionFromFile = InTextDirectivesUtils.findStringWithPrefixes(groovyFile.getText(), "// VERSION:");
+ String version = versionFromFile != null ? versionFromFile : DEFAULT_VERSION;
+
+ configurator.changeGradleFile(groovyFile, version);
+
+ assertSameLinesWithFile(path.replace("before", "after"), groovyFile.getText().replace(version, "$VERSION$"));
+ }
+
+ @NotNull
+ @Override
+ protected String getTestDataPath() {
+ return "";
+ }
+}
diff --git a/idea/tests/org/jetbrains/jet/plugin/configuration/ConfigureGradleProjectTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/configuration/ConfigureGradleProjectTestGenerated.java
new file mode 100644
index 00000000000..eea657b5a94
--- /dev/null
+++ b/idea/tests/org/jetbrains/jet/plugin/configuration/ConfigureGradleProjectTestGenerated.java
@@ -0,0 +1,182 @@
+/*
+ * Copyright 2010-2013 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.jet.plugin.configuration;
+
+import junit.framework.Assert;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import java.io.File;
+import java.util.regex.Pattern;
+import org.jetbrains.jet.JetTestUtils;
+import org.jetbrains.jet.test.InnerTestClasses;
+import org.jetbrains.jet.test.TestMetadata;
+
+import org.jetbrains.jet.plugin.configuration.AbstractConfigureGradleProjectTest;
+
+/** This class is generated by {@link org.jetbrains.jet.generators.tests.GenerateTests}. DO NOT MODIFY MANUALLY */
+@SuppressWarnings("all")
+@InnerTestClasses({ConfigureGradleProjectTestGenerated.Android_gradle.class, ConfigureGradleProjectTestGenerated.Gradle.class})
+public class ConfigureGradleProjectTestGenerated extends AbstractConfigureGradleProjectTest {
+ @TestMetadata("idea/testData/configuration/android-gradle")
+ @InnerTestClasses({Android_gradle.GradleExamples.class})
+ public static class Android_gradle extends AbstractConfigureGradleProjectTest {
+ public void testAllFilesPresentInAndroid_gradle() throws Exception {
+ JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/configuration/android-gradle"), Pattern.compile("(\\w+)_before\\.gradle$"), true);
+ }
+
+ @TestMetadata("androidStudioDefault_before.gradle")
+ public void testAndroidStudioDefault() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/androidStudioDefault_before.gradle");
+ }
+
+ @TestMetadata("androidStudioDefaultShapshot_before.gradle")
+ public void testAndroidStudioDefaultShapshot() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/androidStudioDefaultShapshot_before.gradle");
+ }
+
+ @TestMetadata("buildConfigs_before.gradle")
+ public void testBuildConfigs() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/buildConfigs_before.gradle");
+ }
+
+ @TestMetadata("emptyDependencyList_before.gradle")
+ public void testEmptyDependencyList() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/emptyDependencyList_before.gradle");
+ }
+
+ @TestMetadata("emptyFile_before.gradle")
+ public void testEmptyFile() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/emptyFile_before.gradle");
+ }
+
+ @TestMetadata("helloWorld_before.gradle")
+ public void testHelloWorld() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/helloWorld_before.gradle");
+ }
+
+ @TestMetadata("libraryFile_before.gradle")
+ public void testLibraryFile() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/libraryFile_before.gradle");
+ }
+
+ @TestMetadata("missedApplyAndroidStatement_before.gradle")
+ public void testMissedApplyAndroidStatement() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/missedApplyAndroidStatement_before.gradle");
+ }
+
+ @TestMetadata("missedBuildscriptBlock_before.gradle")
+ public void testMissedBuildscriptBlock() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/missedBuildscriptBlock_before.gradle");
+ }
+
+ @TestMetadata("missedRepositoriesInBuildscriptBlock_before.gradle")
+ public void testMissedRepositoriesInBuildscriptBlock() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/missedRepositoriesInBuildscriptBlock_before.gradle");
+ }
+
+ @TestMetadata("productFlavor_before.gradle")
+ public void testProductFlavor() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/productFlavor_before.gradle");
+ }
+
+ @TestMetadata("idea/testData/configuration/android-gradle/gradleExamples")
+ public static class GradleExamples extends AbstractConfigureGradleProjectTest {
+ public void testAllFilesPresentInGradleExamples() throws Exception {
+ JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/configuration/android-gradle/gradleExamples"), Pattern.compile("(\\w+)_before\\.gradle$"), true);
+ }
+
+ @TestMetadata("gradleExample0_before.gradle")
+ public void testGradleExample0() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/gradleExamples/gradleExample0_before.gradle");
+ }
+
+ @TestMetadata("gradleExample18_before.gradle")
+ public void testGradleExample18() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/gradleExamples/gradleExample18_before.gradle");
+ }
+
+ @TestMetadata("gradleExample22_before.gradle")
+ public void testGradleExample22() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/gradleExamples/gradleExample22_before.gradle");
+ }
+
+ @TestMetadata("gradleExample44_before.gradle")
+ public void testGradleExample44() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/gradleExamples/gradleExample44_before.gradle");
+ }
+
+ @TestMetadata("gradleExample5_before.gradle")
+ public void testGradleExample5() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/gradleExamples/gradleExample5_before.gradle");
+ }
+
+ @TestMetadata("gradleExample50_before.gradle")
+ public void testGradleExample50() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/gradleExamples/gradleExample50_before.gradle");
+ }
+
+ @TestMetadata("gradleExample58_before.gradle")
+ public void testGradleExample58() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/gradleExamples/gradleExample58_before.gradle");
+ }
+
+ @TestMetadata("gradleExample65_before.gradle")
+ public void testGradleExample65() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/gradleExamples/gradleExample65_before.gradle");
+ }
+
+ @TestMetadata("gradleExample8_before.gradle")
+ public void testGradleExample8() throws Exception {
+ doTestAndroidGradle("idea/testData/configuration/android-gradle/gradleExamples/gradleExample8_before.gradle");
+ }
+
+ }
+
+ public static Test innerSuite() {
+ TestSuite suite = new TestSuite("Android_gradle");
+ suite.addTestSuite(Android_gradle.class);
+ suite.addTestSuite(GradleExamples.class);
+ return suite;
+ }
+ }
+
+ @TestMetadata("idea/testData/configuration/gradle")
+ public static class Gradle extends AbstractConfigureGradleProjectTest {
+ public void testAllFilesPresentInGradle() throws Exception {
+ JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/configuration/gradle"), Pattern.compile("(\\w+)_before\\.gradle$"), true);
+ }
+
+ @TestMetadata("default_before.gradle")
+ public void testDefault() throws Exception {
+ doTestGradle("idea/testData/configuration/gradle/default_before.gradle");
+ }
+
+ @TestMetadata("missedLibrary_before.gradle")
+ public void testMissedLibrary() throws Exception {
+ doTestGradle("idea/testData/configuration/gradle/missedLibrary_before.gradle");
+ }
+
+ }
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite("ConfigureGradleProjectTestGenerated");
+ suite.addTest(Android_gradle.innerSuite());
+ suite.addTestSuite(Gradle.class);
+ return suite;
+ }
+}