Difference between revisions of "Theory Plug-in Developer Documentation"

From Event-B
Jump to navigationJump to search
(Fix some links)
(Update path to file used to generate update site)
 
Line 15: Line 15:
 
* Update the composite Eclipse repository that provides the Rodin plug-ins:
 
* Update the composite Eclipse repository that provides the Rodin plug-ins:
 
** Clone the <code>RodinUpdateSite</code> folder from the [https://sourceforge.net/p/rodin-b-sharp/svn/HEAD/tree/trunk/RodinUpdateSite/ Subversion repository] and import it in Eclipse
 
** Clone the <code>RodinUpdateSite</code> folder from the [https://sourceforge.net/p/rodin-b-sharp/svn/HEAD/tree/trunk/RodinUpdateSite/ Subversion repository] and import it in Eclipse
** Open the <code>compSite.xml</code> file, add a <code>&lt;repository&gt;</code> line for the new version and follow the instructions in the file's comments to build the composite repository
+
** Open the <code>composite/compSite.xml</code> file, add a <code>&lt;repository&gt;</code> 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 <code>web.sourceforge.net</code> (see [https://sourceforge.net/p/forge/documentation/SFTP#for-managing-project-web-space Sourceforge's documentation]) and upload the files built previously (<code>p2.index</code>, <code>compositeArtifacts.jar</code>, <code>compositeContent.jar</code>) in <code>/home/project-web/rodin-b-sharp/htdocs/updates</code>
 
** Connect with an SFTP client to <code>web.sourceforge.net</code> (see [https://sourceforge.net/p/forge/documentation/SFTP#for-managing-project-web-space Sourceforge's documentation]) and upload the files built previously (<code>p2.index</code>, <code>compositeArtifacts.jar</code>, <code>compositeContent.jar</code>) in <code>/home/project-web/rodin-b-sharp/htdocs/updates</code>
 
* 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)
 
* 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)

Latest revision as of 07:15, 15 July 2021

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, 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 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