FESA CLI Tool

The FESA3 Eclipse plug-in's functionality for designing FESA software, synchronizing C++ code, releasing etc is available as command line interface. With the help of this tool it is possible to automate frequently occuring operations using shell scripts.

Examples are updating the FESA software to a newer version, validating the design files, regenerating the source code of FESA classes and deploy-units, releasing the updated FESA deploy-unit for a FEC, ... .

Several additional GSI-specific options are available for
  • just copying a FESA deploy-unit and its required files (FESA configuration, message files and instance document) for development purposes on a FEC
  • productive (operational) release of a FESA deploy-unit and its required files (FESA configuration, message files and instance document) for productive use on a FEC
  • exporting a FESA class/deploy-unit design or instance document (or the subset documents of these) separately from the common release procedure to the database
  • generating a subset design from a FESA class/deploy-unit design or instance document
  • creating a mockup instance document from an instance document (adding an 'X' to the device-names automatically, saving the mockup instance document separately)
  • injecting the version of a FESA class design into the FESA deploy-unit (useful after updating the FESA class design version)

Usage Examples

For members of the Linux user group fesa the tool is usable like this:

user@asl73x:~>fesa3 –h # Displays the possible options of the CLI tool
user@asl73x:~>fesa3 –v *.design/*.deploy/*.instance # Validates the given FESA document
user@asl73x:~>fesa3 -s *.design/*.deploy # Synchronizes the source code for the given FESA document
user@asl73x:~>fesa3 -u 3.0.0 *.design/*.deploy # Updates the FESA FWK version
user@asl73x:~>fesa3 -pv 0.2.1 *.design/*.deploy # Updates the FESA design version of the class / deploy-unit
user@asl73x:~>fesa3 -pv [Mmt]++ *.design/*.deploy # Updates the tiny FESA design version of the class / deploy-unit

user@asl73x:~>fesa3 -cp <FEC> *.deploy # GSI-specific: Copies the FESA deploy-unit for a given FEC compiled for CPU=x86_64 while skipping SVN repository status check, code synchronization, build, DB export
user@asl73x:~>fesa3 -rf <FEC> *.deploy # GSI-specific: Release a deploy-unit and its required files for a FEC (incl. validation, code synchronization, SVN status check and DB export)
user@asl73x:~>fesa3 -ex *.design/*.deploy/*.instance # GSI-specific: Exports a FESA design to the database
user@asl73x:~>fesa3 -sub *.design/*.deploy/*.instance # GSI-specific: Creates a subset document
user@asl73x:~>fesa3 -m *.instance # GSI-specific: Creates a mockup of the instance document (adds 'X' to device-names)
user@asl73x:~>fesa3 -in *.design *.deploy # GSI-specific: Injects the information of the FESA class design into the FESA deploy-unit design

Shell Script Templates

For typical use cases shell script templates are available. These shell scripts are supposed to be adapted for the developer's use case. Therefore they should be stored in the SVN repository along with the FESA deploy-unit's sources. [That way the scripts are could be used by your fellow workers in case of trouble if you are not around.]

Typical Use Cases

  • Updating FESA FWK version of FESA class(es), FESA deploy-units, FESA instance files: updateFESAversionTemplate.sh
  • Building FESA class(es) and FESA deploy-units: buildTemplate.sh
  • Deploying a development version of a FESA deploy-unit for a FEC (while skipping SVN repository status check, code synchronization, build, DB export): deployTemplate.sh
  • Releasing a productive version of a FESA deploy-unit for a FEC (mandatory: SVN status check, validation, code synchronization, build, DB export): releaseTemplate.sh
Topic attachments
I Attachment Action Size Date Who Comment
buildTemplate.shsh buildTemplate.sh manage 1 K 27 Apr 2016 - 13:31 SolveighMatthies script template for building FESA software
deployTemplate.shsh deployTemplate.sh manage 1 K 27 Apr 2016 - 13:32 SolveighMatthies script template for deploying development FESA software to a FEC
releaseTemplate.shsh releaseTemplate.sh manage 1 K 27 Apr 2016 - 13:32 SolveighMatthies script template for deploying productive FESA software to a FEC
updateFESAversionTemplate.shsh updateFESAversionTemplate.sh manage 1 K 27 Apr 2016 - 13:31 SolveighMatthies script template for FESA FWK version updates
Topic revision: r3 - 28 Apr 2016, SolveighMatthies
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback