Repository navigation
Release Procedure
This page describes how to create a new release of the universAAL platform and testing it using a pre-configured OSGi execution environment. Please consider the following links:
- Learn more about the universAAL middleware (architecture of the middleware, building blocks and some useful implementation details: https://github.com/universAAL/middleware/wiki
- How to start using the universAAL platform: http://depot.universaal.org/
The universAAL platform requires:
- Java 1.8 JDK, please configure also the JAVA_HOME environment variable
export JAVA_HOME=<PATH TO YOUR JAVA command, e.g. usr/java/jdk1.5.0_07/bin/java>
- Maven installed, preferably 3.0.0+.
- OSGi execution environment. We recommend to run the universAAL platform with Apache Karaf and develop by means of our universAAL Studio
- Run script platform/uAAL.pom/src/scripts/PreReleaseBranch.sh with arguments New_Release_Version Next_Development_Version. This will create a branch called prerelease_New_Release_Version that can be used to test the release before the actual release is done (remember to maven-install locally the prerelease branch if you are testing on a different machine). On root repository of platform repo run something like:
uAAL.pom/src/scripts/PreReleaseBranch.sh 3.4.0 3.4.1-SNAPSHOT
- Once the checks are cleared run platform/uAAL.pom/src/scripts/ReleaseDo.sh with the argument New_Release_Version. This script will checkout the latest version of the prerelease branch (created in the previous step), check for building errors, deploy to maven repository, tag the release and remove the banch, and lastly push all the changes (deletion and tag) to github. On root repository of platform repo run something like:
uAAL.pom/src/scripts/ReleaseDo.sh 3.4.0
Steps to check a release on a Unix box are as follows.
Get the Karaf distro (e.g. karaf4uAAL2.2.9) from https://github.com/universAAL/distro.karaf. This is our pre-configured universAAL distro based on Apache Karaf
$ export KARAF_DEBUG=off
This will switch off the Karaf debug configuration, if you want to debug Karaf at runtime please do not type the previous command
$ cd support-release $ bin/karaf clean
The above launches the Karaf shell and shows a text-mode universAAL logo and some messages.
Now, wait until support-release/data/log/karaf.log stops growing (about one minute). Then, at the karaf prompt, issue
$karaf@uAAL>features:install uAAL-SingleNode.Development
This is for installing the main universAAL features (http://karaf.apache.org/manual/latest-2.3.x/users-guide/provisioning.html)
Again, wait about a minute until various log files under support-release/data/log/ stop growing. When that happens, you should have seen a graphical box popping up which asks for Username and Password.
In the Karaf shell you should see this:
universAAL Runtime Platform Hit '<tab>' for a list of available commands and '[cmd] --help' for help on a specific command. Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Karaf. karaf@uAAL>features:install uAAL-SingleNode.Development ------------------------------------------------------------------- GMS: address=3ca419ea-ec9f-4664-b82f-4290803459c1, cluster=mw.modules.aalspace.osgi8888, physical address=146.48.81.102:50343 ------------------------------------------------------------------- ------------------------------------------------------------------- GMS: address=3ca419ea-ec9f-4664-b82f-4290803459c1, cluster=mw.bus.ui.osgi8888, physical address=146.48.81.102:49194 ------------------------------------------------------------------- ------------------------------------------------------------------- GMS: address=3ca419ea-ec9f-4664-b82f-4290803459c1, cluster=mw.brokers.control.osgi8888, physical address=146.48.81.102:38452 ------------------------------------------------------------------- ------------------------------------------------------------------- GMS: address=3ca419ea-ec9f-4664-b82f-4290803459c1, cluster=mw.bus.context.osgi8888, physical address=146.48.81.102:47131 ------------------------------------------------------------------- ------------------------------------------------------------------- GMS: address=3ca419ea-ec9f-4664-b82f-4290803459c1, cluster=mw.bus.service.osgi8888, physical address=146.48.81.102:56639 ------------------------------------------------------------------- karaf@uAAL>
So far so good. You have successfully installed the core universAAL features in particular your Karaf distro did the following steps:
- downloading all the OSGi bundles needed by the uAAL-SingleNode.Development features
- discovering already existing uSpaces matching with the default uSpace configuration. The default configuration file is placed here:
support-release/etc/Home.space
- creating a new uSpace and creating the required IPv4-based communication channels.
karaf@uAAL>features:list ... [installed ] [3.2.0 ] uAAL-SingleNode.Development <description of the feature...> ...
Write anything in the login dialog that has appeared, both in the Username and Password fields, then click the Login button. If a search box and an Exit button appear, the test is successful.
Press Exit to get rid of the window and background.
karaf@uAAL>universaal:peers Found: 1 Peers ---------------------------------------- * Peer ID: 903cc554-87fc-4220-8ca0-b286fc0d00a0 - Peer Role: COORDINATOR
If the output above appears (note the asterisk before "Peer ID": it is important) the test is successful.
Middleware (responsible Stefano Lenzi @kismet ):
karaf@uAAL>features:list -i | grep runtime [installed ] [3.2.0 ] uAAL-MW universAAL-3.2.0 The universAAL runtime based on the Middleware 2.0
Context (responsible Álvaro Fides Valero @Alfiva ):
karaf@uAAL>features:list -i | grep Entrepot [installed ] [3.2.0 ] uAAL-ctxt.CHe universAAL-Context The Context History Entrepot.
Ontologies (responsible Álvaro Fides Valero @Alfiva ):
karaf@uAAL>features:list -i | grep 'Profile Ont' [installed ] [3.2.0 ] uAAL-Ont.Profile universAAL-Ontologies The Profile Ontology
Remote interoperability (responsible Álvaro Fides Valero @Alfiva ):
karaf@uAAL>features:list -i | grep uAAL-RI.Service [installed ] [3.2.0 ] uAAL-RI.Service.Gateway universAAL-RemoteInteroperability uSpace to\from web services.
User interface (responsible Alejandro Medrano @amedreanogil )
karaf@uAAL>features:list -i | grep UI.DM [installed ] [3.2.0 ] uAAL-UI.DM universAAL-UI The UI Dialog Manager
In the line output by each of the above commands watch out for
- the "[installed]" label at the beginning
- the version tag, which must correspond to the intended release version.
karaf@uAAL>osgi:list | grep 'universAAL ' [ 51] [Active ] [ ] [ 50] universAAL Thirdparty jslp library (OSGi) (3.2.0) [ 56] [Active ] [ ] [ 50] universAAL Middleware XSD Schemas (3.2.0) [ 57] [Active ] [ ] [ 50] universAAL Middleware Container Interfaces (OSGi) (3.2.0) [ 58] [Active ] [ ] [ 50] universAAL Middleware Interfaces (OSGi) (3.2.0) ...
Version numbers in parenthesis at the end of each row should all be the same.
Found a problem?
- Report suggestions, missing, outdated or wrong documentation creating an Issue with "documentation" tag
Support:
Found a problem?- Report suggestions, missing, outdated or wrong documentation creating an Issue with "documentation" tag