Are there any "popular" or big name library author...
# community-support
c
Are there any "popular" or big name library authors that self host their artifacts? (basically. not on maven central?) I'm trying to possibly self host (for reasons) and trying to see what the "industry standard" is in terms of hosting the artifacts, but also how the documentation states the inclusion of the artifact repository.
e
Google hosts their own at maven.google.com
c
i guess i should have said, besides mavenCentral() or google() lol. sorry!
e
Ah well then none that I've encountered 😅 It would definitely be a barrier to using that library for me though.
j
We do this for netflix OSS: eg. https://netflixoss.jfrog.io/ui/native/gradle-plugins/ and https://netflixoss.jfrog.io/ui/native/maven-oss-releases/ We are using JFrog's cloud offering for this we also publish to maven central and gradle plugin portal though
👀 1
c
yeah. i could have sworn aws does it.
c
all the AWS libraries that I consume or am otherwise aware of are on Maven Central.
m
We have some, but not all, hosted in jfrog / artifactory. These are "internal" items.
oh, forgot ... we moved those artifacts from jfrog / artifactory to S3. We publish to and pull from S3. It was a cost based decision.
c
seems like i could self host jfrog/nexus for free (at least to experiment with them). doesn't seem like there are other players in the space
a
Google Cloud has a Maven repo. I've used it before when Sonatype was being unstable, and it was quick and easy to set up and configure. I think it's basically free, if you're not hosting a lot of data.
I'm also working on a Gradle plugin for using GitHub Releases as repositories, if you're interested? I want something just for quick and easy prototyping, without the hassle of Maven Central publishing. https://github.com/adamko-dev/github-asset-publish (I'm making it to avoid the awkward authentication requirement for GitHub Packages - there's no limits on downloading release attachments.)
j
https://packagecloud.io supports maven as well. I have used them in the past for personal projects where I also wanted a deb repo (before jfrog supported it, I think)
c
OOOH. we use google cloud. maybe hosting a maven repo there might be the easiest. thanks @Adam
ill try that plugin out as well. is that different from https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry ? ive seen some repos (not many) that actually host the artifact on github which seems like it does what your plugin does?
a
is that different from https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry ?
Yup! Using GitHub Packages is a pain for sharing, because every single consumer must authenticate - even if it's just for read-only access. https://github.com/orgs/community/discussions/26634 Which is a pain, because the token has to be set on everyone's local machines and on CI. It's also annoying because every single repo has a different URL. So I want to use 10 different libraries that are all hosted on their repo's GitHub Packages, then I have to add 10 different Maven repos.
c
awesome. thanks for the expaliner. starred and maybe worth putting that explainer in the readme in the future when you officially ship
thank you 1
👍 1
@Adam also thanks for the tip on GCP artifact hosting. i actually just set that up and it went pretty darn smooth.
🎉 1
funny enough. i came across a library on github and it says to use it you can use
<https://raw.githubusercontent.com/author/mvn-repo/master/>
as a artifact repository url. lol. so you host your artifacts in a maven-like structure on github and then users of the lib just reference the code which contains the aar. etc. very weird.
e
I've seen a few repos try that in the past, and once they got too big GitHub shut them down.
c
oh really! its weird but my manager is interested and so id like to shut that down with some proof. let me investigate that.
e
a
I've set up the 'github branch repo' thing before. One problem is it breaks the 'Download zip' feature, if someone tries to download the whole repo.
👀 1