You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@edgent.apache.org by cd...@apache.org on 2017/12/14 14:32:30 UTC

[13/50] [abbrv] incubator-edgent git commit: - Initial version of the release documentation

- Initial version of the release documentation


Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/8e950218
Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/8e950218
Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/8e950218

Branch: refs/heads/master
Commit: 8e95021884e206186b03c8dc076b44658731c549
Parents: 2012640
Author: Christofer Dutz <ch...@c-ware.de>
Authored: Tue Nov 7 09:41:39 2017 +0100
Committer: Christofer Dutz <ch...@c-ware.de>
Committed: Tue Nov 7 09:41:39 2017 +0100

----------------------------------------------------------------------
 src/site/asciidoc/releasing.adoc | 57 +++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/8e950218/src/site/asciidoc/releasing.adoc
----------------------------------------------------------------------
diff --git a/src/site/asciidoc/releasing.adoc b/src/site/asciidoc/releasing.adoc
new file mode 100644
index 0000000..d7a6525
--- /dev/null
+++ b/src/site/asciidoc/releasing.adoc
@@ -0,0 +1,57 @@
+////
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+////
+
+# Releasing Edgent
+
+In general the `master` branch contains the repository state of the latest release of Edgent.
+No commit should be done to `master` except for merging after a successful release.
+
+Normal development is done in the `develop` branch or in feature branches that are merged to `develop` after they are finished.
+
+A version is built up of three parts: `major`.`minor`.`bugfix`. For each major and minor version a corresponding `release` branch is maintained.
+This allows shipping of bug-fix releases, if this is required. For bug-fix releases no new branch is created.
+
+Assuming develop is currently in version `1.2.0-SNAPSHOT` and we are preparing a new release, then we would first create a `release/1.2` branch. Within this branch, the Edgent version is `1.2.0-SNAPSHOT` and develop becomes `1.3.0-SNAPSHOT`.
+In the `release/1.2` branch all work prior to cutting a release or for fixing bug-fixes in an existing release can be performed. This branch is usually used to stabilize the software prior to a release.
+
+As soon as the release branch is stable enough, the release manager cuts a release.
+
+When doing this, all modules versions are set to a release version, this version is committed and tagged and then the version is usually incremented to the next higher bug-fix version.
+So if the `release/1.2` branch is currently in version `1.2.0-SNAPSHOT`, the versions are changed to `1.2.0` and after the committing and tagging the version is updated to `1.2.1-SNAPSHOT`.
+
+All of these steps are automated by the `maven-release-plugin`.
+
+## Creating the release branch
+
+A new release branch is always created from the `develop` branch. So make sure all changes have been pulled and the repo is up to date.
+
+The following command performs the branching:
+
+    mvn release:branch -P platform-android,platform-java7,distribution -DbranchName=release/1.2 -DautoVersionSubmodules=true
+
+Without the `-DautoVersionSubmodules=true` we would have to specify the version for each module separately. This way we only have to specify the version of the root module and all children will inherit this version.
+
+Also the only way all modules are processed, is if we enable the `distribution` and the two `platform-android` and `platform-java7` profiles.
+
+After this the branches and the changes are committed, but not yet pushed. So as a last step here the release-manager needs to push the changes in his git repo.
+
+
+## Preparing a release
+
+To be continued ...
\ No newline at end of file