diff --git a/src/main/kotlin/nmcp/NmcpAggregation.kt b/src/main/kotlin/nmcp/NmcpAggregation.kt index 6ce8978..385e3af 100644 --- a/src/main/kotlin/nmcp/NmcpAggregation.kt +++ b/src/main/kotlin/nmcp/NmcpAggregation.kt @@ -10,6 +10,7 @@ class NmcpAggregation( val username: Property, val password: Property, val publicationType: Property, + val publicationName: Property, ) { fun project(path: String) { project.dependencies.add(configuration.name, project.dependencies.project(mapOf("path" to path))) diff --git a/src/main/kotlin/nmcp/NmcpExtension.kt b/src/main/kotlin/nmcp/NmcpExtension.kt index 0b2c8f7..1c6f9e7 100644 --- a/src/main/kotlin/nmcp/NmcpExtension.kt +++ b/src/main/kotlin/nmcp/NmcpExtension.kt @@ -72,6 +72,7 @@ class NmcpExtension(private val project: Project) { it.username.set(spec.username) it.password.set(spec.password) it.publicationType.set(spec.publicationType) + it.publicationName.set(spec.publicationName.orElse("${project.name}-${project.version}.zip")) } publishAllPublicationsToCentralPortal.configure { @@ -86,6 +87,7 @@ class NmcpExtension(private val project: Project) { project.objects.property(String::class.java), project.objects.property(String::class.java), project.objects.property(String::class.java), + project.objects.property(String::class.java), ) action.execute(spec) @@ -141,6 +143,7 @@ class NmcpExtension(private val project: Project) { project.objects.property(String::class.java), project.objects.property(String::class.java), project.objects.property(String::class.java), + project.objects.property(String::class.java), ) action.execute(aggregation) @@ -164,6 +167,7 @@ class NmcpExtension(private val project: Project) { it.username.set(aggregation.username) it.password.set(aggregation.password) it.publicationType.set(aggregation.publicationType) + it.publicationName.set(aggregation.publicationName) } } @@ -180,6 +184,7 @@ class NmcpExtension(private val project: Project) { project.objects.property(String::class.java), project.objects.property(String::class.java), project.objects.property(String::class.java), + project.objects.property(String::class.java), ) action.execute(spec) @@ -199,6 +204,7 @@ class NmcpExtension(private val project: Project) { aggregation.username.set(spec.username) aggregation.password.set(spec.password) aggregation.publicationType.set(spec.publicationType) + aggregation.publicationName.set(spec.publicationName) } } } \ No newline at end of file diff --git a/src/main/kotlin/nmcp/NmcpPublishTask.kt b/src/main/kotlin/nmcp/NmcpPublishTask.kt index 913e28c..86d342d 100644 --- a/src/main/kotlin/nmcp/NmcpPublishTask.kt +++ b/src/main/kotlin/nmcp/NmcpPublishTask.kt @@ -29,6 +29,9 @@ abstract class NmcpPublishTask : DefaultTask() { @get:Optional abstract val publicationType: Property + @get:Input + abstract val publicationName: Property + @TaskAction fun taskAction() { val username = username.get() @@ -48,7 +51,7 @@ abstract class NmcpPublishTask : DefaultTask() { val body = MultipartBody.Builder() .addFormDataPart( "bundle", - "publication.zip", + publicationName.get(), inputFile.get().asFile.asRequestBody("application/zip".toMediaType()) ) .build() diff --git a/src/main/kotlin/nmcp/NmcpSpec.kt b/src/main/kotlin/nmcp/NmcpSpec.kt index e653617..3d90bf4 100644 --- a/src/main/kotlin/nmcp/NmcpSpec.kt +++ b/src/main/kotlin/nmcp/NmcpSpec.kt @@ -6,4 +6,5 @@ class NmcpSpec( val username: Property, val password: Property, val publicationType: Property, + val publicationName: Property, ) \ No newline at end of file