Difference between pages "Building Rodin Headless" and "Camille Editor"

From Event-B
(Difference between pages)
Jump to navigationJump to search
imported>Tommy
 
imported>Fabian
m
 
Line 1: Line 1:
This page documents the procedure followed for building the binary packages of the Rodin platform that are distributed on SourceForge.  The build is done in two steps
+
The first version of the Text Editor will be released in a few weeks, that means in second half of June and not before the Rodin release 1.0 has been published.
# Fetch the sources from the repository and make a source archive with them.
 
# Build the platform headless from this set of sources using Apache Ant.
 
  
==Requirements==
+
Until then we are going to release a few testing releases (beta) for interested users. You will find instructions how to install and use these beta-releases on this page.
* Apache Maven 3 should be installed on the platform that will run the build.
 
  
==Pre Build Verifications==
 
  
Before building, several checks have to be made in the sources:
+
<div style="background-color:#FFFF00;">
* clean build all RodinCore plug-ins, so that generated files are regenerated using repository sources
+
'''Warning''':
* JUnit tests are OK
 
* versions of plug-ins, features and product obey [http://wiki.eclipse.org/Version_Numbering Eclipse versioning policy]
 
* API Tooling build against previous Rodin release produces no errors on any plug-in
 
* Rodin build process is managed using Apache maven and Tycho. One should verify that maven artifact versions match the plug-in versions (defined in plug-in MANIFEST.MF files)
 
* the correct Eclipse version is referenced in the p2 configuration (org.rodinp.platform/p2.inf) and matches the one defined whithin the parent pom file (<tt>org.eventb.parent/pom.xml</tt>) :
 
  
<repository>
+
Don't use the TextEditor yet with your production models!
<id>indigo</id>
+
* The TextEditor is still in heavy development
<layout>p2</layout>
+
* It is based on a new Rodin version which uses a changed database model and therefore is not compatible with older versions.
<url>http://download.eclipse.org/releases/indigo</url>
+
</div>
</repository>
 
 
* the correct link for the Rodin Handbook is provided in the parent pom file (<tt>org.eventb.parent/pom.xml</tt>) :
 
<repository>
 
<id>handbook</id>
 
<layout>p2</layout>
 
<url>http://handbook.event-b.org/updatesite</url>
 
</repository>
 
  
* branding plug-ins display the correct Eclipse version (text information found in several about.properties/plugin.properties files)
 
* documentation is up to date for /org.rodinp.platform/html/root.html
 
* generated documentation matches latest wiki sources for <tt>org.eventb.keyboard/doc</tt>
 
* make sure a valid destination folder is specified in <tt>org.eventb.parent/pom.xml</tt>. This destination folder will host the built platforms, the update-site and the development target platform.
 
Example :
 
<www-basedir>/tmp/rodin-build/rodin-3.0</www-basedir>
 
  
The variable used in Maven scripts is then <tt>${www-basedir}</tt>
+
==Installing ==
 +
The TextEditor relies on features of the Rodin release 1.0 which is not yet released. Therefore you will have to create a new Rodin installation. The following steps will guide you through this process:
  
When everything works, any changes to the sources made during this verification process are pushed to the Source Forge repository.
+
# Download a build of Rodin from our CruiseControl server:
 +
## Point your browser to [http://cruise.cs.uni-duesseldorf.de:8080/dashboard/tab/build/detail/org.rodinp.platform]
 +
## Download a zip file with a name starting with ''rodin-product'' and matching your platform. For example ''rodin-product-linux.gtk.x86.zip'' if you are working on a Linux system.
 +
# Extract the downloaded zip file.
 +
# Start Rodin from the folder where you extracted the zip file in the previous step.
 +
# Install the TextEditor:
 +
## In the menu choose ''Help'' -> ''Software Updates...''
 +
## Select the tab ''Available Software''
 +
## Click ''Add Site...''
 +
## Use the location URL: <tt>http://www.stups.uni-duesseldorf.de/update-beta/</tt>
 +
## Back in ''Available Software'' open the update site you just added
 +
## Select ''Event-B EMF Framework'' and ''Event-B TextEditor'' and click ''Install...''
 +
# Restart Rodin as suggested.
  
'''N.B.''' Several information are defined and manipulated for each build. Here below is a memo to help understand them :
+
Now you are ready to use the TextEditor.
# the platform version which defines a milestone identifier for the Rodin platform. Example of platform versions are <tt>1.0</tt> and <tt>2.3RC1</tt>.
 
# the Git commit number which permits to know very precisely which source versions are used for the build.
 
# the Git branch from which the commit can be checked out
 
# the full platform version used for provisioning, and which is the user-visible version which is displayed in ''About Rodin Platform''. This version is made of the platform version and the commit number, separated by a dot. Example of full versions are <tt>2.8RC1.bh1420</tt> and <tt>2.8.1.hgf52f65</tt>.
 
  
==Fetching Sources==
 
  
Create a directory that will contain the sources and be used to build the platform.<br />
+
==Usage ==
Example :
 
mkdir Rodin3.0BuildDirectory
 
 
 
and go to this directory :
 
cd Rodin3.0BuildDirectory
 
 
 
Fetch sources from Git in the current directory :
 
<nowiki>git clone git://git.code.sf.net/p/rodin-b-sharp/rodincore .</nowiki>
 
 
 
==Building the Platform==
 
 
 
To build the platform, you just need to run the script below (available from org.rodinp.releng/scripts/run-maven.sh) :
 
 
 
<nowiki> #!/bin/sh
 
###############################################################################
 
# Copyright (c) 2013 Systerel and others.
 
# All rights reserved. This program and the accompanying materials
 
# are made available under the terms of the Eclipse Public License v1.0
 
# which accompanies this distribution, and is available at
 
# http://www.eclipse.org/legal/epl-v10.html
 
#
 
# Contributors:
 
#    Systerel - initial API and implementation
 
###############################################################################
 
SCRIPT=`readlink -m -n $0`
 
SCRIPTS_DIR=`dirname $SCRIPT`
 
MAIN_DIR=`readlink -m -n $SCRIPTS_DIR/../..`
 
 
cd $MAIN_DIR
 
 
 
GIT_COMMIT=`git log -1 --format='%h'`
 
echo "Building Rodin with Maven for git commit: $GIT_COMMIT"
 
mvn clean install -Dgit-commit=$GIT_COMMIT $@ # -DskipTests -fae </nowiki>
 
 
 
==Post Build Verifications==
 
 
 
When the build worked, the destination directory (defined by variable <tt>${www-basedir}</tt>) contains zipped archives for all platforms, the update site, and the target platform for plug-in development.
 
For each of them, check that:
 
* "rodin" binary is an executable file (for Linux and Mac)
 
* the version appearing in ''About Rodin platform'' is correctly defined
 
* a directory "dropins" exists at the root (under "rodin", among "features", plugins", ...)
 
* in "configuration/org.eclipse.equinox.simpleconfigurator/bundles.info", plug-in "org.eclipse.equinox.p2.reconciler.dropins" is configured with auto start mode ("true" at the end of the line)
 
 
 
==Last operations to perform==
 
*Ensure that the download of the uploaded version of Rodin is here by default
 
*Update the main wiki page:
 
**http://wiki.event-b.org/index.php/Main_Page
 
**The image "out now" is to be changed
 
**The link "learn more" should point to the release notes
 
**The link "download now" should point to the SF repository
 
*The Platform releases page should be updated:
 
**http://wiki.event-b.org/index.php/Rodin_Platform_Releases
 
*The 64 bits page should be updated:
 
**http://wiki.event-b.org/index.php/Rodin_64_bit
 
* A group for the new release is available on Bug and Feature Request trackers.
 
*A mail is sent on the user + announce rodin SF lists.
 
 
 
[[Category:Developer documentation]]
 
[[Category:Rodin Platform]]
 

Revision as of 10:34, 13 May 2009

The first version of the Text Editor will be released in a few weeks, that means in second half of June and not before the Rodin release 1.0 has been published.

Until then we are going to release a few testing releases (beta) for interested users. You will find instructions how to install and use these beta-releases on this page.


Warning:

Don't use the TextEditor yet with your production models!

  • The TextEditor is still in heavy development
  • It is based on a new Rodin version which uses a changed database model and therefore is not compatible with older versions.


Installing

The TextEditor relies on features of the Rodin release 1.0 which is not yet released. Therefore you will have to create a new Rodin installation. The following steps will guide you through this process:

  1. Download a build of Rodin from our CruiseControl server:
    1. Point your browser to [1]
    2. Download a zip file with a name starting with rodin-product and matching your platform. For example rodin-product-linux.gtk.x86.zip if you are working on a Linux system.
  2. Extract the downloaded zip file.
  3. Start Rodin from the folder where you extracted the zip file in the previous step.
  4. Install the TextEditor:
    1. In the menu choose Help -> Software Updates...
    2. Select the tab Available Software
    3. Click Add Site...
    4. Use the location URL: http://www.stups.uni-duesseldorf.de/update-beta/
    5. Back in Available Software open the update site you just added
    6. Select Event-B EMF Framework and Event-B TextEditor and click Install...
  5. Restart Rodin as suggested.

Now you are ready to use the TextEditor.


Usage