| <?xml version="1.0" encoding="UTF-8"?> |
| <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| |
| <properties> |
| <title>sop-releng</title> |
| </properties> |
| |
| <body> |
| <section name="Releng"> |
| <subsection name="Context"> |
| <p>Goal is to be able to release your project generated with Papyrus Components</p> |
| <p>The following procedure works if and only if all plugins have the same version, ie you will upgrade same in batch mode.</p> |
| </subsection> |
| <subsection name="Prerequisites"> |
| <p>Ensure your Hudson jobs are green <a href="https://hudson.eclipse.org/papyrus/view/COMPONENTS/job/">https://hudson.eclipse.org/papyrus/view/COMPONENTS/job/</a>.</p> |
| <p>Ensure that no critical bugs are opened <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=__open__&component=Components&product=Papyrus&query_format=specific">https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=__open__&component=Components&product=Papyrus&query_format=specific</a></p> |
| <p>Have a look to the nightly documentation in order to fetch the needed repository: <a href="https://hudson.eclipse.org/papyrus/view/Components/job/papyrus-components-website/ws/site-staging/index.html">https://hudson.eclipse.org/papyrus/view/Components/job/papyrus-components-website/ws/site-staging/index.html</a></p> |
| </subsection> |
| <subsection name="Actions"> |
| <ul> |
| <li>Create a bugzilla ticket [Components][releng] Release of version X.Y.Z</li> |
| <li>Fetch your repository</li> |
| <li>Modify the change log located in the org.eclipse.papyrus.components.parent/src/changes/changes.xml</li> |
| <li>Change from .qualifier -SNAPSHOT to a stable version, see CommandA</li> |
| <li>Change your target to match a specific release version, see commandB</li> |
| <li>Merge these modifications</li> |
| <li>Run your associated job Release Components: <a href="https://hudson.eclipse.org/papyrus/view/Component/job/" >papyrus-component</a></li> |
| <li>It should deploy the new version into the <a href="https://repo.eclipse.org/index.html#nexus-search;quick~org.eclipse.papyrus.components">nexus repository</a> and execute downstream the website job Components: <a href="https://hudson.eclipse.org/papyrus/view/Components/job/papyrus-components-deploy-website">papyrus-components-deploy-website</a>. The downstream jobs can be seen at the end of the build's console report.</li> |
| <li>Deploy the web site by copying the staging directory in the papyrus web git repository. To do this, first clone the <a href="http://git.eclipse.org/c/www.eclipse.org/papyrus.git/"> Papyrus Web git repository </a> and unzip in the components/components/ directory the unzipped built site from <a href="https://hudson.eclipse.org/papyrus/view/Components/job/papyrus-components-deploy-website/ws/site-staging/*zip*/site-staging.zip"> papyrus-components-deploy-website </a></li> |
| <li>Modify the index.html to reflect the new release version by adding a new item to the dropdown menu and updating the referenced page address. This file can be found in the Papyrus Web git repository at the root of the components/components/ folder</li> |
| <li>Increase the different pom.xml, manifest.mf artifact version by adding a +(0.0.1)-SNAPSHOT.qualifier suffix in parent and archetype. See CommandA</li> |
| <li>Restore the 0.0.0 in all your target files</li> |
| <li>Merge these modifications</li> |
| <li>Close the ticket release.</li> |
| </ul> |
| <p>CommandA example of command to upgrade pom.xml, plugin.xml, manifest.mf, category.xml, feature.xml etc..., check if it runs on all plugins depending on your profile configuration </p> |
| <source>mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=1.2.2.qualifier -DupdateVersionRangeMatchingBounds=true -Pproduct</source> |
| <p>CommandB example of command to upgrade your targets that will switch from a 0.0.0 to a specific version</p> |
| <source>mvn org.eclipse.tycho.extras:tycho-version-bump-plugin:update-target -Dtarget=/home/flefevre/gitNeon/org.eclipse.papyrus-marte/targetplatform/org.eclipse.papyrus.marte.targetplatform.neon/org.eclipse.papyrus.marte.targetplatform.neon.target </source> |
| </subsection> |
| <subsection name="Post-Actions"> |
| <p>You could inform Papyrus Components project leader that you have improve the project in order they switch to the new pom version.</p> |
| </subsection> |
| </section> |
| </body> |
| |
| </document> |