|Version 2 (modified by manningr, 3 years ago)|
This page documents the process for producing snapshot and stable releases of the SQuirreL SQL Client. We use maven for our builds and this makes life simpler when it comes to builds and releasing. However, our users can get SQuirreL from several different locations (not just Maven Central), so releasing in some cases is a multi-step process. For any release there are three different locations where build artifacts are placed:
- Sonatype - maven artifacts that are produced are uploaded to oss.sonatype.org for staging purposes (releases are then promoted for release to Maven Central)
- SourceForge - Installers, plain zips and aggregate source zip file are uploaded to SourceForge using the File Release System (FRS).
- squirrel-sql.net - A special artifact known as the "update site" is a zip file containing a release descriptor (release.xml) and all of the core, plugin and translation artifacts required to allow users to use the software update feature. This is uploaded to a GoDaddy.com server that Rob maintains for this feature.
Snapshot releases are the most frequently occurring releases and are the easiest to perform. If your settings.xml has the appropriate credentials for Sonatype, SourceForge and squirrel-sql.net, to do a release is essentially just a couple of commands:
Checkout the source
svn co https://squirrel-sql.svn.sourceforge.net/svnroot/squirrel-sql/trunk/sql12 sql12
It is only necessary to do this once; thereafter use 'svn revert -R .', followed by 'svn up'
cd sql12; svn revert -R .; svn up
It is very important to ensure that there are no local modifications, so use either of the above commands for every release.
Next, build and deploy the snapshot artifacts with the following command:
mvn clean deploy -DuploadUpdateSite -DuploadInstallers
The two arguments that begin with "-D" are setting properties that trigger certain maven poms to build and upload the installers and update site. Since this is normally not required for developing and building SQuirreL, the default is to not perform these actions.