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

From Event-B
Jump to navigationJump to search
(New page with info about Eclipse setup and release process)
 
(Update path to file used to generate update site)
 
(One intermediate revision by the same user not shown)
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 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)
+
* 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
 
* Announce the release on the Rodin mailing lists rodin-b-sharp-user@lists.sourceforge.net and rodin-b-sharp-announce@lists.sourceforge.net
  
 
[[Category:Developer documentation]]
 
[[Category:Developer documentation]]
 +
[[Category:Theory Plug-in]]

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