Difference between pages "Details for Uploading Main Rodin Update Site" and "Event-B Qualitative Probability User Guide"

From Event-B
(Difference between pages)
Jump to navigationJump to search
imported>Tommy
 
imported>Son
m
 
Line 1: Line 1:
Since April 5th, 2012, the Rodin update site has the newer p2 format.
+
[[User:Son]] at '''ETH Zurich''' is in charge of the plug-in.
From a release engineer point of view, the main change is that instead of uploading 'site.xml' to the rodin web space, you will just commit 'content.jar' and 'artifacts.jar' to SVN. This page explains how to generate these two files.
+
{{TOCright}}
If you're interested in internal details, you can take a look at [[How we set up the p2 update site on SourceForge]].<br>
 
There are some [[Details_for_Maintaining_Main_Rodin_Update_Site#Rules_to_follow | few rules to follow when providing contents to the main Rodin update site]], please take a look at them.
 
  
== Using site.xml ==
+
== Introduction ==
 +
Event-B Qualitative Probability plug-in provides supports for reasoning about termination with probability 1 (almost-certain termination).
  
Even though 'site.xml' is no more present on the remote update site, it can be used locally to publish new features (or new versions of existing features).
 
  
# make sure your workspace copy of the plugin project org.rodinp.updateSite is synchronised with the SVN repository.
+
== Installing and Updating ==
# open 'site.xml' with the Site Manifest Editor
+
The plug-in is available through the main Rodin Update Site under '''Modelling Extension''' category.
# add your feature to the relevant category (no need to give artifact url)
 
# click 'Build': 'content.jar' and 'artifacts.jar' get updated, 'features' and 'plugins' directories are created (do NOT click 'Build All', it would overwrite the update site !)
 
# test locally, using org.rodinp.updateSite as local update site; in particular, check that other plug-ins on the update site are still listed
 
# upload the jars generated by the build as usual in your plugin's area on [http://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download SourceForge FRS]
 
# test remotely by uploading 'content.jar' and 'artifacts.jar' to /home/project-web/rodin-b-sharp/htdocs/test-updates on the rodin web space, and using 'http://rodin-b-sharp.sourceforge.net/test-updates' as remote update site (see [[#Remote test]])
 
# commit 'content.jar' and 'artifacts.jar' to SVN: it actually updates the Rodin Update Site itself
 
# test using the standard Rodin Update Site (you may need to reload it)
 
  
So 'site.xml' is no more uploaded nor committed to SVN, it is really just there to help working with 'content.jar' and 'artifacts.jar'. In particular, if for some reason you want to commit it nevertheless, take care not to commit the post 'Build' version, as it mixes everything up.
+
== News ==
 +
* 23.11.2011: Version 0.2.1 released for Rodin 2.3.*
  
== Externally built feature ==
+
== Technical References ==
  
That's the scripted way to proceed. If you are using scripts to build your feature (that is, without a running eclipse interface):
+
== Usage ==
# ensure that your build scripts produce a repository (like 'buildRepo')
 
# categorize the repository (see below)
 
# launch the 'publishFeature.xml' ant script in org.rodinp.updateSite on the categorized repository (modifying the 'featureRepo' property in the launch config) to update 'content.jar' and 'artifacts.jar'.
 
Messages like
 
  [p2.mirror] Problems resolving provisioning plan.
 
  [p2.mirror] Unable to satisfy dependency from <my plugin> to bundle org.eventb.ui 0.0.0.
 
are normal, it just indicates that the repository does not contain core bundles.
 
 
 
From this point, continue the same as with 'site.xml', from 'test locally' on.
 
 
 
=== Categorizing a build repository ===
 
 
 
Build repositories are not categorized by default. To assign a built feature a category, we have to use the Category Publisher:
 
# copy the build repository somewhere, we'll call that somewhere $REPO (it ensures you can relaunch categorization if something goes wrong, without rebuilding your feature)
 
# write a category file
 
# run the Category Publisher
 
 
 
To make things concrete, here are sample files for categorizing the B2LaTeX plug-in:
 
 
 
category.xml:
 
<?xml version="1.0" encoding="UTF-8"?>
 
<site>
 
  <feature id="ac.soton.eventb.latex.feature">
 
    <category name="Utilities"/>
 
  </feature>
 
  <category-def name="Utilities" label="Utilities"/>
 
</site>
 
 
 
catPub.sh:
 
JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
 
ECLIPSE_HOME=/path/to/eclipse
 
REPO=/path/to/buildRepo/copy
 
CAT_FOLDER=/path/to/category/folder
 
 
$JAVA_HOME/bin/java \
 
        -jar $ECLIPSE_HOME/plugins/org.eclipse.equinox.launcher_*.jar \
 
        -application org.eclipse.equinox.p2.publisher.CategoryPublisher \
 
        -metadataRepository file:/$REPO \
 
        -categoryDefinition file:/$CAT_FOLDER/category.xml
 
 
 
== Remote test ==
 
Copy 'content.jar' and 'artifacts.jar' from your eclipse workspace to you user home directory (this just makes it easier to locate the file from the terminal command line since the user home directory is the default local directory in Terminal)
 
Open the Terminal utility and enter the following commands replacing <sourceforgeusername> and <sourceforgepassword>:
 
 
 
Last login: Tue May 17 21:22:29 on console
 
dhcp-152-78-95-201:~ <localusername>$ sftp <sourceforgeusername>,rodin-b-sharp@web.sourceforge.net
 
Connecting to web.sourceforge.net...
 
<sourceforgeusername>,rodin-b-sharp@web.sourceforge.net's password: <sourceforgepassword>
 
sftp> cd htdocs
 
sftp> cd test-updates
 
sftp> ls -a
 
.          ..        .htaccess
 
sftp> put content.jar
 
Uploading content.jar to /home/project-web/rodin-b-sharp/htdocs/test-updates/content.jar
 
content.jar                                                                                                                                            100%  82KB  82.3KB/s  00:01   
 
sftp> put artifacts.jar
 
Uploading artifacts.jar to /home/project-web/rodin-b-sharp/htdocs/test-updates/artifacts.jar
 
artifacts.jar                                                                                                                                          100% 8975    8.8KB/s  00:00   
 
 
 
You can then try this remote update site from a running Rodin platform.
 
To do this, just add the remote site to the list of available sites (which will look like below)
 
Rodin Remote Test Update Site - http://rodin-b-sharp.sourceforge.net/test-updates
 
and select it.
 
 
 
The .htaccess file redirects plugins/*.jar and features/*.jar requests to SourceForge FRS, thus using the archives that you have uploaded.<br>
 
 
 
'''Once the test is complete, please remove the jars:'''
 
sftp> rm *.jar
 
Removing /home/project-web/rodin-b-sharp/htdocs/test-updates/artifacts.jar
 
Removing /home/project-web/rodin-b-sharp/htdocs/test-updates/content.jar
 
 
 
 
 
 
 
 
[[Category:Developer documentation|*Index]]
 
[[Category:Rodin Platform|*Index]]
 

Revision as of 11:14, 23 November 2011

User:Son at ETH Zurich is in charge of the plug-in.

Introduction

Event-B Qualitative Probability plug-in provides supports for reasoning about termination with probability 1 (almost-certain termination).


Installing and Updating

The plug-in is available through the main Rodin Update Site under Modelling Extension category.

News

  • 23.11.2011: Version 0.2.1 released for Rodin 2.3.*

Technical References

Usage