Fixup for 9b861739 (the fix for KT-35942)

* Don't include the JS friend paths into the classpath
* Fix binary compatibility with Gradle < 5.1

Issue #KT-35942
This commit is contained in:
Sergey Igushkin
2020-02-19 23:08:20 +03:00
parent 3921613956
commit 0e970407a4
2 changed files with 7 additions and 3 deletions
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.gradle.plugin.sources.getSourceSetHierarchy
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
import org.jetbrains.kotlin.gradle.tasks.locateTask import org.jetbrains.kotlin.gradle.tasks.locateTask
import org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation import org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation
import org.jetbrains.kotlin.gradle.utils.archivePathCompatible
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
import java.io.File import java.io.File
import java.util.* import java.util.*
@@ -211,7 +212,7 @@ abstract class AbstractKotlinCompilation<T : KotlinCommonOptions>(
// that depends on this module's production part, include the main artifact in the friend artifacts, lazily: // that depends on this module's production part, include the main artifact in the friend artifacts, lazily:
files( files(
provider { provider {
listOfNotNull(tasks.withType(AbstractArchiveTask::class.java).findByName(target.artifactsTaskName)?.archiveFile) listOfNotNull(tasks.withType(AbstractArchiveTask::class.java).findByName(target.artifactsTaskName)?.archivePathCompatible)
} }
) )
} else files() } else files()
@@ -548,7 +548,10 @@ open class Kotlin2JsCompile : AbstractKotlinCompile<K2JSCompilerArguments>(), Ko
internal val friendDependencies: List<String> internal val friendDependencies: List<String>
get() { get() {
val filter = libraryFilter val filter = libraryFilter
return friendPaths.filter { filter(File(it)) } return friendPaths.filter {
val file = File(it)
file.exists() && filter(file)
}
} }
@Suppress("unused") @Suppress("unused")
@@ -605,7 +608,7 @@ open class Kotlin2JsCompile : AbstractKotlinCompile<K2JSCompilerArguments>(), Ko
.filter { it.exists() && libraryFilter(it) } .filter { it.exists() && libraryFilter(it) }
.map { it.canonicalPath } .map { it.canonicalPath }
args.libraries = (dependencies + friendDependencies).distinct().let { args.libraries = dependencies.distinct().let {
if (it.isNotEmpty()) if (it.isNotEmpty())
it.joinToString(File.pathSeparator) else it.joinToString(File.pathSeparator) else
null null