<%------------------------------------------------------------------------ Usage: yml <- R.rsp::rfile("appveyor.yml.rsp") ------------------------------------------------------------------------%> <% pd <- local({ pd <- NULL function() { if (is.null(pd)) { pd <<- as.list(as.data.frame(read.dcf("DESCRIPTION"), stringsAsFactors=FALSE)) } pd } }) pkg <- function() pd()$Package deps <- function(what=c("Depends", "Imports", "Suggests", "SuggestsNote")) { deps <- unlist(pd()[what], use.names=FALSE) if (length(deps) == 0) return("") deps <- unlist(strsplit(deps, split="[,:]"), use.names=FALSE) deps <- gsub("[(].*[)]", "", deps) deps <- gsub("[ \n\t]", "", deps) deps <- setdiff(deps, c("R", "base", "datasets", "graphics", "grDevices", "methods", "parallel", "splines", "stats", "tcltk", "tools", "utils", "Recommended")) sort(deps) } cran <- local({ pkgs <- NULL function() { if (is.null(pkgs)) { repos <- "http://cran.r-project.org" data <- available.packages(contriburl=contrib.url(repos, "source")) pkgs <<- rownames(data) } pkgs } }) bioc <- local({ pkgs <- NULL function() { if (is.null(pkgs)) { repos <- "http://www.bioconductor.org/packages/devel/bioc/" data <- available.packages(contriburl=contrib.url(repos, "source")) pkgsA <- rownames(data) repos <- "http://www.bioconductor.org/packages/devel/data/annotation/" data <- available.packages(contriburl=contrib.url(repos, "source")) pkgsB <- rownames(data) repos <- "http://www.bioconductor.org/packages/devel/data/experiment/" data <- available.packages(contriburl=contrib.url(repos, "source")) pkgsC <- rownames(data) pkgs <<- c(pkgsA, pkgsB, pkgsC) } pkgs } }) deps_on_cran <- function(...) { deps <- deps(...) deps[deps %in% cran()] } deps_on_bioc <- function(...) { deps <- deps(...) deps[deps %in% bioc()] } deps_elsewhere <- function(...) { deps <- deps(...) deps[!deps %in% c(cran(), bioc())] } install_cran <- function(...) { pkgs <- deps_on_cran(...) if (length(pkgs) > 0L) { sprintf(" - travis-tool.sh install_r %s", paste(pkgs, collapse=" ")) } else "" } install_bioc <- function(...) { pkgs <- deps_on_bioc(...) if (length(pkgs) > 0L) { sprintf(" - travis-tool.sh install_bioc %s", paste(pkgs, collapse=" ")) } else "" } %> #---------------------------------------------------------------- # AppVeyor configuration for R packages # # REFERENCES: # * AppVeyor CI: https://ci.appveyor.com/ # * r-appveyor: https://github.com/krlmlr/r-appveyor # # Validate your .appveyor.yml file at # https://ci.appveyor.com/tools/validate-yaml #---------------------------------------------------------------- environment: _R_CHECK_FORCE_SUGGESTS_: false matrix: - R_VERSION: devel R_ARCH: x64 - R_VERSION: devel R_ARCH: i386 - R_VERSION: release R_ARCH: x64 # DO NOT CHANGE the "init" and "install" sections below # Download script file from GitHub init: ps: | $ErrorActionPreference = "Stop" Invoke-WebRequest http://raw.github.com/HenrikBengtsson/r-appveyor/master/scripts/appveyor-tool.ps1 -OutFile "..\appveyor-tool.ps1" Import-Module '..\appveyor-tool.ps1' install: ps: Bootstrap # Adapt as necessary starting from here build_script: - echo Current directory=%CD% <%= install_bioc(c("SuggestsNote")) %> <%= install_cran(c("SuggestsNote")) %> <%= install_bioc(c("VignetteBuilder")) %> <%= install_cran(c("VignetteBuilder")) %> <%= install_bioc(c("Depends", "Imports")) %> <%= install_cran(c("Depends", "Imports")) %> <%= install_bioc(c("Suggests")) %> <%= install_cran(c("Suggests")) %> test_script: - travis-tool.sh run_tests after_test: - 7z a all-Rout.zip *.Rcheck\**\*.Rout *.Rcheck\**\*.fail artifacts: - path: '*.Rcheck\**\*.log' name: Logs - path: '*.Rcheck\**\*.out' name: Logs - path: '*.Rcheck\**\*.fail' name: Logs - path: '\*_*.tar.gz' name: Bits - path: '\*_*.zip' name: Bits - path: all-Rout.zip name: AllRout on_failure: - 7z a failure.zip *.Rcheck\* - appveyor PushArtifact failure.zip