just made an update to an old jdbc library I put together based on some of the features I liked from original clojure.java.jdbc and clojure.jdbc https://github.com/yogthos/clojure.jdbc the goal for it to be lightweight, and I really like the way original clojure.jdbc handles transcations, especially cases with nested transactions which don't really have good default semantics in jdbc in my opinion
https://github.com/kepler16/kaven: A Clojure API for deploying to Maven repositories!
I've been sitting on this one for a while as I was wanting to expand on its APIs to expose more functionality, but realised that realistically I would never get around to it. I have now decided to finally release it out to the wild.
I've long thought that the Clojure ecosystem lacked good tools to deploy jars to Maven. I used deps-deploy for a while but always dreaded working on release workflows involving it. I would always forget the little details on how to get it to deploy anything beyond public releases to Clojars.
Then when working on https://github.com/kepler16/kmono I ran into a need to be able to release packages concurrently (for speed!) - and deps-deploy would simply break in really horrible ways.
So I sat down to try build a better, more thoughtfully designed API for deploying Clojure projects to Maven that was flexible enough for all use-cases (Public clojars, private third-party registries). I wanted it well documented, and I wanted it to do as much for me as possible.
At minimum, all you need is to provide it is:
1. The jar file you are deploying
2. The target repository
And it will load the rest from the JAR and surrounding environment. This includes:
• Discovering the POM from within the JAR
• Loading the maven coordinates
• Pulled repository configs
And you still have full control to configure/specify all necessary properties in a well-documented way.
I have been using it quietly for the last 2 years for all our internal work projects as well as my personal projects. It's time I told someone about it! Please, enjoy!
So not Maven central deploys?
TBH I have never tried to release something to central, ever - but surely that works like any other repository? Did I miss something here?
When using Maven, they drive you through their plugins, I don't actually know that you can use the standard deploy paths. There are extra constraints as well around signing, and including source and Javadoc jars
Interesting, yea I had no idea about that. Well then yea for now this is just focused on deploying to plain maven repos
Still very useful, thanks!