From 8eca3c8aa847631c2d717dd4ed8c3f4844b7e76d Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Sun, 24 May 2020 22:49:17 +0300 Subject: [PATCH] Fixed building MPP model if project root directory does not exist --- .../src/KotlinMPPGradleModelBuilder.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt index 542d2ca70a5..9395970699b 100644 --- a/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt +++ b/idea/kotlin-gradle-tooling/src/KotlinMPPGradleModelBuilder.kt @@ -148,9 +148,11 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService { val androidDeps = buildAndroidDeps(kotlinExt.javaClass.classLoader, project) // Some performance optimisation: do not build metadata dependencies if source set is not common - val doBuildMetadataDependencies = + val doBuildMetadataDependencies = try { project.properties["build_metadata_dependencies_for_actualised_source_sets"]?.toString()?.toBoolean() - ?: DEFAULT_BUILD_METADATA_DEPENDENCIES_FOR_ACTUALISED_SOURCE_SETS + } catch (_: Exception) { + null + } ?: DEFAULT_BUILD_METADATA_DEPENDENCIES_FOR_ACTUALISED_SOURCE_SETS val allSourceSetsProtos = sourceSets.mapNotNull { buildSourceSet(it, dependencyResolver, project, dependencyMapper, androidDeps) } val allSourceSets = if (doBuildMetadataDependencies) { allSourceSetsProtos.map { proto -> proto.buildKotlinSourceSetImpl(true) } @@ -176,7 +178,11 @@ class KotlinMPPGradleModelBuilder : ModelBuilderService { } private fun buildAndroidDeps(classLoader: ClassLoader, project: Project): Map>? { - val includeAndroidDeps = project.properties["kotlin.include.android.dependencies"]?.toString()?.toBoolean() == true + val includeAndroidDeps = try { + project.properties["kotlin.include.android.dependencies"]?.toString()?.toBoolean() == true + } catch (_: Exception) { + false + } if (includeAndroidDeps) { try { val resolverClass = classLoader.loadClass("org.jetbrains.kotlin.gradle.targets.android.internal.AndroidDependencyResolver")