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
.
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.
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.
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.
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.
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
.
This task uses CLOC (Count Lines of Code) to count the lines of code in different languages of the application.
This tasks describes a few aspects of the application. Availabel filters are: description, authors, bugs, copying, resources, and security information.
This task describes one or more shell commands. If a specific command is requested, only this command is described. Otherwise, all commands are described.
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.
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.
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.
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.
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.
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.
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.
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/ .
Executes a program with various options. The program can be started in the background or in a new XTerm.
This task lists commands in simple list or table form.
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.
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.
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.
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.
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.
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.
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.
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
.
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.
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).
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
.
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.
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.
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.
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.
Starts a new XTerm using the setting from the parameter XTERM
.
The title can be set using the task options.
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.
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 for the given number of seconds before the next command is executed. The action here is a simple sleep.