Theory Plug-in Developer Documentation

From Event-B
Revision as of 14:45, 14 June 2021 by Guillaume (talk | contribs) (New page with info about Eclipse setup and release process)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

This page provides some documentation for developers of the Theory plug-in. Documentation for users of the plug-in is available in this page.

Eclipse setup

  • Clone the git repository from Sourceforge
  • Import the subdirectories of the git repository in Eclipse (each subdirectory corresponds to an Eclipse project providing an Eclipse feature or plug-in)
  • Open org.eventb.theory.feature/org.eventb.theory.feature.target and click on Set as Active Target Platform, at the top right of the window; this assumes that the Rodin target platform has been downloaded and put in /var/tmp: if this location is not available, or if another version of Rodin is should be targeted, edit the .target file accordingly

Release checklist

To release a new version of the plug-in:

  • Tag the last commit with the version number (remember to pass the --tags flag to git push to publish it)
  • On Sourceforge, create a new folder with the version number in the plug-in's directory and upload the files of the update site there (they are built in org.eventb.theory.repository/target/repository)
  • Update the composite Eclipse repository that provides the Rodin plug-ins:
    • Clone the RodinUpdateSite folder from the Subversion repository and import it in Eclipse
    • Open the compSite.xml file, add a <repository> line for the new version and follow the instructions in the file's comments to build the composite repository
    • Connect with an SFTP client to web.sourceforge.net (see Sourceforge's documentation) and upload the files built previously (p2.index, compositeArtifacts.jar, compositeContent.jar) in /home/project-web/rodin-b-sharp/htdocs/updates
  • Publish the release notes in the Theory Plug-in page, update the table in the Rodin Platform Releases page and list the release in Template:Dev News (it is included in the front page)
  • Announce the release on the Rodin mailing lists rodin-b-sharp-user@lists.sourceforge.net and rodin-b-sharp-announce@lists.sourceforge.net