Skip to content

Commit

Permalink
fix(core.gradle-plugin):修复 CreatePackagePluginTask 任务在 Gradle 7.5 以后版…
Browse files Browse the repository at this point in the history
…本上添加失败的问题

CreatePackagePluginTask 类中相关被标记为废弃的方法进行替换,保证在后续 Gradle 版本的兼容性
  • Loading branch information
张磊 authored and Heart-Beats committed Apr 20, 2024
1 parent 4880701 commit 7d5a231
Showing 1 changed file with 17 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,24 @@ import org.gradle.api.tasks.bundling.Zip
import java.io.BufferedWriter
import java.io.File
import java.io.FileWriter
import java.util.Locale

internal fun createPackagePluginTask(project: Project, buildType: PluginBuildType): Task {
return project.tasks.create("package${buildType.name.capitalize()}Plugin", Zip::class.java) {
val buildTypeName = buildType.name.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.ROOT) else it.toString() }

return project.tasks.create("package${buildTypeName}Plugin", Zip::class.java) {
project.logger.info("PackagePluginTask task run")

//runtime apk file
val runtimeApkName: String = buildType.runtimeApkConfig.first
val runtimeApkName: String = buildType.runtimeApkConfig.v1
var runtimeFile: File? = null
if (runtimeApkName.isNotEmpty()) {
runtimeFile = ShadowPluginHelper.getRuntimeApkFile(project, buildType, false)
}


//loader apk file
val loaderApkName: String = buildType.loaderApkConfig.first
val loaderApkName: String = buildType.loaderApkConfig.v1
var loaderFile: File? = null
if (loaderApkName.isNotEmpty()) {
loaderFile = ShadowPluginHelper.getLoaderApkFile(project, buildType, false)
Expand Down Expand Up @@ -74,15 +77,14 @@ internal fun createPackagePluginTask(project: Project, buildType: PluginBuildTyp
val packagePlugin = project.extensions.findByName("packagePlugin")
val extension = packagePlugin as PackagePluginExtension

val suffix = if (extension.archiveSuffix.isEmpty()) "" else extension.archiveSuffix
val prefix = if (extension.archivePrefix.isEmpty()) "plugin" else extension.archivePrefix
val suffix = extension.archiveSuffix.ifEmpty { "" }
val prefix = extension.archivePrefix.ifEmpty { "plugin" }
if (suffix.isEmpty()) {
it.archiveName = "$prefix-${buildType.name}.zip"
it.archiveFileName.set("$prefix-${buildType.name}.zip")
} else {
it.archiveName = "$prefix-${buildType.name}-$suffix.zip"
it.archiveFileName.set("$prefix-${buildType.name}.zip")
}
it.destinationDir =
File(if (extension.destinationDir.isEmpty()) "${project.rootDir}/build" else extension.destinationDir)
it.destinationDirectory.set(File(extension.destinationDir.ifEmpty { "${project.rootDir}/build" }))
}.dependsOn(createGenerateConfigTask(project, buildType))
}

Expand All @@ -92,19 +94,19 @@ private fun createGenerateConfigTask(project: Project, buildType: PluginBuildTyp
val extension = packagePlugin as PackagePluginExtension

//runtime apk build task
val runtimeApkName = buildType.runtimeApkConfig.first
val runtimeApkName = buildType.runtimeApkConfig.v1
var runtimeTask = ""
if (runtimeApkName.isNotEmpty()) {
runtimeTask = buildType.runtimeApkConfig.second
runtimeTask = buildType.runtimeApkConfig.v2
project.logger.info("runtime task = $runtimeTask")
}


//loader apk build task
val loaderApkName = buildType.loaderApkConfig.first
val loaderApkName = buildType.loaderApkConfig.v1
var loaderTask = ""
if (loaderApkName.isNotEmpty()) {
loaderTask = buildType.loaderApkConfig.second
loaderTask = buildType.loaderApkConfig.v2
project.logger.info("loader task = $loaderTask")
}

Expand All @@ -120,7 +122,8 @@ private fun createGenerateConfigTask(project: Project, buildType: PluginBuildTyp
pluginApkTasks.add(task)
}

val task = project.tasks.create("generate${buildType.name.capitalize()}Config") {
val buildTypeName = buildType.name.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.ROOT) else it.toString() }
val task = project.tasks.create("generate${buildTypeName}Config") {
it.group = "plugin"
it.description = "生成插件配置文件"
it.outputs.file(targetConfigFile)
Expand Down

0 comments on commit 7d5a231

Please sign in to comment.