Added:
/wiki/CreateARelease.wiki
=======================================
--- /dev/null
+++ /wiki/CreateARelease.wiki Mon Oct 26 14:16:14 2009
@@ -0,0 +1,30 @@
+#summary These are the steps required to create a release.
+
+= Introduction =
+
+There two kinds of releases and a few issues to be aware of regarding how
to make them in a Google Code environment. Google Code doesn't provide any
kind of easy unversioned repository, which is what Maven wants to use for
the binary repository. GC *does* provide Subversion, and Subversion can
respond to http method URL requests. So a lot of projects just use SVN for
the Maven binary repository.
+
+There's a couple of challenges here. First off, if the repo URL is
configured with dav: and pointing at the SVN repo, every artifact that is
copied up is done so with a separate checkin. The noise from such an
operation on the mailing lists is unworkable as a hundred artifacts all
generate their own SVN commit (and email to go with it).
+
+The second challenge is Maven is not set up to talk to a SVN repository
that is set up to be a fileserver in this method.
+
+The two of these together describes the Google Code environment. Maven in
it's unadulterated form wants to trigger a new release in SVN with every
file copied using WebDAV, and GC doesn't provide a place for Maven to put
the files directly.
+
+= Igor's Patented Method =
+
+Basically, we tell deploy plugin to treat the filesystem as the deploy
destination, then check them in as one revision manually. Preferably, the
deploy destination is a directory that you already checked out that
contains the current repository, so when maven writes new artifacts into
it, you just simply have to add those top-level directories and check it in.
+
+{{{
+# cd [brix-trunk]
+# mvn release:prepare
+# cd ..
+# svn co https://brix-cms.googlecode.com/svn/maven2/ --depth immediates
--username yourname
+# cd [brix-trunk]
+# mvn release:perform -DaltDeploymentRepository=./maven2
+# cd maven2
+# svn commit
+}}}
+
+= SNAPSHOT Release =
+
+SNAPSHOT releases need to follow the same procedures with the appropriate
modifications.