[MPP]: Add support for old Gradle BasePluginConvention
BasePluginConvention was deprecated in favor of BasePluginExtension which was introduced in 7.1. So it should be supported until 8.0 where it will be removed.
This commit is contained in:
+1
-2
@@ -11,7 +11,6 @@ import org.gradle.api.UnknownTaskException
|
||||
import org.gradle.api.artifacts.Dependency
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.file.SourceDirectorySet
|
||||
import org.gradle.api.plugins.BasePluginExtension
|
||||
import org.gradle.api.tasks.SourceSet
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.gradle.api.tasks.bundling.AbstractArchiveTask
|
||||
@@ -160,7 +159,7 @@ open class DefaultCompilationDetails<T : KotlinCommonOptions>(
|
||||
|
||||
override val ownModuleName: String
|
||||
get() {
|
||||
val baseName = project.extensions.getByType(BasePluginExtension::class.java)?.archivesName
|
||||
val baseName = project.archivesName
|
||||
?: project.name
|
||||
val suffix = if (isMainCompilationData()) "" else "_$compilationPurpose"
|
||||
return filterModuleName("$baseName$suffix")
|
||||
|
||||
+1
-6
@@ -5,12 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
|
||||
import groovy.lang.Closure
|
||||
import org.gradle.api.artifacts.Configuration
|
||||
import org.gradle.api.plugins.BasePluginConvention
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.plugins.BasePluginExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptionsImpl
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
@@ -50,7 +45,7 @@ class KotlinJvmVariantCompilationData(val variant: KotlinJvmVariant) : KotlinVar
|
||||
|
||||
internal fun KotlinGradleVariant.ownModuleName(): String {
|
||||
val project = containingModule.project
|
||||
val baseName = project.extensions.getByType(BasePluginExtension::class.java).archivesName.orNull
|
||||
val baseName = project.archivesName
|
||||
?: project.name
|
||||
val suffix = if (containingModule.moduleClassifier == null) "" else "_${containingModule.moduleClassifier}"
|
||||
return filterModuleName("$baseName$suffix")
|
||||
|
||||
+1
-2
@@ -9,7 +9,6 @@ import org.gradle.api.DefaultTask
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.file.SourceDirectorySet
|
||||
import org.gradle.api.plugins.BasePluginExtension
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.jetbrains.kotlin.gradle.dsl.*
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonOptionsImpl
|
||||
@@ -83,7 +82,7 @@ internal abstract class AbstractKotlinFragmentMetadataCompilationData<T : Kotlin
|
||||
|
||||
override val moduleName: String
|
||||
get() { // FIXME deduplicate with ownModuleName
|
||||
val baseName = project.extensions.getByType(BasePluginExtension::class.java).archivesName.orNull
|
||||
val baseName = project.archivesName
|
||||
?: project.name
|
||||
val suffix = if (module.moduleClassifier == null) "" else "_${module.moduleClassifier}"
|
||||
return filterModuleName("$baseName$suffix")
|
||||
|
||||
+25
-1
@@ -8,11 +8,14 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.artifacts.component.BuildIdentifier
|
||||
import org.gradle.api.internal.project.ProjectInternal
|
||||
import org.gradle.api.plugins.BasePluginConvention
|
||||
import org.gradle.api.plugins.BasePluginExtension
|
||||
import org.gradle.internal.build.BuildState
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinSingleTargetExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.utils.isGradleVersionAtLeast
|
||||
import org.jetbrains.kotlin.project.model.KotlinModule
|
||||
import org.jetbrains.kotlin.project.model.LocalModuleIdentifier
|
||||
|
||||
@@ -28,4 +31,25 @@ fun KotlinModule.representsProject(project: Project): Boolean =
|
||||
|
||||
// FIXME internal API?
|
||||
fun Project.currentBuildId(): BuildIdentifier =
|
||||
(project as ProjectInternal).services.get(BuildState::class.java).buildIdentifier
|
||||
(project as ProjectInternal).services.get(BuildState::class.java).buildIdentifier
|
||||
|
||||
|
||||
/**
|
||||
* The base name to use for archive files.
|
||||
*/
|
||||
val Project.archivesName get() = if (isGradleVersionAtLeast(7, 1)) {
|
||||
extensions.getByType(BasePluginExtension::class.java).archivesName.orNull
|
||||
} else {
|
||||
convention.findPlugin(BasePluginConvention::class.java)?.archivesBaseName
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the directory to generate TAR and ZIP archives into.
|
||||
*
|
||||
* @return The directory. Never returns null.
|
||||
*/
|
||||
val Project.distsDirectory get() = if (isGradleVersionAtLeast(7, 1)) {
|
||||
extensions.getByType(BasePluginExtension::class.java).distsDirectory
|
||||
} else {
|
||||
convention.getPlugin(BasePluginConvention::class.java).distsDirectory
|
||||
}
|
||||
+2
-2
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.plugins.BasePluginExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.distsDirectory
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.Distribution
|
||||
import org.jetbrains.kotlin.gradle.utils.property
|
||||
import java.io.File
|
||||
@@ -20,7 +20,7 @@ class DefaultDistribution(
|
||||
project.buildDir
|
||||
.let { buildDir ->
|
||||
name?.let { buildDir.resolve(it) }
|
||||
?: project.extensions.getByType(BasePluginExtension::class.java).distsDirectory.asFile.get()
|
||||
?: project.distsDirectory.asFile.get()
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-4
@@ -11,7 +11,6 @@ import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.file.RegularFileProperty
|
||||
import org.gradle.api.internal.file.FileResolver
|
||||
import org.gradle.api.model.ObjectFactory
|
||||
import org.gradle.api.plugins.BasePluginExtension
|
||||
import org.gradle.api.provider.Provider
|
||||
import org.gradle.api.tasks.*
|
||||
import org.gradle.deployment.internal.Deployment
|
||||
@@ -21,6 +20,8 @@ import org.gradle.process.internal.ExecHandle
|
||||
import org.gradle.process.internal.ExecHandleFactory
|
||||
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.archivesName
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.distsDirectory
|
||||
import org.jetbrains.kotlin.gradle.targets.js.RequiredKotlinJsDependency
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies
|
||||
@@ -108,7 +109,7 @@ constructor(
|
||||
|
||||
@Nested
|
||||
val output: KotlinWebpackOutput = KotlinWebpackOutput(
|
||||
library = project.extensions.getByType(BasePluginExtension::class.java).archivesName.orNull,
|
||||
library = project.archivesName,
|
||||
libraryTarget = KotlinWebpackOutput.Target.UMD,
|
||||
globalObject = "this"
|
||||
)
|
||||
@@ -122,7 +123,7 @@ constructor(
|
||||
internal var _destinationDirectory: File? = null
|
||||
|
||||
private val defaultDestinationDirectory by lazy {
|
||||
project.extensions.getByType(BasePluginExtension::class.java).distsDirectory.asFile.get()
|
||||
project.distsDirectory.asFile.get()
|
||||
}
|
||||
|
||||
@get:Internal
|
||||
@@ -133,7 +134,7 @@ constructor(
|
||||
}
|
||||
|
||||
private val defaultOutputFileName by lazy {
|
||||
project.extensions.getByType(BasePluginExtension::class.java).archivesName.orNull + ".js"
|
||||
project.archivesName + ".js"
|
||||
}
|
||||
|
||||
@get:Internal
|
||||
|
||||
Reference in New Issue
Block a user