annotate checkR.R @ 0:f6ebec6e235e draft

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