[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.artifacts.Dependency
|
||||||
import org.gradle.api.file.FileCollection
|
import org.gradle.api.file.FileCollection
|
||||||
import org.gradle.api.file.SourceDirectorySet
|
import org.gradle.api.file.SourceDirectorySet
|
||||||
import org.gradle.api.plugins.BasePluginExtension
|
|
||||||
import org.gradle.api.tasks.SourceSet
|
import org.gradle.api.tasks.SourceSet
|
||||||
import org.gradle.api.tasks.TaskProvider
|
import org.gradle.api.tasks.TaskProvider
|
||||||
import org.gradle.api.tasks.bundling.AbstractArchiveTask
|
import org.gradle.api.tasks.bundling.AbstractArchiveTask
|
||||||
@@ -160,7 +159,7 @@ open class DefaultCompilationDetails<T : KotlinCommonOptions>(
|
|||||||
|
|
||||||
override val ownModuleName: String
|
override val ownModuleName: String
|
||||||
get() {
|
get() {
|
||||||
val baseName = project.extensions.getByType(BasePluginExtension::class.java)?.archivesName
|
val baseName = project.archivesName
|
||||||
?: project.name
|
?: project.name
|
||||||
val suffix = if (isMainCompilationData()) "" else "_$compilationPurpose"
|
val suffix = if (isMainCompilationData()) "" else "_$compilationPurpose"
|
||||||
return filterModuleName("$baseName$suffix")
|
return filterModuleName("$baseName$suffix")
|
||||||
|
|||||||
+1
-6
@@ -5,12 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||||
|
|
||||||
import groovy.lang.Closure
|
|
||||||
import org.gradle.api.artifacts.Configuration
|
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.KotlinJvmOptions
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptionsImpl
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptionsImpl
|
||||||
import org.jetbrains.kotlin.gradle.plugin.*
|
import org.jetbrains.kotlin.gradle.plugin.*
|
||||||
@@ -50,7 +45,7 @@ class KotlinJvmVariantCompilationData(val variant: KotlinJvmVariant) : KotlinVar
|
|||||||
|
|
||||||
internal fun KotlinGradleVariant.ownModuleName(): String {
|
internal fun KotlinGradleVariant.ownModuleName(): String {
|
||||||
val project = containingModule.project
|
val project = containingModule.project
|
||||||
val baseName = project.extensions.getByType(BasePluginExtension::class.java).archivesName.orNull
|
val baseName = project.archivesName
|
||||||
?: project.name
|
?: project.name
|
||||||
val suffix = if (containingModule.moduleClassifier == null) "" else "_${containingModule.moduleClassifier}"
|
val suffix = if (containingModule.moduleClassifier == null) "" else "_${containingModule.moduleClassifier}"
|
||||||
return filterModuleName("$baseName$suffix")
|
return filterModuleName("$baseName$suffix")
|
||||||
|
|||||||
+1
-2
@@ -9,7 +9,6 @@ import org.gradle.api.DefaultTask
|
|||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.file.FileCollection
|
import org.gradle.api.file.FileCollection
|
||||||
import org.gradle.api.file.SourceDirectorySet
|
import org.gradle.api.file.SourceDirectorySet
|
||||||
import org.gradle.api.plugins.BasePluginExtension
|
|
||||||
import org.gradle.api.tasks.TaskProvider
|
import org.gradle.api.tasks.TaskProvider
|
||||||
import org.jetbrains.kotlin.gradle.dsl.*
|
import org.jetbrains.kotlin.gradle.dsl.*
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonOptionsImpl
|
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonOptionsImpl
|
||||||
@@ -83,7 +82,7 @@ internal abstract class AbstractKotlinFragmentMetadataCompilationData<T : Kotlin
|
|||||||
|
|
||||||
override val moduleName: String
|
override val moduleName: String
|
||||||
get() { // FIXME deduplicate with ownModuleName
|
get() { // FIXME deduplicate with ownModuleName
|
||||||
val baseName = project.extensions.getByType(BasePluginExtension::class.java).archivesName.orNull
|
val baseName = project.archivesName
|
||||||
?: project.name
|
?: project.name
|
||||||
val suffix = if (module.moduleClassifier == null) "" else "_${module.moduleClassifier}"
|
val suffix = if (module.moduleClassifier == null) "" else "_${module.moduleClassifier}"
|
||||||
return filterModuleName("$baseName$suffix")
|
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.Project
|
||||||
import org.gradle.api.artifacts.component.BuildIdentifier
|
import org.gradle.api.artifacts.component.BuildIdentifier
|
||||||
import org.gradle.api.internal.project.ProjectInternal
|
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.gradle.internal.build.BuildState
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinSingleTargetExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinSingleTargetExtension
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
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.KotlinModule
|
||||||
import org.jetbrains.kotlin.project.model.LocalModuleIdentifier
|
import org.jetbrains.kotlin.project.model.LocalModuleIdentifier
|
||||||
|
|
||||||
@@ -28,4 +31,25 @@ fun KotlinModule.representsProject(project: Project): Boolean =
|
|||||||
|
|
||||||
// FIXME internal API?
|
// FIXME internal API?
|
||||||
fun Project.currentBuildId(): BuildIdentifier =
|
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
|
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
||||||
|
|
||||||
import org.gradle.api.Project
|
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.targets.js.dsl.Distribution
|
||||||
import org.jetbrains.kotlin.gradle.utils.property
|
import org.jetbrains.kotlin.gradle.utils.property
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -20,7 +20,7 @@ class DefaultDistribution(
|
|||||||
project.buildDir
|
project.buildDir
|
||||||
.let { buildDir ->
|
.let { buildDir ->
|
||||||
name?.let { buildDir.resolve(it) }
|
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.file.RegularFileProperty
|
||||||
import org.gradle.api.internal.file.FileResolver
|
import org.gradle.api.internal.file.FileResolver
|
||||||
import org.gradle.api.model.ObjectFactory
|
import org.gradle.api.model.ObjectFactory
|
||||||
import org.gradle.api.plugins.BasePluginExtension
|
|
||||||
import org.gradle.api.provider.Provider
|
import org.gradle.api.provider.Provider
|
||||||
import org.gradle.api.tasks.*
|
import org.gradle.api.tasks.*
|
||||||
import org.gradle.deployment.internal.Deployment
|
import org.gradle.deployment.internal.Deployment
|
||||||
@@ -21,6 +20,8 @@ import org.gradle.process.internal.ExecHandle
|
|||||||
import org.gradle.process.internal.ExecHandleFactory
|
import org.gradle.process.internal.ExecHandleFactory
|
||||||
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
|
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
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.RequiredKotlinJsDependency
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies
|
import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies
|
||||||
@@ -108,7 +109,7 @@ constructor(
|
|||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
val output: KotlinWebpackOutput = KotlinWebpackOutput(
|
val output: KotlinWebpackOutput = KotlinWebpackOutput(
|
||||||
library = project.extensions.getByType(BasePluginExtension::class.java).archivesName.orNull,
|
library = project.archivesName,
|
||||||
libraryTarget = KotlinWebpackOutput.Target.UMD,
|
libraryTarget = KotlinWebpackOutput.Target.UMD,
|
||||||
globalObject = "this"
|
globalObject = "this"
|
||||||
)
|
)
|
||||||
@@ -122,7 +123,7 @@ constructor(
|
|||||||
internal var _destinationDirectory: File? = null
|
internal var _destinationDirectory: File? = null
|
||||||
|
|
||||||
private val defaultDestinationDirectory by lazy {
|
private val defaultDestinationDirectory by lazy {
|
||||||
project.extensions.getByType(BasePluginExtension::class.java).distsDirectory.asFile.get()
|
project.distsDirectory.asFile.get()
|
||||||
}
|
}
|
||||||
|
|
||||||
@get:Internal
|
@get:Internal
|
||||||
@@ -133,7 +134,7 @@ constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val defaultOutputFileName by lazy {
|
private val defaultOutputFileName by lazy {
|
||||||
project.extensions.getByType(BasePluginExtension::class.java).archivesName.orNull + ".js"
|
project.archivesName + ".js"
|
||||||
}
|
}
|
||||||
|
|
||||||
@get:Internal
|
@get:Internal
|
||||||
|
|||||||
Reference in New Issue
Block a user