Tasks

Tasks are the application elements providing most of the application functionality. The framework, and all its applications, allows to add any task with any functions using a very simple API. The core framework provides a set of tasks for the framework. Concrete applications can add any task for application specific functions. Tasks can define requirements in terms of dependencies and parameters and other important aspects. They can also be specified for a specific application mode, i.e. one of dev, build, and / or use.

build-cache, bdc - builds cache for screens and maps

This task builds a cache for an application with various options for targets. It uses the parameter CACHE_DIR for the cache location. A cache of application elements can speed-up the loader. A cache of task can speed-up the help function of tasks. While on native UNIX/LINUX system on good-powered machines the cache might not make much of a difference, on other machines it can improve the application’s runtime behavior.

build-help, bdh - builds help files for loader and shell

This task builds the main help files for the application. It should only be run when an application distribution (e.g. DEB or RPM) is created.

build-manual, bdm - builds the manual for different targets

This tasks builds the application manual. It comes with various options for targets (manual formats) and filters (manual content). There are two primary targets: text and adoc. Here, text can be ANSI text (with colors and effects), plain text (just text), or annotated text (using ASCII characters for some formatting). The adoc target creates an Asciidoctor file. This file is then used to create secondary targets, such as a manpage, a HTML file, or a PDF file. Other secondary targets can be added, as long as they are supported by the Asciidoctor tool chain.

Filters can be used to select which content should be part of the produced manual. All filters apply to all selected targets.

There are further options for dependencies, parameters, and tasks. For instance: the manual can include all tasks or only tasks loaded in the current application mode.

A special target is called src. This target allows to create well-formatted text paragraphs from the original ADOC source. This option uses the SKB Framework Tool for the translation.

build-mvn-site, bdms - builds one or more Maven sites

This task will build Maven sites. It uses Apache Maven for the build process. The sites need to be provided by he parameter MVN_SITES. Several options are available to control the build process.

clean, cl - removes built artifacts

This task will clean, i.e. remove all create artifacts. It starts calling the --clean option of all tasks starting with build- and compile-. Then it will remove the target directory set by the parameter TARGET.

cloc-installation, cloci - counts lines of code of an installation

This task uses CLOC (Count Lines of Code) to count the lines of code in different languages of the application.

describe-application, da - describes the application

This tasks describes a few aspects of the application. Availabel filters are: description, authors, bugs, copying, resources, and security information.

describe-command, dc - describes a shell command

This task describes one or more shell commands. If a specific command is requested, only this command is described. Otherwise, all commands are described.

describe-dependency, dd - describes a dependency

This task describes one or more dependencies. If a specific dependency is requested, only this dependency will be described. Otherwise, all dependencies are described. Filters can be applied for a complete description, such as a specific origin or status.

describe-element, de - describes the elements of an application

This task provides the general descriptions of application elements. By default, all of those descriptions are shown. Otherwise, the task filters can be used to exclude parts of them.

describe-exitstatus, des - describes exit status (error codes)

This task describes one or more exit status. If a specific exit status is requested, it will be described. Otherwise, all exit status codes will be described.

describe-option, do - describes CLI options

This task describes one or more CLI options of the application. If a specific option is requested, only this option is described. Otherwise, all options are described. Filters can be applied to the description of all options.

describe-parameter, dp - describes a parameter

This task describes one or more parameters. If a specific parameter is requested, only this parameter is described. Otherwise, all parameters are described. Filters can be applied to the description of all parameters, for instance only a specific origin or status.

describe-scenario, ds - describes a scenario

This task describes one or more scenarios. If a specific scenario is requested, only this scenario is described. Otherwise, all scenario are described. Filters can be applied to the description of all scenarios, for instance only a specific origin or status.

describe-task, dt - describes a task

This task describes one or more tasks. If a specific task is requested, only this task is described. Otherwise, all tasks are described. Filters can be applied to the description of all tasks, for instance only a specific origin or status.

download-fw-tool, dfwt - uses curl to download the framework tool

This task downloads the SKB Framework Tool. This tool is an executable Java JAR file. It provides mechanisms to convert plain text into formatted text. The tool is for instance used by the task build-manual to convert ADOC sources into formatted plain text.

The task takes the value of the parameter SKB_FRAMEWORK_TOOL as file name. The JAR file is published on Bintray in a generic repository. The download URL without the file name is: https://dl.bintray.com/vdmeer/generic/ .

execute-program, ep - executes a program with several options

Executes a program with various options. The program can be started in the background or in a new XTerm.

list-commands, lc - lists shell commands

This task lists commands in simple list or table form.

list-configuration, lcfg - lists current configuration

This task lists the current configuration in simple list or table form. The table form provides additional information for each configuration item. Filters can be applied to the list.

list-dependencies, ld - lists dependencies

This task lists dependencies in simple list or table form. The table form provides additional information for each dependency. Filters can be applied to the list.

list-exitstatus, les - lists exit status, error codes

This task lists application exit status in simple list or table form. The table form provides additional information for each exit status. Filters can be applied to the list.

list-options, lo - lists CLI options

This task lists CLI options in simple list or table form. The table form provides additional information for each options. Filters can be applied to the list.

list-parameters, lp - lists parameters

This task lists parameters in simple list or table form. The table form provides additional information for each parameter. Filters can be applied to the list.

list-scenarios, ls - lists scenarios

This task lists scenarios in simple list or table form. The table form provides additional information for each scenario. Filters can be applied to the list.

list-tasks, lt - lists tasks

This task lists tasks in simple list or table form. The table form provides additional information for each task. Filters can be applied to the list.

make-target-sets, mts - runs build on one or more target sets

This task will execute so called Target Sets (TS). It requires a file skb-ts.id to define the target set and an associated file skb-ts-scripts.skb with the function to run. The task then takes required targets as argument and runs them in the right order. The target sets need to be provided by he parameter MAKE_TARGET_SETS.

manual, man - shows the manual in various versions

This task shows the application manual. The default is to show the text version for the current print mode. Other formats, such as HTML and PDF or manpage, can be selected using task options.

repeat-scenario, rs - repeats the execution of a scenario

This task will repeat a given scenario. The repetition can be configured in terms of: times (how often to re-run the scenario) and wait (how long to wait between repetitions).

repeat-task, rt - repeats the execution of a task

This task will repeat a given task. The repetition can be configured in terms of: times (how often to re-run the task) and wait (how long to wait between repetitions). The task, including parameters, should be provided after -- in the command line. For example, to repeat the task t1 5 times, use: repeat-task --times 5 — t1.

set-file-versions, sfv - sets version information in source file comments

This task changes version information in source file headers. It runs Apache ANT using a simple build script, which in turn calls a macro that changes the version line. The default build and macro files change java files and all relevant framework files. These files can be used as template for writing other substitutions, if required.

setting, set - changes settings

This task allows to change selected runtime settings. Changeable settings include: shell and task level, strict mode, no prompt for the shell, and print mode.

start-browser, sb - starts browser with an optional URL

Starts a web browser using the setting from the parameter BROWSER. The URL option of the task sets theURL to be loaded in the browser.

start-pdf-viewer, spv - starts a PDF viewer with a PDF document

Starts a PDF viewer using the setting from the parameter PDF_VIEWER. The file option of the task sets the PDF file to be loaded in the viewer.

start-xterm, sx - starts a new Xterm

Starts a new XTerm using the setting from the parameter XTERM. The title can be set using the task options.

statistics, stats - prints statistics

This task shows statistics of the applications and loaded or processed elements. The statistics can be filtered per element class, for instance tasks or parameters.

validate-installation, vi - validates an installation

This task validates the application installation. Validation here means that all required files, including documentation files, will be checked. The validation can be run in strict mode, which means that strict warnings become errors. The task can be configured with targets, determining what the validation should focus on.

wait, w - sleep for specified time

Wait for the given number of seconds before the next command is executed. The action here is a simple sleep.