Installing external plug-ins manually
Although it is preferred to install additional plug-ins into the Rodin platform using the Update Manager of Eclipse, this might not always be practical. In this case, a manner to install these plug-ins is to emulate either manually or using ad-hoc scripts the operations normally performed by the Update Manager.
This manual installation of plug-ins is described below, using the example of the B4free provers.
Finding the Update Site
The first thing to do is to find the update site from which the plug-ins are downloaded by the Rodin platform. A list of default update sites is available in file feature.xml of the org.eventb.ide feature. In a regular installation, this file has the following path relative to the root of the installation tree:
features/org.eventb.ide_0.8.2/feature.xml
Decoding the site.xml file
From the URL given in this file, download the corresponding site.xml file that describes the available features from the corresponding site. For instance, for the B4free provers, the URL in the feature.xml file is
http://bmethod.com/update_site/b4free_provers
Hence, the file to retrieve is
http://bmethod.com/update_site/b4free_provers/site.xml
At the time of writing, this file contains:
<?xml version="1.0" encoding="UTF-8"?> <site> <feature url="features/com.b4free.rodin_0.8.3.jar" id="com.b4free.rodin" version="0.8.3" os="linux,macosx,win32" arch="ppc,x86"/> </site>
Hence, the feature for the B4free provers is located at
http://bmethod.com/update_site/b4free_provers/features/com.b4free.rodin_0.8.3.jar
Installing a feature
Retrieve this file. Then, create a directory with the same base name (i.e. same name without the .jar extension) in the features directory of your rodin installation and extract the contents of the jar file in it. For instance, on a Linux machine, this can be done with the following commands:
cd /path/to/installed/rodin mkdir features/com.b4free.rodin_0.8.3 cd features/com.b4free.rodin_0.8.3 unzip -q /path/to/downloaded/com.b4free.rodin_0.8.3.jar
Installing the corresponding plug-ins
Then examine the feature.xml file that has been extracted in the previous operation. It contains a list of plugin description in XML format. For instance, the first plug-in listed is described as:
<plugin id="com.b4free.rodin" download-size="0" install-size="0" version="0.8.0"/>
Using the URL of the update site, the plug-in id and version, one infers that this plugin lies at URL
http://bmethod.com/update_site/b4free_provers/plugins/com.b4free.rodin_0.8.0.jar
At the time of writing, the other plug-ins are at URLs:
http://bmethod.com/update_site/b4free_provers/plugins/com.b4free.rodin.core_0.8.2.jar http://bmethod.com/update_site/b4free_provers/plugins/com.b4free.rodin.core.linux_0.8.2.jar http://bmethod.com/update_site/b4free_provers/plugins/com.b4free.rodin.core.macosx_0.8.2.jar http://bmethod.com/update_site/b4free_provers/plugins/com.b4free.rodin.core.win32_0.8.2.jar http://bmethod.com/update_site/b4free_provers/plugins/com.b4free.rodin.ui_0.8.0.jar
For each plug-in listed in the feature file, retrieve it using the appropriate URL and copy it in the plugins directory of your Rodin installation. Note that you need only one of the platform specific plug-ins (depending on your target installation: linux, macosx or win32).
Checking the installation
Then, start the Rodin platform and click About Rodin platform in the menubar. The manually installed plug-ins should now be available in the Rodin platform.