@@ -150,12 +150,22 @@ fn add_rtools(version: String) -> Result<(), Box<dyn Error>> {
150
150
}
151
151
let client = & reqwest:: Client :: new ( ) ;
152
152
for ver in vers {
153
+ let rtools44 = & ver[ 0 ..2 ] == "44" ;
153
154
let rtools43 = & ver[ 0 ..2 ] == "43" ;
154
155
let rtools42 = & ver[ 0 ..2 ] == "42" ;
155
156
let rtools4 = & ver[ 0 ..1 ] == "4" ;
156
157
let filename: String ;
157
158
let url: String ;
158
- if rtools43 {
159
+ if rtools44 {
160
+ let rt44=Path :: new ( "C:\\ Rtools44" ) ;
161
+ if rt44. exists ( ) {
162
+ info ! ( "Rtools44 is already installed" ) ;
163
+ continue ;
164
+ }
165
+ filename = "rtools44.exe" . to_string ( ) ;
166
+ url = "https://github.com/r-hub/rtools44/releases/download/latest/rtools44.exe"
167
+ . to_string ( ) ;
168
+ } else if rtools43 {
159
169
let rt43=Path :: new ( "C:\\ Rtools43" ) ;
160
170
if rt43. exists ( ) {
161
171
info ! ( "Rtools43 is already installed" ) ;
@@ -279,17 +289,29 @@ fn get_rtools_needed(version: Option<Vec<String>>) -> Result<Vec<String>, Box<dy
279
289
let ver: String = String :: from_utf8 ( out. stdout ) ?;
280
290
let v35 = "35" . to_string ( ) ;
281
291
let v40 = "40" . to_string ( ) ;
292
+ let v42 = "42" . to_string ( ) ;
282
293
let v43 = "43" . to_string ( ) ;
294
+ let v44 = "44" . to_string ( ) ;
295
+ let sv440 = semver:: Version :: parse ( "4.4.0" ) ?;
283
296
let sv430 = semver:: Version :: parse ( "4.3.0" ) ?;
297
+ let sv420 = semver:: Version :: parse ( "4.2.0" ) ?;
284
298
let sv = semver:: Version :: parse ( & ver) ?;
285
299
if & ver[ 0 ..1 ] == "3" {
286
300
if !res. contains ( & v35) {
287
301
res. push ( v35) ;
288
302
}
303
+ } else if sv >= sv440 {
304
+ if !res. contains ( & v44) {
305
+ res. push ( v44)
306
+ }
289
307
} else if sv >= sv430 {
290
308
if !res. contains ( & v43) {
291
309
res. push ( v43)
292
310
}
311
+ } else if sv >= sv420 {
312
+ if !res. contains ( & v42) {
313
+ res. push ( v42)
314
+ }
293
315
} else if & ver[ 0 ..1 ] == "4" {
294
316
if !res. contains ( & v40) {
295
317
res. push ( v40) ;
0 commit comments