taverna.language.version
1 file changed
tree: 1a82cd5e04c655c524793d2db4d76590064df509
  1. .gitignore
  2. .travis.yml
  3. DISCLAIMER
  4. LICENSE
  5. NOTICE
  6. README.md
  7. pom.xml
  8. taverna-commandline-api/
  9. taverna-commandline-common/
  10. taverna-commandline-launcher/
  11. taverna-commandline-product/
  12. taverna-commandline-tests/
README.md

Apache Taverna Commandline

Launcher for running Apache Taverna workflows.

Note that except for command line parsing, this module relies on other Apache Taverna modules for the actual workflow execution.

License

(c) 2007-2014 University of Manchester

(c) 2014-2016 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 contain any additional attributions and details about embedded third-party libraries and source code.

Contribute

Please subscribe to and contact the [dev@taverna](http://taverna.incubator.apache.org/community/lists#dev mailing list) for any questions, suggestions and discussions about Apache Taverna.

Bugs and feature plannings are tracked in the Jira Issue tracker under the TAVERNA component Taverna Commandline. Feel free to add an issue!

To suggest changes to this source code, feel free to raise a GitHub pull request.

Apache Taverna Command Line product relies on other Taverna component which have their own source code repositories.

Any contributions received are assumed to be covered by the Apache License 2.0. We might ask you to sign a Contributor License Agreement before accepting a larger contribution.

Disclaimer

Apache Taverna is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.

Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects.

While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

Prerequisites

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

Building

To build, use

mvn clean install

This will build each module and run their tests.

Note that this repository relies on other Apache 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.

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 Apache 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

Nightly builds

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 internal -SNAPSHOT Taverna dependencies.

If you want to avoid this, make sure you have built the corresponding Apache Taverna modules first. The default SNAPSHOT update policy for mvn is daily - you can modify this behaviour with --update-snapshots or --no-snapshot-updates

There is a nightly build of taverna-commandline-product using the -Pnighty profile, which produces a downloadable taverna-command-line-product-3.1.0-incubating-SNAPSHOT-nightly.zip - this

This should in theory contain all the needed dependencies (see lib/) and an executeworkflow.sh / executeworkflow.bat that can run Taverna 3 workflows.

NOTE: These nightly builds should not be propagated beyond the dev@taverna community as they do not constitute an official Apache Release, and are provided only for development and testing purposes.

Release distribution

To build a released version as a distributable 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.

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-SNAPSHOT-dev/ which contain the Apache Taverna Command Line product.

If you prefer a ZIP file, then build instead with the Maven options -Pnightly or (for released versions) -Prelease. You can then unzip at a location of your own choice.

$ ./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 contain a Hello World type example workflow in SCUFL2 format.

$ ./executeworkflow.sh examples/helloworld.wfbundle
Bundle: /tmp/robundle475236702008690452/robundle.zip
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!