Project

Profile

Help

Story #854

Create a plugin to support syncing & publishing Maven artifacts

Added by bcourt almost 5 years ago. Updated 11 months ago.

Status:
CLOSED - NOTABUG
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Platform Release:
Blocks Release:
Backwards Incompatible:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:

Description

This content has been moved here: https://pulp.plan.io/projects/pulp/wiki/Maven_Plugin


Create an initial framework for supporting syncing & publishing Maven artifacts from within Pulp. This issue is an ok place for planning and gathering comments and information, but that should be broken up into smaller stories if/when implemented.

Deliverables

  • A plugin module for maven artifacts
    • The plugin supports creating maven repositories
    • As a user, I can provide a URL, and possibly some additional information about how to discover specific content, that Pulp will use to sync a remote repository.
    • The plugin supports deleting maven repositories
    • As a user syncing from a remote Pulp, I only need to provide a URL to sync. Additional information about how to discover content should not be necessary.
    • The plugin supports uploading of maven modules to a repository
    • The plugin DOES NOT support lazy loading or syncing content from maven central
  • CLI support for creating maven repositories
  • CLI support for deleting maven repositories
  • CLI support for uploading a maven artifact
  • CLI support for deleting a maven artifact

Questions

archetype-catalog.xml

Some maven repositories appear to have an index of content named archetype-catalog.xml, and some do not. What are the expectations around that file? When is/should it be present?

When Pulp does a sync, if that catalog is not present, we will need some other way for a user to specify what content to get. Should they provide a pom.xml file to the importer? Or perhaps csv/json that enumerates the content to get?

When Pulp does a publish, is it always safe for it to create an archetype-catalog.xml file? It is handy to have so that other Pulp deployments can sync from it and duplicate the exact same content.

SNAPSHOT

Should Pulp support "snapshot" repositories?

https://blog.packagecloud.io/eng/2017/03/09/how-does-a-maven-repository-work/#snapshot-repositories

The challenge is that the content with a given unique identifier that includes "-SNAPSHOT" can change from one sync to the next, and there's no way to know if it did. So it would need to be downloaded every time. We would also have to accept that if the content had been promoted into an additional repository, it could get updated in-place without another promote operation.

Upload

Is there a use case for upload? What does that look like? In what format would data get uploaded?

References

History

#1 Updated by jackhill almost 5 years ago

bcourt on IRC asked me to comment on this issue. I would find Maven repository support useful as a way to distribute our own artifacts.

Thanks!
Jack

#2 Updated by cduryee almost 5 years ago

  • Groomed set to No
  • Sprint Candidate set to No

It may be worth looking at http://artificer.jboss.org/ just to see if there's any opportunity to integrate with that.

#3 Updated by mhrivnak over 2 years ago

  • Subject changed from Create a plugin to support uploading & publishing Maven artifacts to Create a plugin to support syncing & publishing Maven artifacts
  • Description updated (diff)

#4 Updated by mhrivnak over 2 years ago

  • Description updated (diff)

#5 Updated by ipanova@redhat.com over 2 years ago

We need to expand the deliverables to include publish and copy actions.

#6 Updated by amacdona@redhat.com over 2 years ago

Before this is broken into new stories, a new redmine project should be created for pulp_maven.

Here are some bootstrapping stories for python that might be a helpful story template:
https://pulp.plan.io/issues/2882
https://pulp.plan.io/issues/2884
https://pulp.plan.io/issues/2885
https://pulp.plan.io/issues/2886
https://pulp.plan.io/issues/2887

#7 Updated by bmbouter about 2 years ago

  • Status changed from NEW to CLOSED - NOTABUG

This content is moving into the wiki for further planning. The reasoning is that this tracker is for core planning and not plugin planning. It's new home is here: https://pulp.plan.io/projects/pulp/wiki/Maven_Plugin

#8 Updated by bmbouter about 2 years ago

  • Description updated (diff)

#9 Updated by bmbouter 11 months ago

  • Tags Pulp 2 added

Please register to edit this issue

Also available in: Atom PDF