build-info icon indicating copy to clipboard operation
build-info copied to clipboard

Parallel pubblication generates different timestamps and desynch javadocs publishing a snapshot version

Open regrog opened this issue 5 years ago • 0 comments

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

regrog avatar Dec 15 '20 12:12 regrog