What is the difference between github packages and other (maven) repositories - maven

Recently, github launched a new service called 'Github packages'. In terms of the maven ecosystem, how would you describe/define the Github package service? How does Github package service communicate with the maven central repository?
When would it make sense to switch to github packages, i.e. are there any major considerations one would make to switch to github packages, or to stick with a repository manager such as Sonatype Nexus?

Related

How can I specify in pom.xml a dependency to a project in a repository?

I have a project working on my Spring Tool Suite. Also, I have a project in an innersource repository that I want to use in my project of STS.
For that, I need to specify the dependency in the pom.xml file of my project to establish the dependency with this remote project. But I don't know how to specify this dependency and what information about the remote project I need to put in the pom and where I can find it.
At least I need what information I should write in the pom and I will look wherever for that information.
Thank you so much for your help!
A best practice is to use your own / company wide Maven Repository Manager such as Nexus and define a single repository group.
Use this Maven Repository Manager to share closed source artifacts (hosted repository) and to access Open Source repository such as Maven Central (proxy repository).

Have a proxy repository in bintray from another repository

I try to find out if it is possible to have a private maven repository (nexus, artifactory) run on the net to be proxied to my bintray account. Anybody did this or is aware of such functionality?
Artifactory provides you with the ability to proxy Bintray repositories using Remote Repositories, so the short answer is yes.
The longer answer is that both Bintray and Artifactory were made by the same company, so they are a perfect match for each other.
Artifactory can proxy any type of repository from Bintray (not just Maven) and also provides extensive integration for achieving the opposite direction (i.e. publishing Artifacts to Bintray from Artifactory) using Distribution Repositories.
You can read more about the various Bintray integration options Artifactory provides here.

How to clean Maven snapshots deployed on the server?

On the snapshot server, Maven keeps all the generated snapshots. I want to clean all but the latest ones that are deployed on the server.
How can I tell Maven to only keep the N latest snapshot versions and to remove the rest?
I believe this is not controlled by Maven. Instead, it is more to do with the repository manager.
For example, in Nexus, you can setup scheduled task to remove snapshots from hosted repositories.
The best is to use a Repository Manager like Artifactory, Nexus or Archiva which have tasks for such purposes or in case of releases the according SNAPSHOT's will automatically be deleted.

Migrate maven artifacts into Cloudbees repository

Has anyone ever migrated an existing maven repository into Cloudbees repositories?
Currently, I have a self-hosted Sonatype Nexus instance with three custom repositories (snapshots, releases, and 3rd-party libraries not hosted in Maven). I have an existing Cloudbees CI environment, and I'm looking at migrating my maven storage as well.
If anyone has any helpful hints, tips, or an existing migration guide, please point me in the right direction.
Thanks in advance.
The simplest way would be to zip/tar.gz up your existing repository and upload it to the DAV repository in question.
Submit a support request and it can be unpacked on the server (DAV is quite slow for moving lots of files)

How to submit a new maven plugin

Say I have developed a plugin which I don't believe has been developed before. Can I submit this plugin to the maven community or does such a facility exist ? Is there a process required for this ?
If you mean submit your artifact to The Central Repository, here is the complete user guide:
Sonatype OSS Maven Repository Usage Guide
1. Introduction
Sonatype OSSRH (OSS Repository Hosting Service) uses Nexus to provide Maven repository hosting service for open source projects: https://oss.sonatype.org/. You can deploy snapshots, stage releases, and promote your releases so they will be synced to The Central Repository. All you need to do is to sign up a Sonatype JIRA account, create a JIRA ticket and make some POM/settings configuration. This document will guide you step by step for the details.
... ...

Resources