tl;dr: The Taverna code base is no longer maintained and is provided here for archival purposes.
In 2020 the Taverna community voted to retire Taverna as a project and withdraw the code base from the Apache Software Foundation.
This code base remains available under the Apache License 2.0 (see License below), but is now simply called Taverna rather than
Apache Taverna (incubating).
While the code base is no longer actively maintained, Pull Requests are welcome to the GitHub organization taverna, which may infrequently be considered by remaining volunteer caretakers.
Releases 2015-2018 during incubation at Apache Software Foundation are available from the ASF Download Archive https://archive.apache.org/dist/incubator/taverna/
Releases 2014 from the University of Manchester are on BitBucket https://bitbucket.org/taverna/
Releases 2009-2013 from myGrid are on LaunchPad https://launchpad.net/taverna/
Releases 2003-2009 are on SourceForge https://sourceforge.net/projects/taverna/files/taverna/
Binary JARs for Taverna are available from Maven Central https://repo.maven.apache.org/maven2/org/apache/taverna/ or the myGrid Maven repository https://repository.mygrid.org.uk/
Taverna Language is a set of APIs for workflow definitions (SCUFL2), Research Object Bundles and workflow inputs/outputs/run (DataBundle), as consumed and produced by the Taverna workflow system.
The API includes support for the legacy formats from Taverna 2 and Taverna 1, and can be also used independently of Taverna 3.
The command line tool
tavlang can be used for conversion and inspection of research objects and workflow bundles.
This product includes software developed at The Apache Software Foundation.
The file NOTICE contains any additional attributions and details about embedded third-party libraries and source code.
Any contributions received are assumed to be covered by the Apache License 2.0.
.xmlworkflows (SCUFL 1)
For more details, see the READMEs of:
To build Taverna Language, use:
mvn clean install
This will build each module and run their tests, producing JARs like
taverna-scufl2-api/target/taverna-scufl2-api-0.16.0-incubating.jar. Some of the experimental modules are not built automatically, to build them separately, run the same command from within their folder.
If you are building on Windows, ensure you unpack this source code to a folder with a short path name lenght, e.g.
C:\src - as Windows has a limitation on the total path length which might otherwise prevent this code from building successfully.
To skip the tests (these can be timeconsuming), use:
mvn clean install -DskipTests
If you are modifying this source code independent of the Taverna project, you may not want to run the Rat Maven plugin that enforces Apache headers in every source file - to disable it, try:
mvn clean install -Drat.skip=true
To use the workflow parsers in Android you need to use the
android profile. This excludes any
modules which use Java 8 features (Java 7 source is ok for Android API 19 and above eg
scufl2-ufcpackage uses the diamond operator)
mvn -P android clean install
Taverna Language is a Maven project, and the easiest way to use it is from other Maven projects.
Released binaries of Taverna Language are published in Maven Central.
Typical users of this API will depend on these modules:
<dependency> <groupId>org.apache.taverna.language</groupId> <artifactId>taverna-robundle</artifactId> <version>0.16.0-incubating</version> </dependency> <dependency> <groupId>org.apache.taverna.language</groupId> <artifactId>taverna-databundle</artifactId> <version>0.16.0-incubating</version> </dependency> <dependency> <groupId>org.apache.taverna.language</groupId> <artifactId>taverna-scufl2-api</artifactId> <version>0.16.0-incubating</version> </dependency> <dependency> <groupId>org.apache.taverna.language</groupId> <artifactId>taverna-scufl2-wfbundle</artifactId> <version>0.16.0-incubating</version> </dependency> <dependency> <groupId>org.apache.taverna.language</groupId> <artifactId>taverna-scufl2-t2flow</artifactId> <version>0.16.0-incubating</version> </dependency>
To find the latest
<version> to use above (this README might not have been updated), see the [Taverna Language downloads] (https://web.archive.org/web/*/https://taverna.incubator.apache.org/download/language/).
You can alternatively copy and add these JARs from the build to add to your classpath:
See the Taverna Language Javadoc for documentation of classes and methods of Taverna Language. Good starting points:
This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.
The following provides more details on the included cryptographic software: