-
Notifications
You must be signed in to change notification settings - Fork 163
Description
Describe the bug
Artifactory Gradle plugin used to publish artifacts of a gradle multi-project with version "1.0.0-SNAPSHOT" results in no unique artifacts timestamp
To Reproduce
Artifactory repository configuration:
Repository layout -> maven-2-default
Maven Snapshot Version Behavior -> Unique
Max Unique Snapshots -> 2
Handle Snapshots -> true
Gradle multi-project with declared version 1.0.0-SNAPSHOT
Use of artifactoryPublish task
Expected behavior
Only one artifact timestamp for all subprojects and no artifacts overwrite in a single publication task. The issues explained above do not happen with plugin version 4.9.10 or beneath.
Screenshots
And few logs
artifactory_gradle_plugin_issue.zip
Versions
- Gradle Artifactory plugin version: 4.18.2
- Gradle version: 6.7.1
- Operating system: Ubuntu 16.04.7 and 18.04
- Artifactory Version: 7.9.1 (Pro version)
Additional context
During the artifactoryPublish task the plugin use a thread pool for the upload to Artifactory. This kind of parallelism seems to create some issues with the repository configuration explained above because the timestamp generated by Artifactory is not consistent through all subprojects (different timestamp for some artifacts, next second in most cases, see screenshots).
Another issue is that with a second publication the javadoc and sources artifacts are overwritten and no new artifact with incremental number is created.
Looking at the code, there is a SpecsHelper class with DEFAULT_NUMBER_OF_THREADS = 3 not customizable.
Is there a way to configure the plugin to avoid the use of threads as previous version did?
Multiproject example to reproduce the issue:
projectA.zip