-
-Branching and pushing the branches to remote happens as follows:
-
- ./release-helper.sh x.y.z release/x.y.z your-git-username branch
- ./release-helper.sh x.y.z release/x.y.z your-git-username push
-
-## Prepare release branch for use
-
-In release 1.31.0 Simantics started using uses the wonderful tool from Obeo ([https://github.com/mbarbero/fr.obeo.releng.targetplatform](https://github.com/mbarbero/fr.obeo.releng.targetplatform)) to generate `.target` files from `.tpd` files which allow much simpler specification of the target contents and also composition of .tpd files via inclusion.
-
-In the following steps, it is recommended to ensure every `.target` file is up-to-date by regenerating them from `.tpd` files. While doing so, take care to use up-to-date online contents to perform the generation.
-
-### Prepare `.tpd` files
-
-1. Retrieve release branch of the platform repository
-
- git clone ssh://<user>@www.simantics.org:29418/simantics/platform.git
- cd platform
- git branch release/x.y.z[.w] remotes/origin/release/x.y.z[.w]
- git checkout release/x.y.z[.w]
-
-2. Edit all target platform files in `releng/org.simantics.sdk.build.targetdefinition/`, i.e.
- * `org.simantics.sdk.build.targetdefinition.tpd`
- * `simantics.tpd`
-
- Replace the following rows in both mentioned files:
-
- ~~~
- location "http://www.simantics.org/download/master/external-components/maven" {
- location "http://www.simantics.org/download/master/external-components/manual" {
- include "http://www.simantics.org/download/master/org.simantics.sdk.build.targetdefinition.tpd"
- location "http://www.simantics.org/download/master/sdk" {
- ~~~
-
- with
-
- ~~~
- location "http://www.simantics.org/download/release/x.y.z[.w]/maven" {
- location "http://www.simantics.org/download/release/x.y.z[.w]/manual" {
- include "http://www.simantics.org/download/release/x.y.z[.w]/org.simantics.sdk.build.targetdefinition.tpd"
- location "http://www.simantics.org/download/release/x.y.z[.w]/sdk" {
- ~~~
-
-3. Edit version number of `org.simantics.sdk` feature in `features/org.simantics.sdk.feature/feature.xml` to `x.y.z[.w]`.
- ~~~
- <feature
- id="org.simantics.sdk"
- label="Simantics SDK"
- version="x.y.z"
- provider-name="VTT Technical Research Centre of Finland">
- ~~~
-
- An example of these changes can be seen in [gitweb](https://www.simantics.org:8088/r/gitweb?p=simantics%2Fplatform.git;a=commit;h=5271b0faa98303225d00e6cd838d3fc52488545c) or [review 1361](https://www.simantics.org:8088/r/#/c/1361/).
-
-4. Ensure that Redmine has a release engineering issue for the branched release, such as [Simantics 1.30.0 release engineering](https://www.simantics.org/redmine/issues/7263). Make a copy of the previous release issue to create the new one. Include link to original issue while copying.
-
-5. Commit the changes made
-
- git commit -a
-
- with the commit message
-
- Configured release/x.y.z[.w] branch for SDK builds.
-
- refs #xxxx
-
- where `#xxxx` is the number of the x.y.z[.w] release engineering issue and push them to remote
-
- git push origin release/x.y.z[.w]
-
-6. If you are branching from `master`, bump the revision of master right now to start the next release cycle in master.
- An example of these changes can be seen in [gitweb](https://www.simantics.org:8088/r/gitweb?p=simantics%2Fplatform.git;a=commit;h=564ac84a2949b19ce5c1c7c838b575527ec42b09) or in [review 1362](https://www.simantics.org:8088/r/#/c/1362). The changes include:
+The first `version` argument is only used for the base working directory `x.y.z`.
+The second `branch` argument tells what branch to specify to some of the available actions, e.g. `branch`, `checkout`, etc.
+
+Creating the release branch from master and pushing the new branches to remote happens as follows:
+
+ # When the commit messages appear, add references to created
+ # Gitlab release engineering issues by adding this to the commit message:
+ #
+ # gitlab #xxxx
+ #
+ # where xxxx is the release engineering issue for the respective project
+ ./release-helper.sh $version $branch $user branch-release master
+ ./release-helper.sh $version $branch $user push
+
+If you're creating a service release `x.y.w` from `x.y.z` where `w > z`, do this:
+
+ fromBranch=release/x.y.z
+ branch=release/x.y.w
+ ./release-helper.sh $version $branch $user branch-release $fromBranch
+ ./release-helper.sh $version $branch $user push
+
+If you branched a new release from `master`, you should also bump the revision of the master branch right now to start the next release cycle in master.
+An example of these changes can be seen in [gitweb](https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commit;h=564ac84a2949b19ce5c1c7c838b575527ec42b09) or in [review 1362](https://gerrit.simantics.org/r/#/c/1362).
+The changes include: