Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "How to create a release of EMFStore"

(divided article into two sections: milestone and final release)
Line 1: Line 1:
 +
== How to create a milestone release of EMFStore ==
 +
* In ''org.eclipse.emf.emfstore.site/buckminster.properties'' set the qualifier.replacement-property to the current milestone, e.g. M945, and deactivate the generated qualifier.replacement as shown below:
 +
<source lang="bash">
 +
qualifier.replacement.*=M945
 +
#qualifier.replacement.*=generator:lastModified
 +
#generator.lastModified.format='v'yyyyMMdd-HHmm
 +
</source>
 +
* Commit with a message such as "release 0.8.9.M945" and push your changes to the emfstore.core repository.
 +
* Wait for the hudson job to recognize these changes and build. https://hudson.eclipse.org/hudson/job/emf-emfstore-integration/
 +
* Download the build artifact site.p2 as a zip-file from the build that was triggered by your commit (look for your commit message).
 +
* Using scp (or WinScp) login into dev.eclipse.org, and move the content of ''/home/data/httpd/download.eclipse.org/emf-store/milestones/latest'' to ''/home/data/httpd/download.eclipse.org/emf-store/milestones/archive'' into a new subfolder named after the version, e.g. 0.8.9.M944 (if it does not yet exist).
 +
* Upload the unpacked zip-file and the zip-file itself to ''/home/data/httpd/download.eclipse.org/emf-store/milestones/latest''
 +
* Verify that you can install EMFStore and ECP from the updated update-site by following these instructions: http://www.eclipse.org/emfstore/download.php
 +
* Switch back the relase to the continuous integration versioning scheme
 +
<source lang="bash">
 +
#qualifier.replacement.*=M945
 +
qualifier.replacement.*=generator:lastModified
 +
generator.lastModified.format='v'yyyyMMdd-HHmm
 +
</source>
 +
* Commit and push.
 +
* Addtional notes:
 +
** Currently, there is still a known bug that prevents hudson from building the repository if there are no new changes since the last build. In thise case the build will fail with the final message "Nothing to do". Therefore, try not to build manually but do a dummy commit to trigger the build.
 +
 +
== How to create a final release of EMFStore ==
 
# Increase the version milestone number globally for all MANIFEST.MF and features.xml files, e.g. if you currently have version 0.8.9.M922 in your workspace you would end up with 0.8.9.M923.
 
# Increase the version milestone number globally for all MANIFEST.MF and features.xml files, e.g. if you currently have version 0.8.9.M922 in your workspace you would end up with 0.8.9.M923.
 
# Navigate to the EMFStoreUpdateSite project.  Depending on whether the release you will create is an official Eclipse release or a milestone release, open up the ''site.xml'' contained in the '''latest''' subfolder of the respective folder, i.e. either the '''milestones''' or '''releases''' folder. Delete the '''features''' and '''plugins''' folders as well as the '''artifacts.jar''' and '''content.jar'''. The EMFStoreUpdateSite project is part of the '''org.eclipse.emf.emfstore.releng''' git repository.  If you have not yet done so, see the instructions at [http://wiki.eclipse.org/EMFStore_Git] on how to clone a git repository. Besides the '''latest''' folder there is '''archive''' folder.  '''latest''' only contains the most recent version of EMFStore while '''archive''' acts, as it name implies, as an archive that holds older versions of EMFStore, too.
 
# Navigate to the EMFStoreUpdateSite project.  Depending on whether the release you will create is an official Eclipse release or a milestone release, open up the ''site.xml'' contained in the '''latest''' subfolder of the respective folder, i.e. either the '''milestones''' or '''releases''' folder. Delete the '''features''' and '''plugins''' folders as well as the '''artifacts.jar''' and '''content.jar'''. The EMFStoreUpdateSite project is part of the '''org.eclipse.emf.emfstore.releng''' git repository.  If you have not yet done so, see the instructions at [http://wiki.eclipse.org/EMFStore_Git] on how to clone a git repository. Besides the '''latest''' folder there is '''archive''' folder.  '''latest''' only contains the most recent version of EMFStore while '''archive''' acts, as it name implies, as an archive that holds older versions of EMFStore, too.

Revision as of 07:12, 13 April 2012

How to create a milestone release of EMFStore

  • In org.eclipse.emf.emfstore.site/buckminster.properties set the qualifier.replacement-property to the current milestone, e.g. M945, and deactivate the generated qualifier.replacement as shown below:
qualifier.replacement.*=M945
#qualifier.replacement.*=generator:lastModified
#generator.lastModified.format='v'yyyyMMdd-HHmm
  • Commit with a message such as "release 0.8.9.M945" and push your changes to the emfstore.core repository.
  • Wait for the hudson job to recognize these changes and build. https://hudson.eclipse.org/hudson/job/emf-emfstore-integration/
  • Download the build artifact site.p2 as a zip-file from the build that was triggered by your commit (look for your commit message).
  • Using scp (or WinScp) login into dev.eclipse.org, and move the content of /home/data/httpd/download.eclipse.org/emf-store/milestones/latest to /home/data/httpd/download.eclipse.org/emf-store/milestones/archive into a new subfolder named after the version, e.g. 0.8.9.M944 (if it does not yet exist).
  • Upload the unpacked zip-file and the zip-file itself to /home/data/httpd/download.eclipse.org/emf-store/milestones/latest
  • Verify that you can install EMFStore and ECP from the updated update-site by following these instructions: http://www.eclipse.org/emfstore/download.php
  • Switch back the relase to the continuous integration versioning scheme
#qualifier.replacement.*=M945
qualifier.replacement.*=generator:lastModified
generator.lastModified.format='v'yyyyMMdd-HHmm
  • Commit and push.
  • Addtional notes:
    • Currently, there is still a known bug that prevents hudson from building the repository if there are no new changes since the last build. In thise case the build will fail with the final message "Nothing to do". Therefore, try not to build manually but do a dummy commit to trigger the build.

How to create a final release of EMFStore

  1. Increase the version milestone number globally for all MANIFEST.MF and features.xml files, e.g. if you currently have version 0.8.9.M922 in your workspace you would end up with 0.8.9.M923.
  2. Navigate to the EMFStoreUpdateSite project. Depending on whether the release you will create is an official Eclipse release or a milestone release, open up the site.xml contained in the latest subfolder of the respective folder, i.e. either the milestones or releases folder. Delete the features and plugins folders as well as the artifacts.jar and content.jar. The EMFStoreUpdateSite project is part of the org.eclipse.emf.emfstore.releng git repository. If you have not yet done so, see the instructions at [1] on how to clone a git repository. Besides the latest folder there is archive folder. latest only contains the most recent version of EMFStore while archive acts, as it name implies, as an archive that holds older versions of EMFStore, too.
  3. Execute "Build All".
  4. When finished, navigate to the archive subfolder and once again open the site.xml. Repeat step 3 and after completion continue with step 5.
  5. If you haven't done so already, commit all the changes you have made since step 1, i.e. all updated MANIFEST.MF and features files as well as the EMFStoreUpdateSite project.
  6. Open up a SCP client (in case you don't know what SCP is, see here [2]), for instance WinSCP (fetch it from [3]) and login with your Eclipse commiter account at dev.eclipse.org.
  7. Assuming you are in your home folder, navigate to downloads/emf-store. You should see two folders, once again named latest and archive.
  8. Copy all contents that have been added to your local archive folder due to the build you have executed in step 3 to the remote archive folder. Overwrite the artifacts.jar, content.jar and site.xml files.
  9. Delete the contents of the remote latest folder and replace them with the ones from your local workspace.
  10. Tweet about the new release, use the hashtag #emfstore :)

Back to the top