@@ -5,19 +5,19 @@ case class Version(major: Int, minor: Int, patch: Int) {
5
5
6
6
object Version {
7
7
// the (#.+)? part allows republishing for a new Scala version
8
- private val versionRegex0 = " v?([0-9]+)\\ .([0-9]+)\\ .([0-9]+)(#.+)?" .r
9
- private val versionRegex1 = " v?([0-9]+)\\ .([0-9]+)\\ .([0-9]+)-(.+)(#.+)?" .r
10
- private val versionRegex2 = " ([0-9]+)\\ .([0-9]+)(#.+)?" .r
11
- private val versionRegex3 = " ([0-9]+)(#.+)?" .r
8
+ private val versionRegex0 = " v?([0-9]+)\\ .([0-9]+)\\ .([0-9]+)(?: #.+)?" .r
9
+ private val versionRegex1 = " v?([0-9]+)\\ .([0-9]+)\\ .([0-9]+)-(.+)(?: #.+)?" .r
10
+ private val versionRegex2 = " ([0-9]+)\\ .([0-9]+)(?: #.+)?" .r
11
+ private val versionRegex3 = " ([0-9]+)(?: #.+)?" .r
12
12
def parse (raw : String ): Option [Version ] = {
13
13
raw match {
14
- case versionRegex0(major, minor, patch, _ ) =>
14
+ case versionRegex0(major, minor, patch) =>
15
15
Some (Version (major.toInt, minor.toInt, patch.toInt))
16
- case versionRegex1(major, minor, patch, _, _ ) =>
16
+ case versionRegex1(major, minor, patch, _) =>
17
17
Some (Version (major.toInt, minor.toInt, patch.toInt))
18
- case versionRegex2(major, minor, _ ) =>
18
+ case versionRegex2(major, minor) =>
19
19
Some (Version (major.toInt, minor.toInt, 0 ))
20
- case versionRegex3(major, _ ) =>
20
+ case versionRegex3(major) =>
21
21
Some (Version (major.toInt, 0 , 0 ))
22
22
case _ =>
23
23
None
0 commit comments