@@ -3,18 +3,16 @@ package nmcp.internal
33import gratatouille.capitalizeFirstLetter
44import java.io.File
55import nmcp.CentralPortalOptions
6- import nmcp.internal.task.registerNmcpFindDeploymentNameTask
6+ import nmcp.internal.task.registerNmcpCheckFilesTask
77import nmcp.internal.task.registerNmcpPublishFileByFileToFileSystemTask
88import nmcp.internal.task.registerNmcpPublishFileByFileToSnapshotsTask
99import nmcp.internal.task.registerNmcpPublishWithPublisherApiTask
10- import org.gradle.api.Action
11- import org.gradle.api.Named
1210import org.gradle.api.Project
13- import org.gradle.api.attributes.Attribute
1411import org.gradle.api.attributes.HasConfigurableAttributes
1512import org.gradle.api.attributes.Usage
1613import org.gradle.api.attributes.Usage.USAGE_ATTRIBUTE
1714import org.gradle.api.file.FileCollection
15+ import org.gradle.api.provider.Provider
1816import org.gradle.api.publish.plugins.PublishingPlugin.PUBLISH_TASK_GROUP
1917import org.gradle.api.tasks.bundling.Zip
2018
@@ -54,14 +52,15 @@ internal fun Project.registerPublishToCentralPortalTasks(
5452 kind : Kind ,
5553 inputFiles : FileCollection ,
5654 spec : CentralPortalOptions ,
55+ allowEmptyFiles : Provider <Boolean >
5756) {
5857 val name = kind.name
5958
6059 val releaseTaskName = " nmcpPublish${name.capitalizeFirstLetter()} ToCentralPortal"
6160 val snapshotTaskName = " nmcpPublish${name.capitalizeFirstLetter()} ToCentralPortalSnapshots"
6261 val localTaskName = " nmcpPublish${name.capitalizeFirstLetter()} ToMavenLocal"
6362 val zipTaskName = " nmcpZip${name.capitalizeFirstLetter()} "
64- val findDeploymentNameTaskName = " nmcpFind ${name.capitalizeFirstLetter()} DeploymentName "
63+ val checkFilesTaskName = " nmcpCheck ${name.capitalizeFirstLetter()} Files "
6564
6665 val description = when (name) {
6766 " aggregation" -> " Publishes the aggregation"
@@ -72,6 +71,12 @@ internal fun Project.registerPublishToCentralPortalTasks(
7271 val deprecatedLifecycleTaskName = " publish${name.capitalizeFirstLetter()} ToCentralPortalSnapshots"
7372 val snapshotsLifecycleTaskName = " publish${name.capitalizeFirstLetter()} ToCentralSnapshots"
7473
74+ val checkFilesTaskProvider = registerNmcpCheckFilesTask(
75+ allowEmptyFiles = allowEmptyFiles.orElse(false ),
76+ taskName = checkFilesTaskName,
77+ inputFiles = inputFiles,
78+ )
79+
7580 val zipName = " ${name} .zip"
7681 val zipTaskProvider = tasks.register(zipTaskName, Zip ::class .java) {
7782 it.from(inputFiles)
@@ -84,18 +89,16 @@ internal fun Project.registerPublishToCentralPortalTasks(
8489 it.exclude()
8590 }
8691 }
92+ it.dependsOn(checkFilesTaskProvider)
8793 }
8894
89- val findDeploymentNameTaskProvider = registerNmcpFindDeploymentNameTask(
90- taskName = findDeploymentNameTaskName,
91- inputFiles = inputFiles,
92- )
95+
9396 val task = registerNmcpPublishWithPublisherApiTask(
9497 taskName = releaseTaskName,
9598 inputFile = zipTaskProvider.flatMap { it.archiveFile },
9699 username = spec.username,
97100 password = spec.password,
98- publicationName = spec.publicationName.orElse(findDeploymentNameTaskProvider .flatMap { it.outputFile }.map { it.asFile.readText() }),
101+ publicationName = spec.publicationName.orElse(checkFilesTaskProvider .flatMap { it.outputFile }.map { it.asFile.readText() }),
99102 publishingType = spec.publishingType,
100103 baseUrl = spec.baseUrl,
101104 validationTimeoutSeconds = spec.validationTimeout.map { it.seconds },
0 commit comments