Skip to content

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

@regrog

Description

@regrog

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    gradle bugCreate a report to help us improvestale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions