Our current release process (git archive) is not sufficient to make it easy for users of released tarballs to build Batteries. We need to enhance the build process, either in the make release target or a new shell script, to allow the following:
The release process should still be as easy as a single, simple command. Tarballs should also be clean, not including excess built files, editor backup files, etc.
It is probably fine to require that tarballs be generated from a Git clone (as opposed to allowing releases to be cut from unpacked tarball directories), although we may want to consider allowing releases to be made without depending on Git.
As of earlier today, the user doesn't need ruby any more to get "make test" to work.
I've merged an _oasis file - if we want to use it for our main build system, we'll have to either commit the result of running oasis setup into git or we'll have to generate it as part of the release process. The problem with committing the setup.ml file is merging the release branch back into master will result in merging two setup.ml files, something that we just shouldn't do.
I'm inclined to generate the setup file at release time. In general, I don't like sticking generated files in version control.
Agreed, except I don't want to force everyone that wants to compile the development batteries to get oasis (which is a pain). That said, this is only an issue if/when we use oasis as our primary build system, and if odb doesn't make installing oasis (and batteries, possibly from git) easy.
This thread looks a bit out-of-date. Getting oasis nowadays isn't a pain (anymore?), with opam. Building the release tarball is indeed just make release (it cleans up build also).