Handle sub-patch versioning Currently the code only handles x.y.z but there is a possibility that Gerrit has the fourth versioning. During such occasion the checking will fail entirely. This patch add an optional fourth versioning number. Change-Id: I80e7de197d13008ec3d478be84ef7a3e5426a612 Signed-off-by: Ardo Septama <aseptama@gmail.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/importer/GerritApi.java b/src/main/java/com/googlesource/gerrit/plugins/importer/GerritApi.java index 88cddce..cbfc5df 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/importer/GerritApi.java +++ b/src/main/java/com/googlesource/gerrit/plugins/importer/GerritApi.java
@@ -82,22 +82,25 @@ final Integer major; final Integer minor; final Integer patch; + final Integer revision; final String qualifier; Version(String formatted) { this.formatted = formatted; - Matcher m = Pattern.compile("(\\d+)\\.(\\d+)(\\.(\\d+))?(-(.+))?") + Matcher m = Pattern.compile("(\\d+)\\.(\\d+)(\\.(\\d+))?(\\.(\\d+))?(-(.+))?") .matcher(formatted); if (m.matches()) { this.major = Integer.parseInt(m.group(1)); this.minor = Integer.parseInt(m.group(2)); this.patch = m.group(3) != null ? Integer.parseInt(m.group(4)) : null; - this.qualifier = m.group(5) != null ? m.group(6) : null; + this.revision = m.group(5) != null ? Integer.parseInt(m.group(6)) : null; + this.qualifier = m.group(7) != null ? m.group(8) : null; } else { this.major = null; this.minor = null; this.patch = null; + this.revision = null; this.qualifier = null; } }