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.locateTask
import org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation
import org.jetbrains.kotlin.gradle.utils.archivePathCompatible
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
import java.io.File
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:
files(
provider {
listOfNotNull(tasks.withType(AbstractArchiveTask::class.java).findByName(target.artifactsTaskName)?.archiveFile)
listOfNotNull(tasks.withType(AbstractArchiveTask::class.java).findByName(target.artifactsTaskName)?.archivePathCompatible)
}
)
} else files()
@@ -548,7 +548,10 @@ open class Kotlin2JsCompile : AbstractKotlinCompile<K2JSCompilerArguments>(), Ko
internal val friendDependencies: List<String>
get() {
val filter = libraryFilter
return friendPaths.filter { filter(File(it)) }
return friendPaths.filter {
val file = File(it)
file.exists() && filter(file)
}
}
@Suppress("unused")
@@ -605,7 +608,7 @@ open class Kotlin2JsCompile : AbstractKotlinCompile<K2JSCompilerArguments>(), Ko
.filter { it.exists() && libraryFilter(it) }
.map { it.canonicalPath }
args.libraries = (dependencies + friendDependencies).distinct().let {
args.libraries = dependencies.distinct().let {
if (it.isNotEmpty())
it.joinToString(File.pathSeparator) else
null