[Gradle] KotlinCompilerArgumentsProducer: Merge PluginClasspath & DependencyClasspath
KTIJ-24976
This commit is contained in:
committed by
Space Team
parent
1bbd135de8
commit
86c33ec97c
+1
-2
@@ -83,6 +83,5 @@ interface CompilerArgumentAware<T : CommonToolArguments> : KotlinCompilerArgumen
|
||||
|
||||
private val includedArgumentTypes = setOf(
|
||||
ArgumentType.Primitive,
|
||||
ArgumentType.PluginClasspath,
|
||||
ArgumentType.DependencyClasspath,
|
||||
ArgumentType.Classpath,
|
||||
)
|
||||
+1
-3
@@ -126,15 +126,13 @@ abstract class KaptGenerateStubsTask @Inject constructor(
|
||||
args.destinationAsFile = destinationDirectory.get().asFile
|
||||
}
|
||||
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.PluginClasspath) { args ->
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.Classpath) { args ->
|
||||
args.pluginClasspaths = tryLenient {
|
||||
listOfNotNull(
|
||||
pluginClasspath, kotlinPluginData?.orNull?.classpath
|
||||
).reduce(FileCollection::plus).toPathsArray()
|
||||
}
|
||||
}
|
||||
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.DependencyClasspath) { args ->
|
||||
args.classpathAsList = tryLenient { libraries.toList().filter { it.exists() } }.orEmpty()
|
||||
args.friendPaths = friendPaths.toPathsArray()
|
||||
}
|
||||
|
||||
+1
-3
@@ -5,7 +5,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin
|
||||
|
||||
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
|
||||
import org.jetbrains.kotlin.cli.common.arguments.CommonToolArguments
|
||||
import org.jetbrains.kotlin.gradle.InternalKotlinGradlePluginApi
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilerArgumentsProducer.ContributeCompilerArgumentsContext
|
||||
@@ -17,8 +16,7 @@ interface KotlinCompilerArgumentsProducer {
|
||||
|
||||
enum class ArgumentType {
|
||||
Primitive,
|
||||
DependencyClasspath,
|
||||
PluginClasspath,
|
||||
Classpath,
|
||||
Sources;
|
||||
|
||||
companion object {
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ internal class IdeCompilerArgumentsResolverImpl(
|
||||
isLenient = true,
|
||||
includeArgumentTypes = setOfNotNull(
|
||||
KotlinCompilerArgumentsProducer.ArgumentType.Primitive,
|
||||
KotlinCompilerArgumentsProducer.ArgumentType.DependencyClasspath
|
||||
KotlinCompilerArgumentsProducer.ArgumentType.Classpath
|
||||
.takeIf { extension !is KotlinMultiplatformExtension }
|
||||
.takeIf { producer is KotlinCompile }
|
||||
.takeIf { !extension.project.hasAndroidPlugin }
|
||||
|
||||
+1
-4
@@ -226,11 +226,8 @@ constructor(
|
||||
KotlinCommonCompilerToolOptionsHelper.fillCompilerArguments(toolOptions, args)
|
||||
}
|
||||
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.PluginClasspath) { args ->
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.Classpath) { args ->
|
||||
args.pluginClasspaths = compilerPlugins.flatMap { classpath -> tryLenient { classpath.files } ?: emptySet() }.toPathsArray()
|
||||
}
|
||||
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.DependencyClasspath) { args ->
|
||||
args.libraries = tryLenient { libraries.files.filterKlibsPassedToCompiler() }?.toPathsArray()
|
||||
args.exportedLibraries = tryLenient { exportLibraries.files.filterKlibsPassedToCompiler() }?.toPathsArray()
|
||||
args.friendModules = tryLenient { friendModule.files.toList().takeIf { it.isNotEmpty() } }
|
||||
|
||||
+1
-3
@@ -454,11 +454,9 @@ internal constructor(
|
||||
KotlinNativeCompilerOptionsHelper.fillCompilerArguments(compilerOptions, args)
|
||||
}
|
||||
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.PluginClasspath) { args ->
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.Classpath) { args ->
|
||||
args.pluginClasspaths = compilerPlugins.flatMap { classpath -> tryLenient { classpath.files } ?: emptySet() }.toPathsArray()
|
||||
}
|
||||
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.DependencyClasspath) { args ->
|
||||
args.libraries = tryLenient { libraries.files.filterKlibsPassedToCompiler().toPathsArray() }
|
||||
args.friendModules = tryLenient {
|
||||
friendModule.files.takeIf { it.isNotEmpty() }?.map { it.absolutePath }?.joinToString(File.pathSeparator)
|
||||
|
||||
+1
-3
@@ -172,15 +172,13 @@ abstract class Kotlin2JsCompile @Inject constructor(
|
||||
args.freeArgs = executionTimeFreeCompilerArgs ?: enhancedFreeCompilerArgs.get()
|
||||
}
|
||||
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.PluginClasspath) { args ->
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.Classpath) { args ->
|
||||
args.pluginClasspaths = tryLenient {
|
||||
listOfNotNull(
|
||||
pluginClasspath, kotlinPluginData?.orNull?.classpath
|
||||
).reduce(FileCollection::plus).toPathsArray()
|
||||
}
|
||||
}
|
||||
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.DependencyClasspath) { args ->
|
||||
args.friendModules = friendDependencies.files.joinToString(File.pathSeparator) { it.absolutePath }
|
||||
|
||||
args.libraries = tryLenient {
|
||||
|
||||
+1
-3
@@ -252,15 +252,13 @@ abstract class KotlinCompile @Inject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
contribute(ArgumentType.PluginClasspath) { args ->
|
||||
contribute(ArgumentType.Classpath) { args ->
|
||||
args.pluginClasspaths = tryLenient {
|
||||
listOfNotNull(
|
||||
pluginClasspath, kotlinPluginData?.orNull?.classpath
|
||||
).reduce(FileCollection::plus).toPathsArray()
|
||||
}
|
||||
}
|
||||
|
||||
contribute(ArgumentType.DependencyClasspath) { args ->
|
||||
args.friendPaths = friendPaths.toPathsArray()
|
||||
args.classpathAsList = tryLenient {
|
||||
libraries.toList().filter { it.exists() }
|
||||
|
||||
+1
-4
@@ -93,15 +93,12 @@ abstract class KotlinCompileCommon @Inject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.PluginClasspath) { args ->
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.Classpath) { args ->
|
||||
args.pluginClasspaths = tryLenient {
|
||||
listOfNotNull(
|
||||
pluginClasspath, kotlinPluginData?.orNull?.classpath
|
||||
).reduce(FileCollection::plus).toPathsArray()
|
||||
}
|
||||
}
|
||||
|
||||
contribute(KotlinCompilerArgumentsProducer.ArgumentType.DependencyClasspath) { args ->
|
||||
args.classpath = tryLenient { libraries.files.filter { it.exists() }.joinToString(File.pathSeparator) }
|
||||
args.friendPaths = tryLenient { this@KotlinCompileCommon.friendPaths.files.toPathsArray() }
|
||||
args.refinesPaths = refinesMetadataPaths.toPathsArray()
|
||||
|
||||
Reference in New Issue
Block a user