tree: 529579411768bc5d5c54cfe72366857e0ac71618 [path history] [tgz]
  1. taverna-commandline-api/
  2. taverna-commandline-common/
  3. taverna-commandline-launcher/
  4. taverna-commandline-product/
  5. taverna-commandline-tests/
  6. .gitignore
  7. .travis.yml
  8. DISCLAIMER
  9. LICENSE
  10. NOTICE
  11. pom.xml
  12. README.md
README.md

Taverna Command-line Tool

Taverna Project Retired

tl;dr: The Taverna code base is no longer maintained and is provided here for archival purposes.

From 2014 till 2020 this code base was maintained by the Apache Incubator project Apache Taverna (incubating) (see web archive and podling status).

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.

Previous releases

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/

About Taverna Command-line Tool

Taverna Command-line Tool provides a shell command for executing Taverna workflows, defined using either the Taverna Language API in the SCUFL2 .wfbundle format, or in the .t2flow format from Taverna Workbench 2.5.

Workflow inputs can be provided as parameters or files, while outputs can be saved either to a folder or a Research Object bundle including detailed provenance, which can be inspected using Taverna Language's DataBundle support.

In addition to the Taverna Common Activities, the Command-line supports plugins using Taverna OSGi services.

Note that, except for command-line handling, this module relies on other Taverna components for the actual workflow execution.

License

  • (c) 2007-2014 University of Manchester
  • (c) 2014-2020 Apache Software Foundation

This product includes software developed at The Apache Software Foundation.

Licensed under the Apache License 2.0, see the file LICENSE for details.

The file NOTICE contains any additional attributions and details about embedded third-party libraries and source code.

Contribute

Taverna Command-line Tool product relies on other Taverna components which have their own source code repositories.

Any contributions received are assumed to be covered by the Apache License 2.0.

Prerequisites

  • Java 1.8 or newer (tested with OpenJDK 1.8)
  • Apache Maven 3.2.5 or newer (older versions probably also work)

This code relies on other Taverna modules, which Maven should download automatically from Apache's Maven repository; however you might want to compile these yourself in the order below:

Please see the <properties> of this pom.xml to find the correct versions to build.

Building

To build, use

mvn clean install

This will build each module and run its tests.

Note that this repository relies on other Taverna modules which will be downloaded from Maven repositories if they are not already present in the equivalent of your ~/.m2/repository in the correct version.

Building on Windows

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.

Skipping tests

To skip the tests (these can be time-consuming), 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

SNAPSHOT dependencies

If you are building a non-released version of this repository, (e.g. the pom.xml declares a -SNAPSHOT version), then Maven might download unreleased snapshot builds for other -SNAPSHOT Taverna dependencies.

If you are developing one of the Taverna modules and want to test it with the Taverna Command-line Tool, make sure you build it locally first with mvn clean install to avoid downloading it from the snapshot repository.

Then check that the the <properties> section of the pom.xml matches the <version> of the module you are developing. See also taverna-commandline-product/pom.xml to hard-code versions of other dependencies.

The default SNAPSHOT update policy for mvn is daily - you can modify this behaviour with --update-snapshots or --no-snapshot-updates

Binary distribution

To build a binary distribution ZIP file that includes third-party dependencies as JAR files, build with the -Prelease option, which would make taverna-commandline-product/target/apache-taverna-commandline-3.1.0-incubating-release.zip or equivalent.

After building, see the file target/maven-shared-archive-resources/META-INF/DEPENDENCIES for details of the licenses of the third-party dependencies. All dependencies should be compatible with Apache License 2.0.

Running

After building, see the taverna-commandline-product/target directory. Inside you should find a folder like apache-taverna-commandline-3.1.0-incubating/ which contains the built Taverna Command-line Tool product.

If you prefer a ZIP file, then instead build with the Maven -Prelease option. You can then unzip at a location of your choice.

If you are running on Windows you may need to put Taverna Command-line Tool in a folder high in the disk hierarchy (e.g. C:\Taverna), this helps avoid problems with Windows path-length restrictions.

Running executeworkflow.sh (or executeworkflow.bat) without arguments will show the help:

$ ./executeworkflow.sh
usage: executeworkflow [options] [workflow]
-bundle <bundle>                        Save outputs to a new Workflow
                                     Run Bundle (zip).
-clientserver                           Connect as a client to a derby
                                     server instance.
-cmdir <directory path>                 Absolute path to a directory
                                     where Credential Manager's files
                                     (keystore and truststore) are
                                     located.
...

The folder examples contains a Hello World type example workflow in SCUFL2 format.

$ ./executeworkflow.sh examples/helloworld.wfbundle
Outputs will be saved to the directory: /home/johndoe/apache-taverna-commandline-3.1.0/Hello_World_output
Workflow completed.

$ cat Hello_World_output/greeting ; echo
Hello, World!

On Windows:

C:\home\apache-taverna-commandline-3.1.0>executeworkflow.bat examples\helloworld.wfbundle
Outputs will be saved to the directory: C:\home\apache-taverna-commandline-3.1.0\Hello_World_output
Workflow completed.

C:\home\apache-taverna-commandline-3.1.0>type Hello_World_output\greeting
Hello, World!

Export restrictions

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: