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 9: Line 9:
 
* Wait for the hudson job to recognize these changes and build. https://hudson.eclipse.org/hudson/job/emf-emfstore-integration/
 
* 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).
 
* 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).
+
* Using scp (or WinScp) login with your Eclipse commiter account at '''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. You might have to download and re-upload if the server does now allow you to move files.
 
* Upload the unpacked zip-file and the zip-file itself to ''/home/data/httpd/download.eclipse.org/emf-store/milestones/latest''
 
* Upload the unpacked zip-file and the zip-file itself to ''/home/data/httpd/download.eclipse.org/emf-store/milestones/latest''
 +
* Change the permissions of all directories you touched to rwxrwsr-x in order to allow your group to modify the content later.
 
* Verify that you can install EMFStore and ECP from the updated update-site by following these instructions: http://www.eclipse.org/emfstore/download.php
 
* 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
 
* Switch back the relase to the continuous integration versioning scheme
Line 18: Line 19:
 
generator.lastModified.format='v'yyyyMMdd-HHmm
 
generator.lastModified.format='v'yyyyMMdd-HHmm
 
</source>
 
</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 ==
 
== 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.
+
To release a final version, you need to replace the version numbers manually and drop the qualifier:
# 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.
+
* Increase the version milestone number globally for all MANIFEST.MF and features.xml files in all repositories, e.g. if you currently have version 0.8.9.qualifier in, your workspace you would end up with 0.9.0.
# Execute "Build All".
+
* Proceed with hudson and the upload of the build, but use the directory ''latest'' instead of ''milestones''
# When finished, navigate to the '''archive''' subfolder and once again open the ''site.xml''.  Repeat step 3 and after completion continue with step 5.
+
* Switch back the relase to the continuous integration versioning scheme by adding the qualifier to the release version. For example, if you currently have version 0.9.0 in your workspace, you would end up with 0.9.0.qualifier.
# 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.
+
 
# Open up a SCP client (in case you don't know what SCP is, see here [http://en.wikipedia.org/wiki/Secure_Copy]), for instance WinSCP (fetch it from [http://winscp.net]) and login with your Eclipse commiter account at '''dev.eclipse.org'''.
+
== For all releases ==
# Assuming you are in your home folder, navigate to '''downloads/emf-store'''.  You should see two folders, once again named '''latest''' and '''archive'''.
+
* Commit and push.
# 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.
+
* Tweet about the new release, use the hashtag #emfstore :)
# Delete the contents of the '''remote latest''' folder and replace them with the ones from your local workspace.
+
 
# Tweet about the new release, use the hashtag #emfstore :)
+
== Unresolved issues ==
 +
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 this case the build will fail with the message "Nothing to do".  
 +
Therefore, try not to build manually but do a dummy commit to trigger the build.
 +
 
 +
== See also ==
 +
How to clone a git repository [http://wiki.eclipse.org/EMFStore_Git]
 +
 
 +
== Links ==
 +
* SCP [http://en.wikipedia.org/wiki/Secure_Copy]
 +
* WinSCP [http://winscp.net]

Revision as of 08:36, 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 with your Eclipse commiter account at 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. You might have to download and re-upload if the server does now allow you to move files.
  • Upload the unpacked zip-file and the zip-file itself to /home/data/httpd/download.eclipse.org/emf-store/milestones/latest
  • Change the permissions of all directories you touched to rwxrwsr-x in order to allow your group to modify the content later.
  • 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

How to create a final release of EMFStore

To release a final version, you need to replace the version numbers manually and drop the qualifier:

  • Increase the version milestone number globally for all MANIFEST.MF and features.xml files in all repositories, e.g. if you currently have version 0.8.9.qualifier in, your workspace you would end up with 0.9.0.
  • Proceed with hudson and the upload of the build, but use the directory latest instead of milestones
  • Switch back the relase to the continuous integration versioning scheme by adding the qualifier to the release version. For example, if you currently have version 0.9.0 in your workspace, you would end up with 0.9.0.qualifier.

For all releases

  • Commit and push.
  • Tweet about the new release, use the hashtag #emfstore :)

Unresolved issues

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 this case the build will fail with the message "Nothing to do". Therefore, try not to build manually but do a dummy commit to trigger the build.

See also

How to clone a git repository [1]

Links

Back to the top