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
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"
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
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
27 FILENAMES="pom.xml features.xml"
29 for name in $FILENAMES
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" {} +
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" {} +
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" {} +
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" {} +