veda - Manage SKILL/SKILL++ workflows
veda command [arg]...
veda-run-ilx script [script-arg]...
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.
Please use veda help
command for detailed information about a specific command.
Display help information pertaining to command, or to the veda
tool if no command is specified
Print version information
Interactively setup, check and repair environment
Run SKILL/SKILL++ from the command-line
Edit code with a powerful IDE
Set up a new project workarea
Create a new skeleton package
Add package(s) to project workarea
Run the test suite of a package
Create job(s) for Jenkins CI
Format SKILL/SKILL++ source code
Generate HTML documentation
Generate static API definitions
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:
$XDG_CONFIG_HOME/crosstwine/veda/doctor-1.env
;
$XDG_CONFIG_HOME/crosstwine/veda/user.env
;
workarea/.veda/wa.env
, if the command is run from anywhere within a workarea (cf. veda help new-workarea
).
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.
*/
'
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.
dirtree
,directoryA 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
,directoryA 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/
.