Theory Plug-in Developer Documentation

From Event-B
Revision as of 14:31, 30 May 2024 by Guillaume (talk | contribs) (Update instructions to manage composite update sites)
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 composite/compSite.xml file, copy the <repository location="https://rodin-b-sharp.sourceforge.net/updates/Plugin_Theory/X.Y.Z" /> line, then update the version number in that line
    • Open the composite-archive/compSite.xml file and paste the old <repository> line copied previously
    • Follow the instructions in the files' comments to build the repositories
    • 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 for the files built from composite/compSite.xml
      • in /home/project-web/rodin-b-sharp/htdocs/updates-archive for the files built from composite-archive/compSite.xml
  • Publish the release notes in the Theory Release History 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