Theory Plug-in Developer Documentation: Difference between revisions

From Event-B
Jump to navigationJump to search
Guillaume (talk | contribs)
New page with info about Eclipse setup and release process
 
Guillaume (talk | contribs)
Add step to speed up composite sites
 
(3 intermediate revisions 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, copy the <code>&lt;repository location="https&#58;//rodin-b-sharp.sourceforge.net/updates/Plugin_Theory/X.Y.Z" /&gt;</code> line, then update the version number in that line
** 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>
** Open the <code>composite-archive/compSite.xml</code> file and paste the old <code>&lt;repository&gt;</code> line copied previously
* 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)
** Follow the instructions in the files' comments to build the repositories
** 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> for the files built from <code>composite/compSite.xml</code>
*** in <code>/home/project-web/rodin-b-sharp/htdocs/updates-archive</code> for the files built from <code>composite-archive/compSite.xml</code>
*** to speed up the composite site, create a directory with the version number in <code>/home/project-web/rodin-b-sharp/htdocs/updates/Plugin_Theory</code> and put in that directory a copy of the files <code>p2.index</code>, <code>content.xml.xz</code> and <code>artifacts.xml.xz</code> that were uploaded to Sourceforge  in step 2
* 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 15:35, 15 November 2024

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
      • to speed up the composite site, create a directory with the version number in /home/project-web/rodin-b-sharp/htdocs/updates/Plugin_Theory and put in that directory a copy of the files p2.index, content.xml.xz and artifacts.xml.xz that were uploaded to Sourceforge in step 2
  • 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