Details for Uploading Main Rodin Update Site: Difference between revisions

From Event-B
Jump to navigationJump to search
imported>Nicolas
No edit summary
imported>Nicolas
No edit summary
Line 1: Line 1:
Before updloading the update site, be sure that your version conforms with the following rules :
Since April 5th, 2012, the Rodin update site has the newer p2 format.
[[Details_for_Maintaining_Main_Rodin_Update_Site#Rules_to_follow| Rules to respect on the update site]]
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.
If you're interested in internal details, you can take a look at [[How we set up the p2 update site on SourceForge]].


(These instructions are based on uploading the update site from a Mac running OSX)
== Using site.xml ==


# Make sure your workspace copy of the plugin project org.rodinp.updateSite is synchronised with the SVN repository (only site.xml is used, other files/folders can be ignored)
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 site.xml has read access for all: <nowiki>"ls -l site.xml"</nowiki> should give "-rw-r--r--", if not: <nowiki>"chmod a+r site.xml"</nowiki>
 
# Copy site.xml 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 - see below)
# make sure your workspace copy of the plugin project org.rodinp.updateSite is synchronised with the SVN repository.
# Open the Terminal utility and enter the following commands replacing <sourceforgeusername> and <sourceforgepassword>:
# open 'site.xml' with the Site Manifest Editor
# 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
# test using the standard Rodin Update Site (you may need to reload it)
 
== Externally built feature ==
 
If you are using scripts to build your feature (that is, without a running eclipse interface), ensure that your build scripts produce a repository (like 'buildRepo').
Then used the ant script in org.rodinp.updateSite (modifying the 'featureRepo' property) to update 'content.jar' and 'artifacts.jar'.
The rest is as above, from local test on.
 
== 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
  Last login: Tue May 17 21:22:29 on console
Line 14: Line 32:
  <sourceforgeusername>,rodin-b-sharp@web.sourceforge.net's password: <sourceforgepassword>
  <sourceforgeusername>,rodin-b-sharp@web.sourceforge.net's password: <sourceforgepassword>
  sftp> cd htdocs
  sftp> cd htdocs
  sftp> cd updates
  sftp> cd test-updates
  sftp> ls
  sftp> ls -a
  site.xml 
  .         ..        .htaccess
  sftp> put site.xml
  sftp> put content.jar
  Uploading site.xml to /home/project-web/rodin-b-sharp/htdocs/updates/site.xml
  sftp> put artifacts.jar
site.xml                                                            100%  67KB  66.7KB/s  00:01   
 
sftp> exit
Once the test is complete, please remove the jars ('rm' command).
dhcp-152-78-95-201:~ <localusername>$
 
 


[[Category:Developer documentation|*Index]]
[[Category:Developer documentation|*Index]]
[[Category:Rodin Platform|*Index]]
[[Category:Rodin Platform|*Index]]

Revision as of 10:56, 5 April 2012

Since April 5th, 2012, the Rodin update site has the newer p2 format. 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. If you're interested in internal details, you can take a look at How we set up the p2 update site on SourceForge.

Using site.xml

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).

  1. make sure your workspace copy of the plugin project org.rodinp.updateSite is synchronised with the SVN repository.
  2. open 'site.xml' with the Site Manifest Editor
  3. add your feature to the relevant category (no need to give artifact url)
  4. 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 !)
  5. test locally, using org.rodinp.updateSite as local update site; in particular, check that other plug-ins on the update site are still listed
  6. upload the jars generated by the build as usual in your plugin's area on SourceForge FRS
  7. 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)
  8. commit 'content.jar' and 'artifacts.jar' to SVN
  9. test using the standard Rodin Update Site (you may need to reload it)

Externally built feature

If you are using scripts to build your feature (that is, without a running eclipse interface), ensure that your build scripts produce a repository (like 'buildRepo'). Then used the ant script in org.rodinp.updateSite (modifying the 'featureRepo' property) to update 'content.jar' and 'artifacts.jar'. The rest is as above, from local test on.

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
sftp> put artifacts.jar

Once the test is complete, please remove the jars ('rm' command).