Misc: Fix Android SDK path in Gradle import tests

This commit is contained in:
Alexey Sedunov
2018-02-01 18:50:07 +03:00
parent 7995ae05c5
commit d51da8bafd
3 changed files with 11 additions and 4 deletions
@@ -37,6 +37,7 @@ import com.intellij.psi.impl.PsiFileFactoryImpl;
import com.intellij.rt.execution.junit.FileComparisonFailure; import com.intellij.rt.execution.junit.FileComparisonFailure;
import com.intellij.testFramework.LightVirtualFile; import com.intellij.testFramework.LightVirtualFile;
import com.intellij.testFramework.TestDataFile; import com.intellij.testFramework.TestDataFile;
import com.intellij.util.PathUtil;
import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.ContainerUtil;
import junit.framework.TestCase; import junit.framework.TestCase;
import kotlin.collections.CollectionsKt; import kotlin.collections.CollectionsKt;
@@ -377,6 +378,7 @@ public class KotlinTestUtils {
return androidJarFile; return androidJarFile;
} }
@NotNull
public static File findAndroidSdk() { public static File findAndroidSdk() {
String androidSdkProp = System.getProperty("android.sdk"); String androidSdkProp = System.getProperty("android.sdk");
File androidSdkDir = androidSdkProp == null ? null : new File(androidSdkProp); File androidSdkDir = androidSdkProp == null ? null : new File(androidSdkProp);
@@ -389,6 +391,10 @@ public class KotlinTestUtils {
return androidSdkDir; return androidSdkDir;
} }
public static String getAndroidSdkSystemIndependentPath() {
return PathUtil.toSystemIndependentName(findAndroidSdk().getAbsolutePath());
}
public static File getAnnotationsJar() { public static File getAnnotationsJar() {
return new File(getHomeDirectory(), "compiler/testData/mockJDK/jre/lib/annotations.jar"); return new File(getHomeDirectory(), "compiler/testData/mockJDK/jre/lib/annotations.jar");
} }
@@ -471,7 +471,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
} }
""") """)
createProjectSubFile("local.properties", """ createProjectSubFile("local.properties", """
sdk.dir=/${KotlinTestUtils.findAndroidSdk()} sdk.dir=/${KotlinTestUtils.getAndroidSdkSystemIndependentPath()}
""") """)
@@ -649,7 +649,7 @@ class MultiplatformProjectImportingTest : GradleImportingTestCase() {
} }
""") """)
createProjectSubFile("local.properties", """ createProjectSubFile("local.properties", """
sdk.dir=/${KotlinTestUtils.findAndroidSdk()} sdk.dir=/${KotlinTestUtils.getAndroidSdkSystemIndependentPath()}
""") """)
importProject() importProject()
@@ -26,6 +26,7 @@ import com.intellij.openapi.roots.ModuleRootManager
import com.intellij.openapi.roots.OrderRootType import com.intellij.openapi.roots.OrderRootType
import com.intellij.openapi.roots.impl.libraries.LibraryEx import com.intellij.openapi.roots.impl.libraries.LibraryEx
import com.intellij.openapi.util.text.StringUtil import com.intellij.openapi.util.text.StringUtil
import com.intellij.util.PathUtil
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2MetadataCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2MetadataCompilerArguments
@@ -1109,7 +1110,7 @@ compileTestKotlin {
include ':js-module' include ':js-module'
""") """)
createProjectSubFile("local.properties", """ createProjectSubFile("local.properties", """
sdk.dir=/${KotlinTestUtils.findAndroidSdk()} sdk.dir=/${KotlinTestUtils.getAndroidSdkSystemIndependentPath()}
""") """)
importProject() importProject()
@@ -1178,7 +1179,7 @@ compileTestKotlin {
} }
""") """)
createProjectSubFile("local.properties", """ createProjectSubFile("local.properties", """
sdk.dir=/${KotlinTestUtils.findAndroidSdk()} sdk.dir=/${KotlinTestUtils.getAndroidSdkSystemIndependentPath()}
""") """)
createProjectSubFile("src/main/AndroidManifest.xml", """ createProjectSubFile("src/main/AndroidManifest.xml", """
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"