diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/gradle.properties b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/gradle.properties index a4a181c3de2..e906b3f6605 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/gradle.properties +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/gradle.properties @@ -1 +1,3 @@ -kotlin.tests.individualTaskReports=true \ No newline at end of file +kotlin.tests.individualTaskReports=true +#because of dependency (kotlinx-html) which is not klib yet +kotlin.js.mode=legacy \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/providerApiUtils.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/providerApiUtils.kt index 131d218e850..cda490b8400 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/providerApiUtils.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/providerApiUtils.kt @@ -40,15 +40,18 @@ internal fun Project.optionalProvider(initialize: () -> T?): ReadOnlyPropert // Before 5.0 fileProperty is created via ProjectLayout // https://docs.gradle.org/current/javadoc/org/gradle/api/model/ObjectFactory.html#fileProperty-- -internal fun Project.newFileProperty(initialize: (() -> File)? = null): RegularFileProperty = - if (isGradleVersionAtLeast(5, 0)) { - project.objects.fileProperty().apply { - if (initialize != null) { - set(provider { RegularFile(initialize) }) - } - } +internal fun Project.newFileProperty(initialize: (() -> File)? = null): RegularFileProperty { + val regularFileProperty = if (isGradleVersionAtLeast(5, 0)) { + project.objects.fileProperty() } else { val projectLayoutClass = Class.forName("org.gradle.api.file.ProjectLayout") val filePropertyMethod = projectLayoutClass.getMethod("fileProperty") filePropertyMethod(project.layout) as RegularFileProperty - } \ No newline at end of file + } + + return regularFileProperty.apply { + if (initialize != null) { + set(provider { RegularFile(initialize) }) + } + } +} \ No newline at end of file