The source code of Taverna 2 is kept in a Subversion
repository, hosted by Google Code Project hosting
.
| CVS Note that historic source code (Taverna 1) is archived in our SourceForge CVS repository |
You can browse
the Subversion repository at the Google code pages, or access http://taverna.googlecode.com/svn/taverna/
directly in your Subversion client.
If you want write access to the official repository, see developer access. To get write access to the mygrid-labs repository is less strict and open to anyone interested, as we only require the copyright agreement for the official code.
Code repositories
- http://taverna.googlecode.com/svn/
- Official Taverna Subversion repository - browse
- http://mygrid-labs.googlecode.com/svn/
- Experimental/3rd party work built on Taverna - browse
- http://taverna-plugins.googlecode.com/svn/
- (Legacy repository) for Taverna plugins browse
Checking out Taverna from source
| Checking out the source Follow the Checking out Taverna source code, compiling, running and debugging tutorial for a step-by-step guide on how to check out, build and work with Taverna's source code. |
Repository structure
Basically all the source code for a Taverna Workbench Build is organized below the /taverna folder. The top-level folders are:
- /taverna
- The source code for Taverna and supporting libraries - /unsorted
- New/experimental modules that are not yet sorted inside /taverna - /wiki
- Back-end for the Taverna Google Code wiki pages (not used)
The /taverna folder is organised by category, which again contain individual Maven projects. The projects have "full" names like net.sf.taverna.t2.core, reflecting their Maven groupID, and have the Subversion standard trunk/branches/tags folder structure:

This structure makes it possible to release each of these projects independently, as they will have their own version numbers and tags/branches. As there's about 20 of these projects, they are again organised into main categories:
- parent Common Maven parent POM that says how to compile, deploy, etc
- utils Independent utilities that are not really Taverna-specific
- engine Workflow engine, including infrastructure (raven/plugin manager) and the standard activities
- compatibility Support for loading Taverna 1 workflows
- ui User interface for Workbench
- products End-products packaging based on all of the above, such as the Taverna Workbench or Taverna Command Line.
- dev Maven archetypes, XML schemas
- builds Virtual build trees for all of Taverna - if you prefer to check out everything at once
See the documentation about Maven modules for further details about the content of these categories.