Thomas Vachuska
Committed by Gerrit Code Review

Adding packaging on onos*.zip file.

Modified Version.java to allow 3-segment version.
Changed onos-next to onos as default for ONOS_ROOT.

Change-Id: Ifbde9dfbc7af9a5891e9f41db6932859c0f59660
...@@ -17,6 +17,8 @@ package org.onosproject.core; ...@@ -17,6 +17,8 @@ package org.onosproject.core;
17 17
18 import java.util.Objects; 18 import java.util.Objects;
19 19
20 +import static com.google.common.base.Preconditions.checkArgument;
21 +import static com.google.common.base.Strings.isNullOrEmpty;
20 import static java.lang.Integer.parseInt; 22 import static java.lang.Integer.parseInt;
21 23
22 /** 24 /**
...@@ -24,22 +26,27 @@ import static java.lang.Integer.parseInt; ...@@ -24,22 +26,27 @@ import static java.lang.Integer.parseInt;
24 */ 26 */
25 public final class Version { 27 public final class Version {
26 28
27 - public static final String FORMAT = "%d.%d.%d.%s"; 29 + public static final String FORMAT = "%d.%d.%s.%s";
30 + public static final String FORMAT_SHORT = "%d.%d.%s";
31 +
32 + private static final String NEGATIVE = "Version segment cannot be negative";
28 33
29 private final int major; 34 private final int major;
30 private final int minor; 35 private final int minor;
31 - private final int patch; 36 + private final String patch;
32 private final String build; 37 private final String build;
33 38
34 private final String format; 39 private final String format;
35 40
36 // Creates a new version descriptor 41 // Creates a new version descriptor
37 - private Version(int major, int minor, int patch, String build) { 42 + private Version(int major, int minor, String patch, String build) {
38 this.major = major; 43 this.major = major;
39 this.minor = minor; 44 this.minor = minor;
40 this.patch = patch; 45 this.patch = patch;
41 this.build = build; 46 this.build = build;
42 - this.format = String.format(FORMAT, major, minor, patch, build); 47 + this.format = isNullOrEmpty(build) ?
48 + String.format(FORMAT_SHORT, major, minor, patch) :
49 + String.format(FORMAT, major, minor, patch, build);
43 } 50 }
44 51
45 52
...@@ -48,11 +55,13 @@ public final class Version { ...@@ -48,11 +55,13 @@ public final class Version {
48 * 55 *
49 * @param major major version number 56 * @param major major version number
50 * @param minor minod version number 57 * @param minor minod version number
51 - * @param patch version patch number 58 + * @param patch version patch segment
52 - * @param build build string 59 + * @param build optional build string
53 * @return version descriptor 60 * @return version descriptor
54 */ 61 */
55 - public static Version version(int major, int minor, int patch, String build) { 62 + public static Version version(int major, int minor, String patch, String build) {
63 + checkArgument(major > 0, NEGATIVE);
64 + checkArgument(minor > 0, NEGATIVE);
56 return new Version(major, minor, patch, build); 65 return new Version(major, minor, patch, build);
57 } 66 }
58 67
...@@ -65,7 +74,7 @@ public final class Version { ...@@ -65,7 +74,7 @@ public final class Version {
65 public static Version version(String string) { 74 public static Version version(String string) {
66 String[] fields = string.split("[.-]"); 75 String[] fields = string.split("[.-]");
67 return new Version(parseInt(fields[0]), parseInt(fields[1]), 76 return new Version(parseInt(fields[0]), parseInt(fields[1]),
68 - parseInt(fields[2]), fields[3]); 77 + fields[2], fields.length == 4 ? fields[3] : null);
69 } 78 }
70 79
71 /** 80 /**
...@@ -87,11 +96,11 @@ public final class Version { ...@@ -87,11 +96,11 @@ public final class Version {
87 } 96 }
88 97
89 /** 98 /**
90 - * Returns the version patch number. 99 + * Returns the version patch segment.
91 * 100 *
92 * @return patch number 101 * @return patch number
93 */ 102 */
94 - public int patch() { 103 + public String patch() {
95 return patch; 104 return patch;
96 } 105 }
97 106
......
...@@ -29,10 +29,10 @@ public class VersionTest { ...@@ -29,10 +29,10 @@ public class VersionTest {
29 29
30 @Test 30 @Test
31 public void fromParts() { 31 public void fromParts() {
32 - Version v = version(1, 2, 3, "4321"); 32 + Version v = version(1, 2, "3", "4321");
33 assertEquals("wrong major", 1, v.major()); 33 assertEquals("wrong major", 1, v.major());
34 assertEquals("wrong minor", 2, v.minor()); 34 assertEquals("wrong minor", 2, v.minor());
35 - assertEquals("wrong patch", 3, v.patch()); 35 + assertEquals("wrong patch", "3", v.patch());
36 assertEquals("wrong build", "4321", v.build()); 36 assertEquals("wrong build", "4321", v.build());
37 } 37 }
38 38
...@@ -41,7 +41,7 @@ public class VersionTest { ...@@ -41,7 +41,7 @@ public class VersionTest {
41 Version v = version("1.2.3.4321"); 41 Version v = version("1.2.3.4321");
42 assertEquals("wrong major", 1, v.major()); 42 assertEquals("wrong major", 1, v.major());
43 assertEquals("wrong minor", 2, v.minor()); 43 assertEquals("wrong minor", 2, v.minor());
44 - assertEquals("wrong patch", 3, v.patch()); 44 + assertEquals("wrong patch", "3", v.patch());
45 assertEquals("wrong build", "4321", v.build()); 45 assertEquals("wrong build", "4321", v.build());
46 } 46 }
47 47
...@@ -50,17 +50,26 @@ public class VersionTest { ...@@ -50,17 +50,26 @@ public class VersionTest {
50 Version v = version("1.2.3-SNAPSHOT"); 50 Version v = version("1.2.3-SNAPSHOT");
51 assertEquals("wrong major", 1, v.major()); 51 assertEquals("wrong major", 1, v.major());
52 assertEquals("wrong minor", 2, v.minor()); 52 assertEquals("wrong minor", 2, v.minor());
53 - assertEquals("wrong patch", 3, v.patch()); 53 + assertEquals("wrong patch", "3", v.patch());
54 assertEquals("wrong build", "SNAPSHOT", v.build()); 54 assertEquals("wrong build", "SNAPSHOT", v.build());
55 } 55 }
56 56
57 @Test 57 @Test
58 + public void shortNumber() {
59 + Version v = version("1.2.3");
60 + assertEquals("wrong major", 1, v.major());
61 + assertEquals("wrong minor", 2, v.minor());
62 + assertEquals("wrong patch", "3", v.patch());
63 + assertEquals("wrong build", null, v.build());
64 + }
65 +
66 + @Test
58 public void testEquals() { 67 public void testEquals() {
59 new EqualsTester() 68 new EqualsTester()
60 - .addEqualityGroup(version("1.2.3.4321"), version(1, 2, 3, "4321")) 69 + .addEqualityGroup(version("1.2.3.4321"), version(1, 2, "3", "4321"))
61 - .addEqualityGroup(version("1.9.3.4321"), version(1, 9, 3, "4321")) 70 + .addEqualityGroup(version("1.9.3.4321"), version(1, 9, "3", "4321"))
62 - .addEqualityGroup(version("1.2.8.4321"), version(1, 2, 8, "4321")) 71 + .addEqualityGroup(version("1.2.8.4321"), version(1, 2, "8", "4321"))
63 - .addEqualityGroup(version("1.2.3.x"), version(1, 2, 3, "x")) 72 + .addEqualityGroup(version("1.2.3.x"), version(1, 2, "3", "x"))
64 .testEquals(); 73 .testEquals();
65 } 74 }
66 } 75 }
......
1 # Environmental defaults for ONOS build, package and test 1 # Environmental defaults for ONOS build, package and test
2 2
3 # Root of the ONOS source tree 3 # Root of the ONOS source tree
4 -export ONOS_ROOT=${ONOS_ROOT:-~/onos-next} 4 +export ONOS_ROOT=${ONOS_ROOT:-~/onos}
5 5
6 # M2 repository and Karaf gold bits 6 # M2 repository and Karaf gold bits
7 export M2_REPO=${M2_REPO:-~/.m2/repository} 7 export M2_REPO=${M2_REPO:-~/.m2/repository}
...@@ -24,6 +24,7 @@ export ONOS_BITS=onos-${ONOS_VERSION%~*} ...@@ -24,6 +24,7 @@ export ONOS_BITS=onos-${ONOS_VERSION%~*}
24 export ONOS_STAGE_ROOT=${ONOS_STAGE_ROOT:-/tmp} 24 export ONOS_STAGE_ROOT=${ONOS_STAGE_ROOT:-/tmp}
25 export ONOS_STAGE=$ONOS_STAGE_ROOT/$ONOS_BITS 25 export ONOS_STAGE=$ONOS_STAGE_ROOT/$ONOS_BITS
26 export ONOS_TAR=$ONOS_STAGE.tar.gz 26 export ONOS_TAR=$ONOS_STAGE.tar.gz
27 +export ONOS_ZIP=$ONOS_STAGE.zip
27 28
28 # Defaults for ONOS testing using remote machines. 29 # Defaults for ONOS testing using remote machines.
29 # if [ -n "${ONOS_CELL}" -a -f $ONOS_ROOT/tools/test/cells/${ONOS_CELL} ]; then 30 # if [ -n "${ONOS_CELL}" -a -f $ONOS_ROOT/tools/test/cells/${ONOS_CELL} ]; then
......
...@@ -72,5 +72,6 @@ echo $ONOS_VERSION > $ONOS_STAGE/VERSION ...@@ -72,5 +72,6 @@ echo $ONOS_VERSION > $ONOS_STAGE/VERSION
72 # Now package up the ONOS tar file 72 # Now package up the ONOS tar file
73 cd $ONOS_STAGE_ROOT 73 cd $ONOS_STAGE_ROOT
74 COPYFILE_DISABLE=1 tar zcf $ONOS_TAR $ONOS_BITS 74 COPYFILE_DISABLE=1 tar zcf $ONOS_TAR $ONOS_BITS
75 -ls -l $ONOS_TAR >&2 75 +which -s zip && zip -rq $ONOS_ZIP $ONOS_BITS
76 +ls -l $ONOS_TAR $ONOS_ZIP >&2
76 rm -r $ONOS_STAGE 77 rm -r $ONOS_STAGE
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
3 # Simply include in your own .bash_aliases or .bash_profile 3 # Simply include in your own .bash_aliases or .bash_profile
4 4
5 # Root of the ONOS source tree 5 # Root of the ONOS source tree
6 -export ONOS_ROOT=${ONOS_ROOT:-~/onos-next} 6 +export ONOS_ROOT=${ONOS_ROOT:-~/onos}
7 7
8 # Setup some environmental context for developers 8 # Setup some environmental context for developers
9 if [ -z "${JAVA_HOME}" ]; then 9 if [ -z "${JAVA_HOME}" ]; then
......
...@@ -6,5 +6,7 @@ ...@@ -6,5 +6,7 @@
6 #export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk-amd64/} 6 #export JAVA_HOME=${JAVA_HOME:-/usr/lib/jvm/java-7-openjdk-amd64/}
7 export JAVA_OPTS="${JAVA_OPTS:--Xms256m -Xmx2048m}" 7 export JAVA_OPTS="${JAVA_OPTS:--Xms256m -Xmx2048m}"
8 8
9 -cd /opt/onos 9 +ONOS_HOME=/opt/onos
10 -/opt/onos/apache-karaf-$KARAF_VERSION/bin/karaf "$@" 10 +
11 +[ -d $ONOS_HOME ] && cd $ONOS_HOME || ONOS_HOME=$(dirname $0)/..
12 +${ONOS_HOME}/apache-karaf-$KARAF_VERSION/bin/karaf "$@"
......