This is the main command to build a quasar-based OPC-UA server.
Syntax:
./quasar.py build [--builder builder] [buildType]
Where:
Prints the currently chosen build
configuration file.
TODO: see also "set_build_config"
Checks the consistency of the project,
checking that all the files that must exist do exist, everything
is in svn and the md5 keys are correct.
The following classes of errors might be reported:
If you do in-source builds (the default), you can clean your
repository from the build artifacts and temporary files.\
Installs the framework in a given directory.
If the directory doesn't exist, it gets created
Keyword arguments:
destination -- The target directory where the
framework will be installed or upgraded
Upgrades files.txt with the contents of
original_files.txt. Expert command, only to be used by developers
of the framework when creating a new release.
This command is strictly reserved to the quasar heads and it won't
work in a typical user environment.
Checks if the device files are outdated (By
comparing with design), and hence if they should be regenerated.
Runs doxygen in the documentation folder,
making the tool generate documentation for the server
automatically.
Enables optional module. Module URL and
required quasar version is downloaded from github.
Module download is done later
at cmake configure stage.
Keyword arguments:
moduleName -- name of the optional
module
tag --
tag/branch to checkout, if not specified, master branch is used
serverString -- default git server is
"https://github.com", specify custom if necessary, e.g.
"ssh://git@gitlab.cern.ch:7999"
Disables optional module. Module files will be
deleted.
Keyword arguments:
moduleName -- name of the optional module
Checks all of QUASAR dependencies to see if
everything is setup as expected, and prints apropiate messages to
point out what is missing.
Formats design.xml. This is done to have
always the same indentation format. The formatting is done in a
separate file, in case something goes wrong, and then copied over.
Generates address space documentation and places it in
Documentation/AddressSpaceDoc.html.
Generates the files AS<classname>.h and
AS<classname>.cpp. This method is called automatically by
cmake, it does not need to be called by the user.
Keyword arguments:
classname -- the name of the device, which this
class will be associated to.
Generates the files Base_D<classname>.h
and Base_D<classname>.cpp. This method is called
automatically by cmake, it does not need to be called by the user.
Keyword arguments:
classname -- the name of the device, which this
class will be associated to.
Generates CMake header lists in various directories, and then
calls cmake.
Keyword arguments:
buildType -- Optional parameter to specify Debug or Release build.
If it is not specified it will default to Release.
Generates the file Configurator.cpp. This method is called
automatically by cmake, it does not need to be called by the user.
Generates documentation of the Configuration Schema.
Such a documentation is a HTML document with description of all
fields that might appear in the configuration.
Generates the file Configuration.xsd. This method is called
automatically by cmake, it does not need to be called by the user.
Generates the file ConfigValidator.xsd. This
method is called automatically by cmake, it does not need to be
called by the user.
Generates the files D<classname>.h and
D<classname>.cpp. This method needs to be called by the
user, as this is the class where the device logic is, so a manual
merge will be needed.
Keyword arguments:
classname -- the name of the device, which this
class will be associated to. You can specify several classes (up
to 10), separated by spaces or just --all to regenerate all device
classes.
Equal to "generate device" (above) run with all classes with
device logic from the Design.
Generates honkyTonky.cc, a special class intended for testing
your namespace with simulated (random) values.
Generates the files ASInformationModel.h and
ASInformationModel.cpp. This method is called automatically by
cmake, it does not need to be called by the user.
Generates the files SourceVariables.h and SourceVariables.cpp. This method is called automatically by cmake, it does not need to be called by the user
Generates the files DRoot.h and DRoot.cpp. This method is called
automatically by cmake, it does not need to be called by the user.
List registered module URLs
Prints list of modules available on git
server.
Generates CMake header lists in various
directories, and then calls cmake.
Keyword arguments:
buildType -- Optional parameter to specify
Debug or Release build. If it is not specified it will default to
Release.
Prints currently deployed quasar version.
Sets the new build config. A build config file is a cmake file
which specified the following aspects:
TODO: see also "build_config" (above).
New in quasar 1.3.0.
When you build out-of-source (which is the default since quasar
1.3.0) your executable will be done in build/bin (the default) but
some files (like ServerConfig.xml) which are normally in bin/ will
be needed to run it.
This convenience function can be run:
upgrade_design is used to cover backwards-incompatible Design
changes between different versions of quasar.
As of quasar 1.3.4, it can be run with the following options:
Upgrades the framework in a given directory
Keyword arguments:
destination -- The target directory where the
framework will be installed or upgraded
Checks design.xml against Design.xsd, and after that performs
some additional checks (defined in designValidation.xslt)