Build tree for the IVOA vocabulary SKOS files. Configuring and building from a checkout ======================================== To build everything, including both the document and the distributed SKOS files, you need: * rapper: from * cwm: you need the CVS version from * BibTeX, to build the bibliography in doc/ * xsltproc or Saxon (xsltproc built with libxslt 10111 is OK; Saxon 8 is OK) Then do: % ./configure 'CWM=python "/path/to/checked out/cwm.py"' % make (yes, autoconf is slightly over the top for a project which isn't designed to be built after distribution, but it's the most straightforward way to do the various substitutions required, avoiding a lot of Makefile fuss). The cwm command can be given as shown (which works from a checked out but not installed SWAP), but note the quotes. If you install cwm in a standard python way, so that just 'cwm' at the command line works, then setting this should be unnecessary (but I haven't been able to work out how one is actually supposed to install cwm, so I can't really check this). If you have problems installing xsltproc, install Saxon (which requires Java) and give the ./configure option --with-saxon=/path/to/saxon8.jar Document only ============= If you only want to build the document, then all you need to have installed is BibTeX, plus either xsltproc or Saxon; and all you need to do is: % ./configure % cd doc % make It doesn't matter in this case if rapper, python and tar aren't found, and you don't need to install cwm in this case. Note that this works because the (generated) configure script is checked in to the repository, to make this step more convenient: this implies that if you do need to adjust configure.ac you do need to regenerate the ./configure script by hand. There is nothing to build after distribution. Maintenance =========== To add a vocabulary: 1. Create the appropriate subdirectory under src/, say src/NewVocab 2. Add a Makefile.in in that directory which creates at least src/NewVocab/NewVocab.ttl, src/NewVocab/NewVocab.rdf and src/NewVocab/Notes. The Makefile.in should allow its release information to be set in the same way that src/AOIM/Makefile.in (for example) does. 3. Add NewVocab to src/Makefile.in's SUBDIRS variable. 4. Add the new Makefile.in to the bottom of configure.ac and regenerate ./configure using autoconf. To make a release: 1. Copy the trunk to a tagged tree using, for example, % svn copy https://volute.googlecode.com/svn/trunk/ \ https://volute.googlecode.com/svn/tags/vocabularies-0.01 \ -m "Tag release 0.01 of vocabularies project" 2. Check out that tag and build a distribution using just the instructions above. If any minor fixes are required, it's probably OK to make them on that tag-branch and re-merge them with the trunk, but I haven't done that myself. 3. Upload the distribution tarball to the 'downloads' section of volute.googlecode.com (at present). In future, (the contents of) this distribution tarball should be submitted to the IVOA documents process. Details to come.