Skip to end of metadata
Go to start of metadata

This document describes the steps for building Taverna 2 as of 2008-12-09. The table below explains the steps that have to be done on each deployed module and the order in which the modules need to be deployed.

Set-up

You would normally do:

  • Get a copy of the latest CVS repository from Sourceforge locally
  • Create a local svn repository where you'll deploy stuff (e.g. /Users/alex/T2Build-2008-12-08/repository/) and check out from the rosalind's svn repository with:

The svn repository on rosalind is located in /local/svn and this is where you'll commit stuff from your local svn after deploying to in.
To have a look at that repository do:

  • There is a web directory at rosalind located in /var/www/mygrid/maven/repository where you'll copy over the rosalind's svn repository after committing the changes in the local svn repository with:

This directory is visible from the Internet and is used by Taverna to download stuff it needs.

Other Useful Commands

  • List all files starting from the current directory, then exclude lines containing words /target/, CVS and /bin/, and finally look for occurrences of the word 'SNAPSHOT' in the remaining files:
  • Deploy whatever is in the current directory to the local svn repository located in /Users/alex/T2Build-2008-12-08/repository/:
  • To see what was actually modified in the svn repository and make sure you are not updating something that is already there:
  •   To schedule all that has changed in the svn repository for committing:
  • To commit all changes in the current directory to the svn repository
  • To have maven check for missing or unused dependencies
  • To create MD5 and SHA-1 checksums of files

Modules & Operations

Module name Stable POM version of the module
Latest dependencies of the module
Grep for SNAPSHOT mvn clean install works?
mvn deploy to the local svn repository (see command 2 above)
svn add+commit to our svn repository on rosalind
(see command 3  above)
Commit stable POMs of the module and all changes to CVS Tag stable module version in CVS Update the module with new SNAPSHOT POMs Grep for old versions in POMs and other files mvn clean install works with new SNAPSHOT versions? Commit new POMs and changes in CVS  Do svn update on the web version of repository (rosalind:/local/www/mygrid/maven/repository)
utils/jedit-syntax
2.2.2-taverna-2008-11-28 None None Yes Yes Yes Yes jedit-syntax-2-2-2-taverna-2008-11-28 jedit-syntax 2.2.2-taverna-SNAPSHOT None   yes yes
utils/lang 0.4 lang 0.4
None yes
Yes
yes
yes lang-0-4
lang 0-5-SNAPSHOT
None yes
yes
yes
utils/raven-parent 1.9 raven 1.9
Changed LocalRepository, ApplicationRuntime
yes
yes
yes yes raven-1-9
raven 1.10-SNAPSHOT
None
yes yes yes
utils/spi-discovery-api 0.4
raven 1.9
observer 0.4
None
yes
yes yes yes spi-discovery-0-4
spi-discovery 0.5-SNAPSHOT
0.5-SNAPSHOT
observer 0.5-SNAPSHOT
raven 1.10-SNAPSHOT
None
yes
yes
yes
taverna1.0 1.7.2 raven 1.9
zaria 1.9
raven-log4j 1.9
arhetypes-perspective 1.0.1
archetypes-localworker 1.3
workflowlauncher 0.1.3
None (ignored jdepend-maven-plugin 2.0-beta-1-SNAPSHOT)
yes yes yes yes taverna-1-7-2-0 taverna 1.7.2.1-SNAPSHOT
arhetypes-perspective 1.0.2-SNAPSHOT
archetypes-localworker 1.4-SNAPSHOT
workflowlauncher 0.1.4-SNAPSHOT
Left old versions of:
raven 1.9
zaria 1.9
raven-log4j 1.9
None yes yes yes
wsdl-generic
1.3
taverna1.0 (only for tests) 1.7.2.0 
None
yes
yes
yes
yes
wsdl-generic-1-3
wsdl-generic-1-3-SNAPSHOT
taverna 1.7.2.1-SNAPSHOT
None
yes
yes
yes
t2platform 0.2 raven 1.9
None yes yes yes yes t2platform-0-2 t2platform 0.3-SNAPSHOT
raven 1.10-SNAPSHOT
None yes yes yes
t2reference 0.2 t2platform 0.2
None
yes yes yes yes t2reference-0-2 t2reference 0.3-SNAPSHOT
t2platform 0.3-SNAPSHOT
None yes yes yes
t2referene-testhelpers 0.2 t2reference-api 0.2 None
yes yes yes yes
t2reference-testhelpers-0-2
t2referene-testhelpers 0.3-SNAPSHOT
t2reference-api 0.3-SNAPSHOT
None
yes yes yes
t2reference-integration-tests 0.2 t2reference-api 0.2
t2platform 0.2
t2reference-core-extensions 0.2
t2reference-impl 0.2
t2reference-testhelpers 0.2
raven 1.9
None
yes
yes
yes


t2reference-integration-tests 0.3-SNAPSHOT
t2reference-api 0.3-SNAPSHOT
t2platform 0.3-SNAPSHOT
t2reference-core-extensions 0.3-SNAPSHOT
t2reference-impl 0.3-SNAPSHOT
t2reference-testhelpers 0.3-SNAPSHOT
raven 1.10-SNAPSHOT
None
yes
yes
yes
t2reference-ui
0.3
...
None
yes
yes
yes
yes
t2reference-ui-0-3
t2reference-ui 0.4-SNAPSHOT
None
yes
yes
yes
t2core
0.4
spidiscovery 0.4
raven 1.9
taverna1.0 1.7.2.0
t2security 0.4
(ref. to workflowmodel-api 0.4, workflowmodel-impl 0.4, t2reference-api 0.2, t2reference-impl 0.2, platform 0.2, raven 1.9, raven-log4j 1.9 from some xml files)
None yes yes
yes yes
t2core-0-4 t2core 0.5-SNAPSHOT
spidiscovery 0.5-SNAPSHOT
raven 1.10-SNAPSHOT
taverna1.0 1.7.2.1-SNAPSHOT
t2security 0.5-SNAPSHOT
(ref. to workflowmodel-api 0.5-SNAPSHOT, workflowmodel-impl 0.5-SNAPSHOT, t2reference-api 0.3-SNAPSHOT, t2reference-impl 0.3-SNAPSHOT, platform 0.3-SNAPSHOT, raven 1.10-SNAPSHOT, raven-log4j 1.10-SNAPSHOT from some xml files)
      yes
security-profiles 0.2
raven-parent/appconfig 1.9
None
yes yes yes
yes security-profiles-0-2 security-profiles 0.3-SNAPSHOT
raven-parent/appconfig 1.10-SNAPSHOT
yes
yes
yes yes
t2security-agents
0.2
security-profiles 0.2
None
yes yes
yes
yes t2security-agents-0-2 t2security-agents-0-3-SNAPSHOT
security-profiles 0.3-SNAPSHOT
yes yes
yes
yes
credential-manager
0.2
raven-parent/appconfig 1.9
t2security-agents  0.2
None yes
yes yes yes
credential-manager-0-2 credential-manager 0-3-SNAPSHOT
raven-parent/appconfig 1.10-SNAPSHOT
t2security-agents  0.3-SNAPSHOT
yes
yes
yes
yes
t2workbench 0.2 credential-manager 0.2
...
change prelauncher in run.sh and run.bat
None
yes
yes
yes
yes t2workbench-0-2 ...
None
yes
yes
yes
derby-provenance
0.1
t2core/provenanceconnector-impl 0.4
None
yes
yes
yes
yes
derby-provenance-0-1
derby-provenance 0.2-SNAPSHOT
t2core/provenanceconnector-impl 0.5-SNAPSHOT
None
yes
yes
yes
martservice
0.7.1
None
None
yes
yes yes
yes
martservice-0-7-1
martservice 0.7.2-SNAPSHOT
None
yes
yes
yes
t2activities
0.4
martservice 0.7.1
...
None
yes
yes
yes
yes
t2workbench-0-4
t2workbench 0.5-SNAPSHOT
martservice 0.7.2-SNAPSHOT
...
None
yes
yes
yes
t2workbench-extension
0.2
t2workbench 0.2
t2activities 0.4
t2core 0.4
utils/lang/ui 0.4
utils/lang/observer 0.4
None
yes
yes
yes
yes
t2workbench-extensions-0-2
t2workbench 0.3-SNAPSHOT
t2activities 0.5-SNAPSHOT
t2core 0.5-SNAPSHOT
utils/lang/ui 0.5-SNAPSHOT
utils/lang/observer 0.5-SNAPSHOT
None
yes
yes
yes

Assemble the Application

After all the modules have been deployed, you have to make sure you have the tagged version of t2workbench (i.e. not the one with SHANPSHOT poms) - in this case it was tagged as t2workbench-0-2, as this is where the application assembly is taking place. Go to t2workbench/application and do:


This should build an application directory inside t2workbench/application/target with application-XXX-bin.zip. Copy it somewhere and unzip it - go inside the application-XXX dir and run it with run.sh/run.bat.

Create Release for Various OS Versions

Go to the Library/Application Support/taverna ... (on Mac OS) and copy the freshly downloaded repository (when starting the application for the first time) to the directory where you unzipped the above assembled zip. This way we ship the repository as well so it will not take so much time to start Taverna up for the first time.

Add README.txt.

Make sure splash screen is OK.

Change plugins-sites.xml to have the right url.

Rezip the whole directory where you unzipped application-XXX-bin.zip, now with the new repository:

  • Linux/Unix: just create tar.gz file of the above application-XXX directory
  • Windows: use NullSoft Scriptable Install System (NSIS) to create an executable zip.
  • Mac OS: basically copy the previous .app template and change the prelauncher version and other bits in Info.plist, copy the new repository, conf, lib, etc. directories from application/target/application-XXXX-bin.dir/ and use Disk Utility to create a new disk image (had to create one with 150 MB to be big enought to hold the Taverna2.0.app) and then add the new .app to it and that's it. However, this does not create the fancy Application folder where user can just drag the app - see http://www.mygrid.org.uk/wiki/Mygrid/MacRelease for instructions.


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.