annotate checkR.R @ 0:1d1b9e1b2e2f draft

Uploaded
author petr-novak
date Thu, 19 Dec 2019 10:24:45 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
1 #!/usr/bin/env Rscript
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
2 rfiles = dir(path = "lib", pattern ="[.]R$", full.names = TRUE, recursive = TRUE)
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
3 rcode = grep('library', unlist(sapply(rfiles, readLines)), value = TRUE)
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
4
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
5 packages = unique(gsub("[),].*$","", gsub("^.*library[(]","",rcode)))
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
6 packages = c(packages, "Rserve") # Rserve added - it is loaded from python
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
7 versions = list('igraph'="1.0.0")
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
8 for (i in packages){
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
9 missing_packages=c()
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
10 packgs = installed.packages()
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
11 tryCatch(
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
12 {
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
13 suppressPackageStartupMessages(library(i, character.only = TRUE))
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
14 message(paste("package ",i,"succesfuly loaded"))
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
15 if( !is.null(versions[[i]])){
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
16 if (numeric_version(versions[[i]])>numeric_version(packgs[i,"Version"])){
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
17 message(paste("\033[0;31mversion",packgs[i,"Version"],
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
18 "of package ",i,"is installed but at least ",
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
19 numeric_version(versions[[i]]),"is needed! \033[0m"))
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
20 }
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
21 }
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
22 },
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
23 error=function(cond){
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
24 message(paste('\033[0;31mpackage ',i,
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
25 'was not loaded \033[0m - please install this package!'));
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
26 missing_packages = c(missing_packages,i)
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
27 }
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
28 )
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
29 }
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
30
1d1b9e1b2e2f Uploaded
petr-novak
parents:
diff changeset
31