Skip to content

Building universAAL Studio

Carsten Stocklöw edited this page Apr 19, 2018 · 3 revisions

This page gives an overview of the organization of the source code of the tools in SVN, and provides instructions for how to build the universAAL Studio tools and the Eclipse Update site for universAAL Studio. Also, a brief description is given for issues to take into account when updating the tools, including which tools that have explicit dependencies on universAAL middleware versions and thus need updates when new middleware versions are released.

Building the universAAL Studio tools and the Eclipse Update site

To build the universAAL Studio tools you need an Eclipse installation set up with the prerequisites for the universAAL tools that are described under universAAL Studio overview and installation. The universAAL Studio tools are Eclipse plugins, and thus use standard Eclipse plugin projects setup. Once the external prerequisites are installed, the source code of the tools will compile automatically when downloaded into Eclipse from the Subversion repository. The code is available from the tools project under the universAAL GForge server. To build the update site for the universAAL Studio tools, first check out the update site project from SVN (found in the folder updatesite) along with the source code for all the universAAL Studio projects. When opening the site.xml file from the update site project, the Eclipse editor for it gives options build selected features (“Build” button) or to build all the features of the site (“Build all” button). The following table describes the content of the trunk folder of the Subversion repository. For each folder, the table describes whether the content is part of universAAL Studio (Eclipse plugins and Eclipse features), and also lists the tools contained in the folder. For the folders that do not contain tools described at this wiki, a very brief description of the content is given.

Folder universAAL Studio Contained tool(s) name (as listed in this document) or description of content
studio X universAAL Studio Core (defines universAAL Studio menu sections, etc)
ConfigurationExtractor X Configuration Editor
externalServiceIntegrator X External Service Integrator
icons Collection of icons used by the universAAL Studio and the Depot
mpa X Application Packager
PaxRunner X Pax Runner
prerequisites X 3rd party tools that are requirements for universAAL Studio
modelling X Ontology Modelling Tool, Service Modelling DSL Tool and Service Modelling UML Tool packaged into one feature
transformations X Model Transformation Tool, OWL2Java Transformation Tool, and OWL2UML Transformation Tool. The first two constitute one Eclipse feature, while OWL2UML has a separate feature.
uAALPaxTab X universAAL Runner
updatesite Eclipse project for universAAL Studio update site
wizard X Project and Item Wizards

For further details about building Eclipse plugins, features and update sites, we refer to the standard Eclipse documentation available from http://www.eclipse.org/

Updating the tools

When an universAAL Studio tool has been updated, the version number of the tool plugin(s) and of the feature containing it must be increased before the new version of the tool can be included in the update site build. After the version has been set, the new version of the feature has to be added to the update site project using the “Add feature” button.

To change the Build id and description of the universAAL Studio product description (e.g. build id and middleware version supported), the information in the about.mappings and about.properties files of the org.universaal.tools.studio.core project must be updated. This plugin is used as the branding plugin for the features included in universAAL Studio, and also contains universAAL Studio icon, universAAL logo and menu category definitions used in universAAL Studio. New features added to universAAL Studio should set this plugin in the Branding Plug-in field in the overview tab of the feature editor.

The table below gives an overview of tools that have explicit dependencies to versions of the universAAL middleware, e.g. because they have templates that support creating correct code for different versions. For each tool, a brief comment is given on the nature of the dependency and the changes that will be needed to update the tool.

Tool Change needed
Project and Item Wizard This tool lets the user select the middleware version to create a project for. The list of available versions must be updated, and if the setup for a middleware version has changed, template files must be updated.
Ontology Project Wizard The dependency and approach is the same as for the Project and Item Wizard
Model Transformation Tool The ontology transformation supports different versions of the middleware, and lets the user select the transformation. If the API of the ontology representation changes in the middleware, this must be updated. Also the dialog box for the target middleware version must be updated.
universAAL Runner This tool allows the developer to select the middleware version as part of creating a launch configuration. The tool must be updated for new version numbers of the middleware.

Updates are primarily done in the ApplicationView or OntologyView classes, by following the pattern that is used there, adding buttons and providing the Eclipse command ID and the Eclipse feature name for the added functionality.