1
- use regex :: Regex ;
1
+ use mullvad_version :: Version ;
2
2
use std:: { env, process:: exit} ;
3
3
4
4
const ANDROID_VERSION : & str =
5
5
include_str ! ( concat!( env!( "OUT_DIR" ) , "/android-product-version.txt" ) ) ;
6
6
7
- const VERSION_REGEX : & str = r"^20([0-9]{2})\.([1-9][0-9]?)(-beta([1-9][0-9]?))?(-dev-[0-9a-f]+)?$" ;
8
-
9
- const ANDROID_STABLE_VERSION_CODE_SUFFIX : & str = "99" ;
10
-
11
7
fn main ( ) {
12
8
let command = env:: args ( ) . nth ( 1 ) ;
13
9
match command. as_deref ( ) {
@@ -53,7 +49,9 @@ fn to_semver(version: &str) -> String {
53
49
/// Version: 2021.34
54
50
/// versionCode: 21340099
55
51
fn to_android_version_code ( version : & str ) -> String {
56
- let version = parse_version ( version) ;
52
+ const ANDROID_STABLE_VERSION_CODE_SUFFIX : & str = "99" ;
53
+
54
+ let version = Version :: parse ( version) ;
57
55
format ! (
58
56
"{}{:0>2}00{:0>2}" ,
59
57
version. year,
@@ -67,7 +65,7 @@ fn to_android_version_code(version: &str) -> String {
67
65
fn to_windows_h_format ( version : & str ) -> String {
68
66
let Version {
69
67
year, incremental, ..
70
- } = parse_version ( version) ;
68
+ } = Version :: parse ( version) ;
71
69
72
70
format ! (
73
71
"#define MAJOR_VERSION 20{year}
@@ -76,29 +74,3 @@ fn to_windows_h_format(version: &str) -> String {
76
74
#define PRODUCT_VERSION \" {version}\" "
77
75
)
78
76
}
79
-
80
- struct Version {
81
- year : String ,
82
- incremental : String ,
83
- beta : Option < String > ,
84
- }
85
-
86
- fn parse_version ( version : & str ) -> Version {
87
- let re = Regex :: new ( VERSION_REGEX ) . unwrap ( ) ;
88
- let captures = re
89
- . captures ( version)
90
- . expect ( "Version does not match expected format" ) ;
91
- let year = captures. get ( 1 ) . expect ( "Missing year" ) . as_str ( ) . to_owned ( ) ;
92
- let incremental = captures
93
- . get ( 2 )
94
- . expect ( "Missing incremental" )
95
- . as_str ( )
96
- . to_owned ( ) ;
97
- let beta = captures. get ( 4 ) . map ( |m| m. as_str ( ) . to_owned ( ) ) ;
98
-
99
- Version {
100
- year,
101
- incremental,
102
- beta,
103
- }
104
- }
0 commit comments