Moved emulator classes out of driver module.
[packetcable.git] / docs / Version-bump.sh
1 #!/bin/sh
2
3 # In general, versions should be: <major>.<minor>.<micro>[-<human-readable-tag>]
4 # * Human readable tag should not have any dots in it
5 # * SNAPSHOT is used for development
6
7 # Master before release:        x.y.z-SNAPSHOT (or x.y-SNAPSHOT in which case we treat it as x.y.0-SNAPSHOT)
8 # at release:                   x.y.z-Helium
9 # stable/helium after release:  x.y.(z+1)-SNAPSHOT
10 # master after release:         x.(y+1).0-SNAPSHOT
11 # Autorelease on master:        <human-readable-tag> is "PreLithium-<date>"
12 # Autorelease on stable/helium: <human-readable-tag> is "PreHeliumSR1-<date>"
13 # Release job on master:        <human-readable-tag> is "Lithium"
14 # Release job on stable/helium: <human-readable-tag> is "HeliumSR1"
15 #
16 # Some things have a date for a version, e.g., 2014.09.24.4
17 # * We treat this as YYYY.MM.DD.<minor>
18 # * Note that all such dates currently in ODL are in YANG tools
19 # * They are all now YYYY.MM.DD.7 since 7 is the minor version for yangtools
20
21
22 # The goal of this script is to:
23 #   1.) take all x.y.z-Helium versions to x.y.(z+1)-SNAPSHOT and
24 #   2.) take all x.y.z-SNAPSHOT versions to x.(y+1).0-SNAPSHOT
25
26 RELEASE_TAG="Helium"
27 FILENAMES="pom.xml features.xml"
28
29 for name in $FILENAMES
30 do
31         # Do the -SNAPSHOT conversion first so that we don't double bump versions
32         # Changes x.y.z-SNAPSHOT to x.(y+1).0-SNAPSHOT in pom.xml files (if z is missing treat as 0)
33         find . -type f -name "$name" -exec perl -i -pe "s/([^\d.]\d+)\.(\d+)\.(\d+)-SNAPSHOT/\$1.@{[1+\$2]}.0-SNAPSHOT/g" {} +
34         find . -type f -name "$name" -exec perl -i -pe "s/([^\d.]\d+)\.(\d+)-SNAPSHOT/\$1.@{[1+\$2]}.0-SNAPSHOT/g" {} +
35
36         # Changes YYYY.MM.DD.y.z-Helium to YYYY.MM.DD.7-SNAPSHOT in pom.xml files
37         find . -type f -name "$name" -exec perl -i -pe "s/(\d\d\d\d\.\d\d\.\d\d)\.(\d+)\.(\d+)-SNAPSHOT/\$1.7-SNAPSHOT/g" {} +
38         find . -type f -name "$name" -exec perl -i -pe "s/(\d\d\d\d\.\d\d\.\d\d)\.(\d+)-SNAPSHOT/\$1.7-SNAPSHOT/g" {} +
39
40         # Changes x.y.z-Helium to x.y.(z+1)-SNAPSHOT in pom.xml files (if z is missing treat as 0)
41         find . -type f -name "$name" -exec perl -i -pe "s/([^\d.]\d+)\.(\d+)\.(\d+)-$RELEASE_TAG/\$1.\$2.@{[1+\$3]}-SNAPSHOT/g" {} +
42         find . -type f -name "$name" -exec perl -i -pe "s/([^\d.]\d+)\.(\d+)-$RELEASE_TAG/\$1.\$2.1-SNAPSHOT/g" {} +
43
44         # Changes YYYY.MM.DD.y.z-Helium to YYMMDD.y.(z+1)-SNAPSHOT in pom.xml files (if z is missing treat as 0)
45         find . -type f -name "$name" -exec perl -i -pe "s/(\d\d\d\d\.\d\d\.\d\d)\.(\d+)\.(\d+)-$RELEASE_TAG/\$1.\$2.@{[1+\$3]}-SNAPSHOT/g" {} +
46         find . -type f -name "$name" -exec perl -i -pe "s/(\d\d\d\d\.\d\d\.\d\d)\.(\d+)-$RELEASE_TAG/\$1.\$2.1-SNAPSHOT/g" {} +
47 done