NAME

veda - Manage SKILL/SKILL++ workflows

SYNOPSIS

veda command [arg]...
veda-run-ilx script [script-arg]...

DESCRIPTION

Veda is a suite of modern tools and libraries for EDA developers.

The veda command-line tool is the main entry point for managing SKILL/SKILL++ workflows from the command-line.

See COMMANDS below for a description of the available commands. Detailed help for each command is accessible via veda help command; note that many of these manual pages contain an EXAMPLES sections to help you getting started.

The veda-run-ilx executable is a synonym for veda run-ilx, but is included as a separate tool so that it can be used via a Unix-like "shebang" line; cf. veda help run-ilx for more information.

COMMANDS

Please use veda help command for detailed information about a specific command.

help [command]...

Display help information pertaining to command, or to the veda tool if no command is specified

version

Print version information

doctor

Interactively setup, check and repair environment

run-ilx script [script-arg]...

Run SKILL/SKILL++ from the command-line

edit [options]

Edit code with a powerful IDE

new-workarea [options] wa-name

Set up a new project workarea

new-package pkg-name [options]

Create a new skeleton package

add-package pkg-name...

Add package(s) to project workarea

test-package [options] [pkg-name...]

Run the test suite of a package

new-jenkins-job [options] pkg-name...

Create job(s) for Jenkins CI

format [options] file...

Format SKILL/SKILL++ source code

doc [options] [pkg...]

Generate HTML documentation

condense [options] [file...]

Generate static API definitions

ENVIRONMENT

Various commands are affected by VEDA_* environment variables.

These can variables be set either from the shell, or from one of the following files, each one overriding the previous, in order:

where $XDG_CONFIG_HOME is a modern Linux convention and defaults to $HOME/.config.

Note that the first of these files is autogenerated, and that comments/extras will be overwritten on each update, whereas user.env is reserved for manual editing. Here is an example doctor-1.env:

# Autogenerated file.  Removing entries from this file
# is okay, but comments and other variables will be
# lost at the next rewrite.
#
# Please edit '~/.config/crosstwine/veda/user.env' instead.

VEDA_USER_NAME=Wile\ E.\ Coyote
VEDA_USER_EMAIL=wile.e.coyote@acme.corp

and an example user.env:

# Acme, Inc. is the copyright holder.
VEDA_COPYRIGHT_ASSIGN='Acme Rocket-Powered Products, Inc.'

# Note the multiline license banner.
VEDA_LICENSE_BANNER='
/*
 * All Rights Reserved.
 *
 * NOTICE: All information contained herein remains
 * the property of Acme Rocket-Powered Products, Inc.
 */
'

Variables

The following configuration variables are supported:

VEDA_USER_NAME

The user's full name, e.g. Wile E. Coyote. Mandatory; some commands will complain if that variable is not present in the user's environment. Can be set interactively via veda doctor;

VEDA_USER_EMAIL

The user's email address, e.g. wile.e.coyote@acme.corp. Mandatory, as with VEDA_USER_NAME;

VEDA_COPYRIGHT_ASSIGN

Used when filling the copyright holder field in templates. Optional, defaults to a placeholder. E.g. Wile E. Coyote, or Acme Rocket-Powered Products, Inc.;

VEDA_LICENSE_BANNER

Used when filling the license banner field in templates. Optional, defaults to a placeholder. E.g.

;; All Rights Reserved.
;;
;; NOTICE: All information contained herein remains
;; the property of Acme Rocket-Powered Products, Inc.
VEDA_SKILL_BIN

Path to the bare-bones SKILL interpreter binary. If not set or invalid, a number of bin subdirectories of $CDSHOME are searched;

VEDA_DBACCESS_BIN

Path to the db-enabled SKILL interpreter binary. Falls back to $CDSHOME/**/bin as for VEDA_SKILL_BIN;

VEDA_VIRTUOSO_BIN

Path to the Virtuoso binary. Falls back to $CDSHOME/**/bin as for VEDA_SKILL_BIN;

VEDA_PACKAGE_SOURCES

A colon-separated list of package sources. Note that this variable is not used by Veda's package loader, but only when adding packages to the current workarea (veda help add-package).

Each source has the form method,args, e.g.

dirtree,/my/pkg/deployed/:gittree,/my/pkg/repos/

Note that add-package always appends its own pkg/ directory to the list of sources, as in:

dirtree,<install-dir>/share/veda/0.7.0/pkg/

Cf. PACKAGE_SOURCES section for more information;

VEDA_JENKINS_CLI_JAR

Default for new-jenkins-job's --cli-jar option; cf. veda help new-jenkins-job for details;

JENKINS_URL:

Default for new-jenkins-job's --url option; cf. veda help new-jenkins-job for details.

PACKAGE_SOURCES

dirtree,directory

A directory tree containing deployed packages, as in the share/veda/0.7.0/pkg/ subdirectory of the Veda installation:

$ ls share/veda/0.7.0/pkg/
csv  package  testing
$ ls share/veda/0.7.0/pkg/*/{csv,package,testing}.ils
share/veda/0.7.0/pkg/csv/csv.ils
share/veda/0.7.0/pkg/package/package.ils
share/veda/0.7.0/pkg/testing/testing.ils
gittree,directory

A directory tree containing Git repositories, one per package. Each of these repositories can either be bare or have an associated working directory, but the latter, if any, is left untouched. Example:

$ ls /my/pkg/repos/
json.git       veda.git    http.git
package.git    csv.git     xml.git
testing.git    doc.git
$ git --git-dir=/my/pkg/repos/csv.git log -1
commit 4655b0478c89dbb24a7813bfe4cf029642cf4df3
Author: Wile E. Coyote <wile.e.coyote@acme.corp>
Date:   Wed Jan 2 21:44:16 2013 +0100

    csv: Keep track of line numbers; report them in errors

can be included via gittree,/my/pkg/repos/.

SEE ALSO

Crosstwine Veda on the Web