46 lines
1.2 KiB
R
46 lines
1.2 KiB
R
|
#!/usr/bin/env Rscript
|
||
|
|
||
|
if (!nzchar(Sys.which('lyx')) || system('lyx -version') != 0L) q()
|
||
|
|
||
|
call_lyx = function(file) {
|
||
|
res = sapply(sprintf('lyx -e %s %s', c('knitr', 'r', 'pdf2'), file),
|
||
|
system, ignore.stdout = TRUE, USE.NAMES = FALSE)
|
||
|
unlink(sub('\\.lyx$', '.R', file))
|
||
|
stopifnot(identical(res, integer(3L)))
|
||
|
}
|
||
|
|
||
|
for (i in list.files(pattern = '\\.lyx$')) {
|
||
|
message(i)
|
||
|
call_lyx(i)
|
||
|
flush.console()
|
||
|
}
|
||
|
|
||
|
knit_script = normalizePath('../bin/knit', mustWork = TRUE)
|
||
|
knit_cmd = function(file) {
|
||
|
paste('Rscript', shQuote(knit_script), shQuote(file))
|
||
|
}
|
||
|
test_cmd = function(cmd) {
|
||
|
stopifnot(identical(system(cmd, ignore.stdout = TRUE), 0L))
|
||
|
}
|
||
|
|
||
|
for (i in list.files(pattern = '\\.Rmd')) {
|
||
|
message(i)
|
||
|
cmd = if (i == 'knitr-minimal.Rmd') {
|
||
|
sprintf("Rscript -e 'library(knitr);opts_knit$set(base.url=\"http://animation.r-forge.r-project.org/ideas/\");knit(\"%s\")'", i)
|
||
|
} else knit_cmd(i)
|
||
|
test_cmd(cmd)
|
||
|
flush.console()
|
||
|
}
|
||
|
|
||
|
test_cmd(sprintf("Rscript -e 'library(knitr);spin(\"knitr-spin.R\", precious=TRUE)'"))
|
||
|
|
||
|
setwd('child')
|
||
|
for (i in c('knitr-main.Rnw', 'knitr-parent.Rnw')) {
|
||
|
test_cmd(knit_cmd(i))
|
||
|
}
|
||
|
unlink('*.tex')
|
||
|
test_cmd(knit_cmd('knitr-main.Rmd'))
|
||
|
setwd('..')
|
||
|
|
||
|
file.remove('child/knitr-main.html')
|