From bef66d93dd73996f960cb71b7eab5a05de88fa35 Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Thu, 11 Oct 2018 17:00:52 +0300 Subject: [PATCH] Fix 'No value has been specified for this provider' error --- .../plugin/experimental/plugins/KotlinNativeBasePlugin.kt | 6 +++++- .../src/test/kotlin/ExperimentalPluginTests.kt | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/plugins/KotlinNativeBasePlugin.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/plugins/KotlinNativeBasePlugin.kt index 1cfa1a7d0bf..a677e456d89 100644 --- a/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/plugins/KotlinNativeBasePlugin.kt +++ b/tools/kotlin-native-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/experimental/plugins/KotlinNativeBasePlugin.kt @@ -314,7 +314,6 @@ class KotlinNativeBasePlugin: Plugin { // TODO: Deal with compiler downloading. // Apply base plugins project.pluginManager.apply(LifecycleBasePlugin::class.java) - project.pluginManager.apply(NativeBasePlugin::class.java) checkGradleMetadataFeature() checkGradleVersion() @@ -322,6 +321,11 @@ class KotlinNativeBasePlugin: Plugin { setUpMatchingStrategy() addCompilationTasks() + + // The NativeBasePlugin accesses some properties which are set by the methods above + // (e.g. linkFile for libraries). Thus we have to apply it after setting there properties. + project.pluginManager.apply(NativeBasePlugin::class.java) + addInteropTasks() addTargetInfoTask() } diff --git a/tools/kotlin-native-gradle-plugin/src/test/kotlin/ExperimentalPluginTests.kt b/tools/kotlin-native-gradle-plugin/src/test/kotlin/ExperimentalPluginTests.kt index d16030f6997..c7fad1def67 100644 --- a/tools/kotlin-native-gradle-plugin/src/test/kotlin/ExperimentalPluginTests.kt +++ b/tools/kotlin-native-gradle-plugin/src/test/kotlin/ExperimentalPluginTests.kt @@ -316,6 +316,7 @@ class ExperimentalPluginTests { plugins { id 'kotlin-native' id 'maven-publish' + id 'signing' } group 'test'