Suppose I have a project (myproject – a library that builds into a .jar file) that builds happily using Maven and that I am version controlling using Git.
It has a relatively simple pom.xml with a couple of external dependencies, all of which are available at the Maven Central repo.
Everything is working fine in development, and now I’m happy with myproject-1.0.0-SNAPSHOT and want to make it into a proper release so that I can put it into a public (open source) Maven repository and let people use my wonderful new library. In particular, I want to make it as easy as possible for people to use my library with minimal effort or potential for confusion.
What are the recommended steps / checklist for making this release?
Any pitfalls / mistakes to avoid?
The most easy would be using maven release plugin.
You can read about it
here
In general It can be used to release your project (it manages versions, uses some VSC maniplations, for example, I used it with SVN and it created SVN tags for me). It also enforces that you don’t have dependencies on ‘SNAPSHOT’ versions of jar, otherwise you won’t be reproduce your build and so on. At the end it uploads your artifact to the repository.
I don’t know much about permissions you need to upload everything into the central maven repository, I’ve used it for our private repository…
Hope this helps