diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedExtractVectorNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedExtractVectorNode.java index 4ab4126616010c6acaae4d804942752ec14601e6..381690d7202e9c2238c7482b2f34194e52f1b87c 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedExtractVectorNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedExtractVectorNode.java @@ -39,6 +39,7 @@ import com.oracle.truffle.r.nodes.attributes.SpecialAttributesFunctions.GetDimNa import com.oracle.truffle.r.nodes.attributes.SpecialAttributesFunctions.GetNamesAttributeNode; import com.oracle.truffle.r.nodes.attributes.SpecialAttributesFunctions.SetDimAttributeNode; import com.oracle.truffle.r.nodes.attributes.SpecialAttributesFunctions.SetDimNamesAttributeNode; +import com.oracle.truffle.r.nodes.binary.BoxPrimitiveNode; import com.oracle.truffle.r.nodes.profile.AlwaysOnBranchProfile; import com.oracle.truffle.r.nodes.profile.VectorLengthProfile; import com.oracle.truffle.r.runtime.RRuntime; @@ -80,6 +81,8 @@ final class CachedExtractVectorNode extends CachedVectorNode { @Child private GetDimNamesAttributeNode getDimNamesNode; @Child private GetNamesAttributeNode getNamesNode; @Child private GetNamesAttributeNode getNamesFromDimNamesNode; + @Child private BoxPrimitiveNode boxOldDimNames; + @Child private BoxPrimitiveNode boxNewDimName; @Children private final CachedExtractVectorNode[] extractNames; @Children private final CachedExtractVectorNode[] extractNamesAlternative; @@ -280,7 +283,17 @@ final class CachedExtractVectorNode extends CachedVectorNode { } else if (positionsCheckNode.isEmptyPosition(i, positions[i])) { result = RNull.instance; } else { - result = extract(i, (RAbstractStringVector) RRuntime.asAbstractVector(dataAt), positions[i], positionProfile[i]); + if (boxOldDimNames == null) { + CompilerDirectives.transferToInterpreterAndInvalidate(); + boxOldDimNames = insert(BoxPrimitiveNode.create()); + } + if (boxNewDimName == null) { + CompilerDirectives.transferToInterpreterAndInvalidate(); + boxNewDimName = insert(BoxPrimitiveNode.create()); + } + RAbstractStringVector originalDimName = (RAbstractStringVector) boxOldDimNames.execute(dataAt); + RAbstractStringVector newDimName = (RAbstractStringVector) boxNewDimName.execute(extract(i, originalDimName, positions[i], positionProfile[i])); + result = newDimName.materialize(); } newDimNames[dimIndex] = result; if (newDimNamesNames != null) { diff --git a/com.oracle.truffle.r.test.packages/importantPackages b/com.oracle.truffle.r.test.packages/importantPackages index f285b70cb0ca826994786003efe45fdc6c15ba0f..84d401aceeb7cda77c0c1a3ff67012210c98303c 100644 --- a/com.oracle.truffle.r.test.packages/importantPackages +++ b/com.oracle.truffle.r.test.packages/importantPackages @@ -1,183 +1,182 @@ -abind,1.4-5,https://cloud.r-project.org/src/contrib/abind_1.4-5.tar.gz, -acepack,1.4.1,https://cloud.r-project.org/src/contrib/acepack_1.4.1.tar.gz, -afex,0.18-0,https://cloud.r-project.org/src/contrib/afex_0.18-0.tar.gz, -anomalyDetection,0.2.4,https://cloud.r-project.org/src/contrib/anomalyDetection_0.2.4.tar.gz, -assertthat,0.2.0,https://cloud.r-project.org/src/contrib/assertthat_0.2.0.tar.gz, -backports,1.1.1,https://cloud.r-project.org/src/contrib/backports_1.1.1.tar.gz, -base64enc,0.1-3,https://cloud.r-project.org/src/contrib/base64enc_0.1-3.tar.gz, -BH,1.65.0-1,https://cloud.r-project.org/src/contrib/BH_1.65.0-1.tar.gz, -bindr,0.1,https://cloud.r-project.org/src/contrib/bindr_0.1.tar.gz, -bindrcpp,0.2,https://cloud.r-project.org/src/contrib/bindrcpp_0.2.tar.gz, -bitops,1.0-6,https://cloud.r-project.org/src/contrib/bitops_1.0-6.tar.gz, -broom,0.4.3,https://cloud.r-project.org/src/contrib/broom_0.4.3.tar.gz, -car,2.1-6,https://cloud.r-project.org/src/contrib/car_2.1-6.tar.gz, -caret,6.0-78,https://cloud.r-project.org/src/contrib/caret_6.0-78.tar.gz, -caTools,1.17.1,https://cloud.r-project.org/src/contrib/caTools_1.17.1.tar.gz, -cellranger,1.1.0,https://cloud.r-project.org/src/contrib/cellranger_1.1.0.tar.gz, -checkmate,1.8.5,https://cloud.r-project.org/src/contrib/checkmate_1.8.5.tar.gz, -class,7.3-14,https://cloud.r-project.org/src/contrib/class_7.3-14.tar.gz, -cluster,2.0.6,https://cloud.r-project.org/src/contrib/cluster_2.0.6.tar.gz, -coda,0.19-1,https://cloud.r-project.org/src/contrib/coda_0.19-1.tar.gz, -codetools,0.2-15,https://cloud.r-project.org/src/contrib/codetools_0.2-15.tar.gz, -coin,1.2-2,https://cloud.r-project.org/src/contrib/coin_1.2-2.tar.gz, -colorspace,1.3-2,https://cloud.r-project.org/src/contrib/colorspace_1.3-2.tar.gz, -compare,0.2-6,https://cloud.r-project.org/src/contrib/compare_0.2-6.tar.gz, -crayon,1.3.4,https://cloud.r-project.org/src/contrib/crayon_1.3.4.tar.gz, -curl,3.0,https://cloud.r-project.org/src/contrib/curl_3.0.tar.gz, -CVST,0.2-1,https://cloud.r-project.org/src/contrib/CVST_0.2-1.tar.gz, -data.table,1.10.4-3,https://cloud.r-project.org/src/contrib/data.table_1.10.4-3.tar.gz, -DBI,0.7,https://cloud.r-project.org/src/contrib/DBI_0.7.tar.gz, -ddalpha,1.3.1,https://cloud.r-project.org/src/contrib/ddalpha_1.3.1.tar.gz, -DEoptimR,1.0-8,https://cloud.r-project.org/src/contrib/DEoptimR_1.0-8.tar.gz, -devtools,1.13.4,https://cloud.r-project.org/src/contrib/devtools_1.13.4.tar.gz, -dichromat,2.0-0,https://cloud.r-project.org/src/contrib/dichromat_2.0-0.tar.gz, -digest,0.6.12,https://cloud.r-project.org/src/contrib/digest_0.6.12.tar.gz, -dimRed,0.1.0,https://cloud.r-project.org/src/contrib/dimRed_0.1.0.tar.gz, -doSNOW,1.0.15,https://cloud.r-project.org/src/contrib/doSNOW_1.0.15.tar.gz, -dplyr,0.7.4,https://cloud.r-project.org/src/contrib/dplyr_0.7.4.tar.gz, -DRR,0.0.2,https://cloud.r-project.org/src/contrib/DRR_0.0.2.tar.gz, -DT,0.2,https://cloud.r-project.org/src/contrib/DT_0.2.tar.gz, -e1071,1.6-8,https://cloud.r-project.org/src/contrib/e1071_1.6-8.tar.gz, -estimability,1.2,https://cloud.r-project.org/src/contrib/estimability_1.2.tar.gz, -evaluate,0.10.1,https://cloud.r-project.org/src/contrib/evaluate_0.10.1.tar.gz, -foreach,1.4.3,https://cloud.r-project.org/src/contrib/foreach_1.4.3.tar.gz, -forecast,8.2,https://cloud.r-project.org/src/contrib/forecast_8.2.tar.gz, -foreign,0.8-69,https://cloud.r-project.org/src/contrib/foreign_0.8-69.tar.gz, -Formula,1.2-2,https://cloud.r-project.org/src/contrib/Formula_1.2-2.tar.gz, -gbm,2.1.3,https://cloud.r-project.org/src/contrib/gbm_2.1.3.tar.gz, -gdata,2.18.0,https://cloud.r-project.org/src/contrib/gdata_2.18.0.tar.gz, -ggnetwork,0.5.1,https://cloud.r-project.org/src/contrib/ggnetwork_0.5.1.tar.gz, -ggplot2,2.2.1,https://cloud.r-project.org/src/contrib/ggplot2_2.2.1.tar.gz, -git2r,0.19.0,https://cloud.r-project.org/src/contrib/git2r_0.19.0.tar.gz, -glmnet,2.0-13,https://cloud.r-project.org/src/contrib/glmnet_2.0-13.tar.gz, -glue,1.2.0,https://cloud.r-project.org/src/contrib/glue_1.2.0.tar.gz, -gmp,0.5-13.1,https://cloud.r-project.org/src/contrib/gmp_0.5-13.1.tar.gz, -gower,0.1.2,https://cloud.r-project.org/src/contrib/gower_0.1.2.tar.gz, -gridExtra,2.3,https://cloud.r-project.org/src/contrib/gridExtra_2.3.tar.gz, -gtable,0.2.0,https://cloud.r-project.org/src/contrib/gtable_0.2.0.tar.gz, -gtools,3.5.0,https://cloud.r-project.org/src/contrib/gtools_3.5.0.tar.gz, -highr,0.6,https://cloud.r-project.org/src/contrib/highr_0.6.tar.gz, -Hmisc,4.0-3,https://cloud.r-project.org/src/contrib/Hmisc_4.0-3.tar.gz, -hms,0.4.0,https://cloud.r-project.org/src/contrib/hms_0.4.0.tar.gz, -htmlTable,1.11.0,https://cloud.r-project.org/src/contrib/htmlTable_1.11.0.tar.gz, -htmltools,0.3.6,https://cloud.r-project.org/src/contrib/htmltools_0.3.6.tar.gz, -htmlwidgets,0.9,https://cloud.r-project.org/src/contrib/htmlwidgets_0.9.tar.gz, -httpuv,1.3.5,https://cloud.r-project.org/src/contrib/httpuv_1.3.5.tar.gz, -httr,1.3.1,https://cloud.r-project.org/src/contrib/httr_1.3.1.tar.gz, -ipred,0.9-6,https://cloud.r-project.org/src/contrib/ipred_0.9-6.tar.gz, -iterators,1.0.8,https://cloud.r-project.org/src/contrib/iterators_1.0.8.tar.gz, -jsonlite,1.5,https://cloud.r-project.org/src/contrib/jsonlite_1.5.tar.gz, -kernlab,0.9-25,https://cloud.r-project.org/src/contrib/kernlab_0.9-25.tar.gz, -KernSmooth,2.23-15,https://cloud.r-project.org/src/contrib/KernSmooth_2.23-15.tar.gz, -knitr,1.17,https://cloud.r-project.org/src/contrib/knitr_1.17.tar.gz, -labeling,0.3,https://cloud.r-project.org/src/contrib/labeling_0.3.tar.gz, -lattice,0.20-35,https://cloud.r-project.org/src/contrib/lattice_0.20-35.tar.gz, -latticeExtra,0.6-28,https://cloud.r-project.org/src/contrib/latticeExtra_0.6-28.tar.gz, -lava,1.5.1,https://cloud.r-project.org/src/contrib/lava_1.5.1.tar.gz, -lazyeval,0.2.1,https://cloud.r-project.org/src/contrib/lazyeval_0.2.1.tar.gz, -lme4,1.1-14,https://cloud.r-project.org/src/contrib/lme4_1.1-14.tar.gz, -lmerTest,2.0-36,https://cloud.r-project.org/src/contrib/lmerTest_2.0-36.tar.gz, -lmtest,0.9-35,https://cloud.r-project.org/src/contrib/lmtest_0.9-35.tar.gz, -lsmeans,2.27-61,https://cloud.r-project.org/src/contrib/lsmeans_2.27-61.tar.gz, -lubridate,1.7.1,https://cloud.r-project.org/src/contrib/lubridate_1.7.1.tar.gz, -magrittr,1.5,https://cloud.r-project.org/src/contrib/magrittr_1.5.tar.gz, -markdown,0.8,https://cloud.r-project.org/src/contrib/markdown_0.8.tar.gz, -MASS,7.3-47,https://cloud.r-project.org/src/contrib/MASS_7.3-47.tar.gz, -Matrix,1.2-12,https://cloud.r-project.org/src/contrib/Matrix_1.2-12.tar.gz, -MatrixModels,0.4-1,https://cloud.r-project.org/src/contrib/MatrixModels_0.4-1.tar.gz, -mboost,2.8-1,https://cloud.r-project.org/src/contrib/mboost_2.8-1.tar.gz, -memoise,1.1.0,https://cloud.r-project.org/src/contrib/memoise_1.1.0.tar.gz, -mgcv,1.8-22,https://cloud.r-project.org/src/contrib/mgcv_1.8-22.tar.gz, -mime,0.5,https://cloud.r-project.org/src/contrib/mime_0.5.tar.gz, -minerva,1.4.7,https://cloud.r-project.org/src/contrib/minerva_1.4.7.tar.gz, -miniUI,0.1.1,https://cloud.r-project.org/src/contrib/miniUI_0.1.1.tar.gz, -minqa,1.2.4,https://cloud.r-project.org/src/contrib/minqa_1.2.4.tar.gz, -mnormt,1.5-5,https://cloud.r-project.org/src/contrib/mnormt_1.5-5.tar.gz, -ModelMetrics,1.1.0,https://cloud.r-project.org/src/contrib/ModelMetrics_1.1.0.tar.gz, -modeltools,0.2-21,https://cloud.r-project.org/src/contrib/modeltools_0.2-21.tar.gz, -multcomp,1.4-8,https://cloud.r-project.org/src/contrib/multcomp_1.4-8.tar.gz, -munsell,0.4.3,https://cloud.r-project.org/src/contrib/munsell_0.4.3.tar.gz, -mvoutlier,2.0.8,https://cloud.r-project.org/src/contrib/mvoutlier_2.0.8.tar.gz, -mvtnorm,1.0-6,https://cloud.r-project.org/src/contrib/mvtnorm_1.0-6.tar.gz, -naivebayes,0.9.1,https://cloud.r-project.org/src/contrib/naivebayes_0.9.1.tar.gz, -nlme,3.1-131,https://cloud.r-project.org/src/contrib/nlme_3.1-131.tar.gz, -nloptr,1.0.4,https://cloud.r-project.org/src/contrib/nloptr_1.0.4.tar.gz, -nnet,7.3-12,https://cloud.r-project.org/src/contrib/nnet_7.3-12.tar.gz, -numDeriv,2016.8-1,https://cloud.r-project.org/src/contrib/numDeriv_2016.8-1.tar.gz, -openssl,0.9.9,https://cloud.r-project.org/src/contrib/openssl_0.9.9.tar.gz, -OptimalCutpoints,1.1-3,https://cloud.r-project.org/src/contrib/OptimalCutpoints_1.1-3.tar.gz, -oro.nifti,0.9.1,https://cloud.r-project.org/src/contrib/oro.nifti_0.9.1.tar.gz, -party,1.2-3,https://cloud.r-project.org/src/contrib/party_1.2-3.tar.gz, -pbkrtest,0.4-7,https://cloud.r-project.org/src/contrib/pbkrtest_0.4-7.tar.gz, -pkgconfig,2.0.1,https://cloud.r-project.org/src/contrib/pkgconfig_2.0.1.tar.gz, -plogr,0.1-1,https://cloud.r-project.org/src/contrib/plogr_0.1-1.tar.gz, -plyr,1.8.4,https://cloud.r-project.org/src/contrib/plyr_1.8.4.tar.gz, -ppcor,1.1,https://cloud.r-project.org/src/contrib/ppcor_1.1.tar.gz, -pracma,2.1.1,https://cloud.r-project.org/src/contrib/pracma_2.1.1.tar.gz, -pROC,1.10.0,https://cloud.r-project.org/src/contrib/pROC_1.10.0.tar.gz, -prodlim,1.6.1,https://cloud.r-project.org/src/contrib/prodlim_1.6.1.tar.gz, -prophet,0.2.1,https://cloud.r-project.org/src/contrib/prophet_0.2.1.tar.gz, -psych,1.7.8,https://cloud.r-project.org/src/contrib/psych_1.7.8.tar.gz, -purrr,0.2.4,https://cloud.r-project.org/src/contrib/purrr_0.2.4.tar.gz, -quantmod,0.4-12,https://cloud.r-project.org/src/contrib/quantmod_0.4-12.tar.gz, -quantreg,5.34,https://cloud.r-project.org/src/contrib/quantreg_5.34.tar.gz, -R6,2.2.2,https://cloud.r-project.org/src/contrib/R6_2.2.2.tar.gz, -randomForest,4.6-12,https://cloud.r-project.org/src/contrib/randomForest_4.6-12.tar.gz, -randomForestSRC,2.5.1,https://cloud.r-project.org/src/contrib/randomForestSRC_2.5.1.tar.gz, -RColorBrewer,1.1-2,https://cloud.r-project.org/src/contrib/RColorBrewer_1.1-2.tar.gz, -Rcpp,0.12.14,https://cloud.r-project.org/src/contrib/Rcpp_0.12.14.tar.gz, -RcppArmadillo,0.8.300.1.0,https://cloud.r-project.org/src/contrib/RcppArmadillo_0.8.300.1.0.tar.gz, -RcppEigen,0.3.3.3.1,https://cloud.r-project.org/src/contrib/RcppEigen_0.3.3.3.1.tar.gz, -RcppRoll,0.2.2,https://cloud.r-project.org/src/contrib/RcppRoll_0.2.2.tar.gz, -RCurl,1.95-4.8,https://cloud.r-project.org/src/contrib/RCurl_1.95-4.8.tar.gz, -readr,1.1.1,https://cloud.r-project.org/src/contrib/readr_1.1.1.tar.gz, -readxl,1.0.0,https://cloud.r-project.org/src/contrib/readxl_1.0.0.tar.gz, -recipes,0.1.1,https://cloud.r-project.org/src/contrib/recipes_0.1.1.tar.gz, -rematch,1.0.1,https://cloud.r-project.org/src/contrib/rematch_1.0.1.tar.gz, -reshape2,1.4.2,https://cloud.r-project.org/src/contrib/reshape2_1.4.2.tar.gz, -rJava,0.9-9,https://cloud.r-project.org/src/contrib/rJava_0.9-9.tar.gz, -RJDBC,0.2-5,https://cloud.r-project.org/src/contrib/RJDBC_0.2-5.tar.gz, -rjson,0.2.15,https://cloud.r-project.org/src/contrib/rjson_0.2.15.tar.gz, -rlang,0.1.4,https://cloud.r-project.org/src/contrib/rlang_0.1.4.tar.gz, -rmarkdown,1.8,https://cloud.r-project.org/src/contrib/rmarkdown_1.8.tar.gz, -RNifti,0.7.1,https://cloud.r-project.org/src/contrib/RNifti_0.7.1.tar.gz, -robustbase,0.92-8,https://cloud.r-project.org/src/contrib/robustbase_0.92-8.tar.gz, -ROCR,1.0-7,https://cloud.r-project.org/src/contrib/ROCR_1.0-7.tar.gz, -ROracle,1.3-1,https://cloud.r-project.org/src/contrib/ROracle_1.3-1.tar.gz, -rpart,4.1-11,https://cloud.r-project.org/src/contrib/rpart_4.1-11.tar.gz, -rprojroot,1.2,https://cloud.r-project.org/src/contrib/rprojroot_1.2.tar.gz, -RSclient,0.7-3,https://cloud.r-project.org/src/contrib/RSclient_0.7-3.tar.gz, -Rserve,1.7-3,https://cloud.r-project.org/src/contrib/Rserve_1.7-3.tar.gz, -rstudioapi,0.7,https://cloud.r-project.org/src/contrib/rstudioapi_0.7.tar.gz, -sandwich,2.4-0,https://cloud.r-project.org/src/contrib/sandwich_2.4-0.tar.gz, -scales,0.5.0,https://cloud.r-project.org/src/contrib/scales_0.5.0.tar.gz, -sfsmisc,1.1-1,https://cloud.r-project.org/src/contrib/sfsmisc_1.1-1.tar.gz, -shiny,1.0.5,https://cloud.r-project.org/src/contrib/shiny_1.0.5.tar.gz, -shinyjs,0.9.1,https://cloud.r-project.org/src/contrib/shinyjs_0.9.1.tar.gz, -shinythemes,1.1.1,https://cloud.r-project.org/src/contrib/shinythemes_1.1.1.tar.gz, -snow,0.4-2,https://cloud.r-project.org/src/contrib/snow_0.4-2.tar.gz, -sourcetools,0.1.6,https://cloud.r-project.org/src/contrib/sourcetools_0.1.6.tar.gz, -sp,1.2-5,https://cloud.r-project.org/src/contrib/sp_1.2-5.tar.gz, -SparseM,1.77,https://cloud.r-project.org/src/contrib/SparseM_1.77.tar.gz, -sqldf,0.4-11,https://cloud.r-project.org/src/contrib/sqldf_0.4-11.tar.gz, -stringi,1.1.6,https://cloud.r-project.org/src/contrib/stringi_1.1.6.tar.gz, -stringr,1.2.0,https://cloud.r-project.org/src/contrib/stringr_1.2.0.tar.gz, -survival,2.41-3,https://cloud.r-project.org/src/contrib/survival_2.41-3.tar.gz, -TH.data,1.0-8,https://cloud.r-project.org/src/contrib/TH.data_1.0-8.tar.gz, -tibble,1.3.4,https://cloud.r-project.org/src/contrib/tibble_1.3.4.tar.gz, -tidyr,0.7.2,https://cloud.r-project.org/src/contrib/tidyr_0.7.2.tar.gz, -tidyselect,0.2.3,https://cloud.r-project.org/src/contrib/tidyselect_0.2.3.tar.gz, -tidyverse,1.2.1,https://cloud.r-project.org/src/contrib/tidyverse_1.2.1.tar.gz, -timeDate,3042.101,https://cloud.r-project.org/src/contrib/timeDate_3042.101.tar.gz, -viridis,0.4.0,https://cloud.r-project.org/src/contrib/viridis_0.4.0.tar.gz, -viridisLite,0.2.0,https://cloud.r-project.org/src/contrib/viridisLite_0.2.0.tar.gz, -whisker,0.3-2,https://cloud.r-project.org/src/contrib/whisker_0.3-2.tar.gz, -withr,2.1.0,https://cloud.r-project.org/src/contrib/withr_2.1.0.tar.gz, -wordcloud,2.5,https://cloud.r-project.org/src/contrib/wordcloud_2.5.tar.gz, -xgboost,0.6-4,https://cloud.r-project.org/src/contrib/xgboost_0.6-4.tar.gz, -XML,3.98-1.9,https://cloud.r-project.org/src/contrib/XML_3.98-1.9.tar.gz, -xml2,1.1.1,https://cloud.r-project.org/src/contrib/xml2_1.1.1.tar.gz, -xtable,1.8-2,https://cloud.r-project.org/src/contrib/xtable_1.8-2.tar.gz, -yaml,2.1.15,https://cloud.r-project.org/src/contrib/yaml_2.1.15.tar.gz, -zoo,1.8-0,https://cloud.r-project.org/src/contrib/zoo_1.8-0.tar.gz, - +abind,1.4-5,https://cloud.r-project.org/src/contrib/abind_1.4-5.tar.gz,true +acepack,1.4.1,https://cloud.r-project.org/src/contrib/acepack_1.4.1.tar.gz,true +afex,0.18-0,https://cloud.r-project.org/src/contrib/afex_0.18-0.tar.gz,true +anomalyDetection,0.2.4,https://cloud.r-project.org/src/contrib/anomalyDetection_0.2.4.tar.gz,true +assertthat,0.2.0,https://cloud.r-project.org/src/contrib/assertthat_0.2.0.tar.gz,true +backports,1.1.1,https://cloud.r-project.org/src/contrib/backports_1.1.1.tar.gz,true +base64enc,0.1-3,https://cloud.r-project.org/src/contrib/base64enc_0.1-3.tar.gz,true +BH,1.65.0-1,https://cloud.r-project.org/src/contrib/BH_1.65.0-1.tar.gz,true +bindr,0.1,https://cloud.r-project.org/src/contrib/bindr_0.1.tar.gz,true +bindrcpp,0.2,https://cloud.r-project.org/src/contrib/bindrcpp_0.2.tar.gz,true +bitops,1.0-6,https://cloud.r-project.org/src/contrib/bitops_1.0-6.tar.gz,true +broom,0.4.3,https://cloud.r-project.org/src/contrib/broom_0.4.3.tar.gz,true +car,2.1-6,https://cloud.r-project.org/src/contrib/car_2.1-6.tar.gz,true +caret,6.0-78,https://cloud.r-project.org/src/contrib/caret_6.0-78.tar.gz,true +caTools,1.17.1,https://cloud.r-project.org/src/contrib/caTools_1.17.1.tar.gz,true +cellranger,1.1.0,https://cloud.r-project.org/src/contrib/cellranger_1.1.0.tar.gz,true +checkmate,1.8.5,https://cloud.r-project.org/src/contrib/checkmate_1.8.5.tar.gz,true +class,7.3-14,https://cloud.r-project.org/src/contrib/class_7.3-14.tar.gz,true +cluster,2.0.6,https://cloud.r-project.org/src/contrib/cluster_2.0.6.tar.gz,true +coda,0.19-1,https://cloud.r-project.org/src/contrib/coda_0.19-1.tar.gz,true +codetools,0.2-15,https://cloud.r-project.org/src/contrib/codetools_0.2-15.tar.gz,true +coin,1.2-2,https://cloud.r-project.org/src/contrib/coin_1.2-2.tar.gz,true +colorspace,1.3-2,https://cloud.r-project.org/src/contrib/colorspace_1.3-2.tar.gz,true +compare,0.2-6,https://cloud.r-project.org/src/contrib/compare_0.2-6.tar.gz,true +crayon,1.3.4,https://cloud.r-project.org/src/contrib/crayon_1.3.4.tar.gz,true +curl,3.0,https://cloud.r-project.org/src/contrib/curl_3.0.tar.gz,true +CVST,0.2-1,https://cloud.r-project.org/src/contrib/CVST_0.2-1.tar.gz,true +data.table,1.10.4-3,https://cloud.r-project.org/src/contrib/data.table_1.10.4-3.tar.gz,true +DBI,0.7,https://cloud.r-project.org/src/contrib/DBI_0.7.tar.gz,true +ddalpha,1.3.1,https://cloud.r-project.org/src/contrib/ddalpha_1.3.1.tar.gz,true +DEoptimR,1.0-8,https://cloud.r-project.org/src/contrib/DEoptimR_1.0-8.tar.gz,true +devtools,1.13.4,https://cloud.r-project.org/src/contrib/devtools_1.13.4.tar.gz,true +dichromat,2.0-0,https://cloud.r-project.org/src/contrib/dichromat_2.0-0.tar.gz,true +digest,0.6.12,https://cloud.r-project.org/src/contrib/digest_0.6.12.tar.gz,true +dimRed,0.1.0,https://cloud.r-project.org/src/contrib/dimRed_0.1.0.tar.gz,true +doSNOW,1.0.15,https://cloud.r-project.org/src/contrib/doSNOW_1.0.15.tar.gz,true +dplyr,0.7.4,https://cloud.r-project.org/src/contrib/dplyr_0.7.4.tar.gz,true +DRR,0.0.2,https://cloud.r-project.org/src/contrib/DRR_0.0.2.tar.gz,true +DT,0.2,https://cloud.r-project.org/src/contrib/DT_0.2.tar.gz,true +e1071,1.6-8,https://cloud.r-project.org/src/contrib/e1071_1.6-8.tar.gz,true +estimability,1.2,https://cloud.r-project.org/src/contrib/estimability_1.2.tar.gz,true +evaluate,0.10.1,https://cloud.r-project.org/src/contrib/evaluate_0.10.1.tar.gz,true +foreach,1.4.3,https://cloud.r-project.org/src/contrib/foreach_1.4.3.tar.gz,true +forecast,8.2,https://cloud.r-project.org/src/contrib/forecast_8.2.tar.gz,true +foreign,0.8-69,https://cloud.r-project.org/src/contrib/foreign_0.8-69.tar.gz,true +Formula,1.2-2,https://cloud.r-project.org/src/contrib/Formula_1.2-2.tar.gz,true +gbm,2.1.3,https://cloud.r-project.org/src/contrib/gbm_2.1.3.tar.gz,true +gdata,2.18.0,https://cloud.r-project.org/src/contrib/gdata_2.18.0.tar.gz,true +ggnetwork,0.5.1,https://cloud.r-project.org/src/contrib/ggnetwork_0.5.1.tar.gz,true +ggplot2,2.2.1,https://cloud.r-project.org/src/contrib/ggplot2_2.2.1.tar.gz,true +git2r,0.19.0,https://cloud.r-project.org/src/contrib/git2r_0.19.0.tar.gz,true +glmnet,2.0-13,https://cloud.r-project.org/src/contrib/glmnet_2.0-13.tar.gz,true +glue,1.2.0,https://cloud.r-project.org/src/contrib/glue_1.2.0.tar.gz,true +gmp,0.5-13.1,https://cloud.r-project.org/src/contrib/gmp_0.5-13.1.tar.gz,true +gower,0.1.2,https://cloud.r-project.org/src/contrib/gower_0.1.2.tar.gz,true +gridExtra,2.3,https://cloud.r-project.org/src/contrib/gridExtra_2.3.tar.gz,true +gtable,0.2.0,https://cloud.r-project.org/src/contrib/gtable_0.2.0.tar.gz,true +gtools,3.5.0,https://cloud.r-project.org/src/contrib/gtools_3.5.0.tar.gz,true +highr,0.6,https://cloud.r-project.org/src/contrib/highr_0.6.tar.gz,true +Hmisc,4.0-3,https://cloud.r-project.org/src/contrib/Hmisc_4.0-3.tar.gz,true +hms,0.4.0,https://cloud.r-project.org/src/contrib/hms_0.4.0.tar.gz,true +htmlTable,1.11.0,https://cloud.r-project.org/src/contrib/htmlTable_1.11.0.tar.gz,true +htmltools,0.3.6,https://cloud.r-project.org/src/contrib/htmltools_0.3.6.tar.gz,true +htmlwidgets,0.9,https://cloud.r-project.org/src/contrib/htmlwidgets_0.9.tar.gz,true +httpuv,1.3.5,https://cloud.r-project.org/src/contrib/httpuv_1.3.5.tar.gz,true +httr,1.3.1,https://cloud.r-project.org/src/contrib/httr_1.3.1.tar.gz,true +ipred,0.9-6,https://cloud.r-project.org/src/contrib/ipred_0.9-6.tar.gz,true +iterators,1.0.8,https://cloud.r-project.org/src/contrib/iterators_1.0.8.tar.gz,true +jsonlite,1.5,https://cloud.r-project.org/src/contrib/jsonlite_1.5.tar.gz,true +kernlab,0.9-25,https://cloud.r-project.org/src/contrib/kernlab_0.9-25.tar.gz,true +KernSmooth,2.23-15,https://cloud.r-project.org/src/contrib/KernSmooth_2.23-15.tar.gz,true +knitr,1.17,https://cloud.r-project.org/src/contrib/knitr_1.17.tar.gz,true +labeling,0.3,https://cloud.r-project.org/src/contrib/labeling_0.3.tar.gz,true +lattice,0.20-35,https://cloud.r-project.org/src/contrib/lattice_0.20-35.tar.gz,true +latticeExtra,0.6-28,https://cloud.r-project.org/src/contrib/latticeExtra_0.6-28.tar.gz,true +lava,1.5.1,https://cloud.r-project.org/src/contrib/lava_1.5.1.tar.gz,true +lazyeval,0.2.1,https://cloud.r-project.org/src/contrib/lazyeval_0.2.1.tar.gz,true +lme4,1.1-14,https://cloud.r-project.org/src/contrib/lme4_1.1-14.tar.gz,true +lmerTest,2.0-36,https://cloud.r-project.org/src/contrib/lmerTest_2.0-36.tar.gz,true +lmtest,0.9-35,https://cloud.r-project.org/src/contrib/lmtest_0.9-35.tar.gz,true +lsmeans,2.27-61,https://cloud.r-project.org/src/contrib/lsmeans_2.27-61.tar.gz,true +lubridate,1.7.1,https://cloud.r-project.org/src/contrib/lubridate_1.7.1.tar.gz,true +magrittr,1.5,https://cloud.r-project.org/src/contrib/magrittr_1.5.tar.gz,true +markdown,0.8,https://cloud.r-project.org/src/contrib/markdown_0.8.tar.gz,true +MASS,7.3-47,https://cloud.r-project.org/src/contrib/MASS_7.3-47.tar.gz,true +Matrix,1.2-12,https://cloud.r-project.org/src/contrib/Matrix_1.2-12.tar.gz,true +MatrixModels,0.4-1,https://cloud.r-project.org/src/contrib/MatrixModels_0.4-1.tar.gz,true +mboost,2.8-1,https://cloud.r-project.org/src/contrib/mboost_2.8-1.tar.gz,true +memoise,1.1.0,https://cloud.r-project.org/src/contrib/memoise_1.1.0.tar.gz,true +mgcv,1.8-22,https://cloud.r-project.org/src/contrib/mgcv_1.8-22.tar.gz,true +mime,0.5,https://cloud.r-project.org/src/contrib/mime_0.5.tar.gz,true +minerva,1.4.7,https://cloud.r-project.org/src/contrib/minerva_1.4.7.tar.gz,true +miniUI,0.1.1,https://cloud.r-project.org/src/contrib/miniUI_0.1.1.tar.gz,true +minqa,1.2.4,https://cloud.r-project.org/src/contrib/minqa_1.2.4.tar.gz,true +mnormt,1.5-5,https://cloud.r-project.org/src/contrib/mnormt_1.5-5.tar.gz,true +ModelMetrics,1.1.0,https://cloud.r-project.org/src/contrib/ModelMetrics_1.1.0.tar.gz,true +modeltools,0.2-21,https://cloud.r-project.org/src/contrib/modeltools_0.2-21.tar.gz,true +multcomp,1.4-8,https://cloud.r-project.org/src/contrib/multcomp_1.4-8.tar.gz,true +munsell,0.4.3,https://cloud.r-project.org/src/contrib/munsell_0.4.3.tar.gz,true +mvoutlier,2.0.8,https://cloud.r-project.org/src/contrib/mvoutlier_2.0.8.tar.gz,true +mvtnorm,1.0-6,https://cloud.r-project.org/src/contrib/mvtnorm_1.0-6.tar.gz,true +naivebayes,0.9.1,https://cloud.r-project.org/src/contrib/naivebayes_0.9.1.tar.gz,true +nlme,3.1-131,https://cloud.r-project.org/src/contrib/nlme_3.1-131.tar.gz,true +nloptr,1.0.4,https://cloud.r-project.org/src/contrib/nloptr_1.0.4.tar.gz,true +nnet,7.3-12,https://cloud.r-project.org/src/contrib/nnet_7.3-12.tar.gz,true +numDeriv,2016.8-1,https://cloud.r-project.org/src/contrib/numDeriv_2016.8-1.tar.gz,true +openssl,0.9.9,https://cloud.r-project.org/src/contrib/openssl_0.9.9.tar.gz,true +OptimalCutpoints,1.1-3,https://cloud.r-project.org/src/contrib/OptimalCutpoints_1.1-3.tar.gz,true +oro.nifti,0.9.1,https://cloud.r-project.org/src/contrib/oro.nifti_0.9.1.tar.gz,true +party,1.2-3,https://cloud.r-project.org/src/contrib/party_1.2-3.tar.gz,true +pbkrtest,0.4-7,https://cloud.r-project.org/src/contrib/pbkrtest_0.4-7.tar.gz,true +pkgconfig,2.0.1,https://cloud.r-project.org/src/contrib/pkgconfig_2.0.1.tar.gz,true +plogr,0.1-1,https://cloud.r-project.org/src/contrib/plogr_0.1-1.tar.gz,true +plyr,1.8.4,https://cloud.r-project.org/src/contrib/plyr_1.8.4.tar.gz,true +ppcor,1.1,https://cloud.r-project.org/src/contrib/ppcor_1.1.tar.gz,true +pracma,2.1.1,https://cloud.r-project.org/src/contrib/pracma_2.1.1.tar.gz,true +pROC,1.10.0,https://cloud.r-project.org/src/contrib/pROC_1.10.0.tar.gz,true +prodlim,1.6.1,https://cloud.r-project.org/src/contrib/prodlim_1.6.1.tar.gz,true +prophet,0.2.1,https://cloud.r-project.org/src/contrib/prophet_0.2.1.tar.gz,true +psych,1.7.8,https://cloud.r-project.org/src/contrib/psych_1.7.8.tar.gz,true +purrr,0.2.4,https://cloud.r-project.org/src/contrib/purrr_0.2.4.tar.gz,true +quantmod,0.4-12,https://cloud.r-project.org/src/contrib/quantmod_0.4-12.tar.gz,true +quantreg,5.34,https://cloud.r-project.org/src/contrib/quantreg_5.34.tar.gz,true +R6,2.2.2,https://cloud.r-project.org/src/contrib/R6_2.2.2.tar.gz,true +randomForest,4.6-12,https://cloud.r-project.org/src/contrib/randomForest_4.6-12.tar.gz,true +randomForestSRC,2.5.1,https://cloud.r-project.org/src/contrib/randomForestSRC_2.5.1.tar.gz,true +RColorBrewer,1.1-2,https://cloud.r-project.org/src/contrib/RColorBrewer_1.1-2.tar.gz,true +Rcpp,0.12.14,https://cloud.r-project.org/src/contrib/Rcpp_0.12.14.tar.gz,true +RcppArmadillo,0.8.300.1.0,https://cloud.r-project.org/src/contrib/RcppArmadillo_0.8.300.1.0.tar.gz,true +RcppEigen,0.3.3.3.1,https://cloud.r-project.org/src/contrib/RcppEigen_0.3.3.3.1.tar.gz,true +RcppRoll,0.2.2,https://cloud.r-project.org/src/contrib/RcppRoll_0.2.2.tar.gz,true +RCurl,1.95-4.8,https://cloud.r-project.org/src/contrib/RCurl_1.95-4.8.tar.gz,true +readr,1.1.1,https://cloud.r-project.org/src/contrib/readr_1.1.1.tar.gz,true +readxl,1.0.0,https://cloud.r-project.org/src/contrib/readxl_1.0.0.tar.gz,true +recipes,0.1.1,https://cloud.r-project.org/src/contrib/recipes_0.1.1.tar.gz,true +rematch,1.0.1,https://cloud.r-project.org/src/contrib/rematch_1.0.1.tar.gz,true +reshape2,1.4.2,https://cloud.r-project.org/src/contrib/reshape2_1.4.2.tar.gz,true +rJava,0.9-9,https://cloud.r-project.org/src/contrib/rJava_0.9-9.tar.gz,true +RJDBC,0.2-5,https://cloud.r-project.org/src/contrib/RJDBC_0.2-5.tar.gz,true +rjson,0.2.15,https://cloud.r-project.org/src/contrib/rjson_0.2.15.tar.gz,true +rlang,0.1.4,https://cloud.r-project.org/src/contrib/rlang_0.1.4.tar.gz,true +rmarkdown,1.8,https://cloud.r-project.org/src/contrib/rmarkdown_1.8.tar.gz,true +RNifti,0.7.1,https://cloud.r-project.org/src/contrib/RNifti_0.7.1.tar.gz,true +robustbase,0.92-8,https://cloud.r-project.org/src/contrib/robustbase_0.92-8.tar.gz,true +ROCR,1.0-7,https://cloud.r-project.org/src/contrib/ROCR_1.0-7.tar.gz,true +ROracle,1.3-1,https://cloud.r-project.org/src/contrib/ROracle_1.3-1.tar.gz,true +rpart,4.1-11,https://cloud.r-project.org/src/contrib/rpart_4.1-11.tar.gz,true +rprojroot,1.2,https://cloud.r-project.org/src/contrib/rprojroot_1.2.tar.gz,true +RSclient,0.7-3,https://cloud.r-project.org/src/contrib/RSclient_0.7-3.tar.gz,true +Rserve,1.7-3,https://cloud.r-project.org/src/contrib/Rserve_1.7-3.tar.gz,true +rstudioapi,0.7,https://cloud.r-project.org/src/contrib/rstudioapi_0.7.tar.gz,true +sandwich,2.4-0,https://cloud.r-project.org/src/contrib/sandwich_2.4-0.tar.gz,true +scales,0.5.0,https://cloud.r-project.org/src/contrib/scales_0.5.0.tar.gz,true +sfsmisc,1.1-1,https://cloud.r-project.org/src/contrib/sfsmisc_1.1-1.tar.gz,true +shiny,1.0.5,https://cloud.r-project.org/src/contrib/shiny_1.0.5.tar.gz,true +shinyjs,0.9.1,https://cloud.r-project.org/src/contrib/shinyjs_0.9.1.tar.gz,true +shinythemes,1.1.1,https://cloud.r-project.org/src/contrib/shinythemes_1.1.1.tar.gz,true +snow,0.4-2,https://cloud.r-project.org/src/contrib/snow_0.4-2.tar.gz,true +sourcetools,0.1.6,https://cloud.r-project.org/src/contrib/sourcetools_0.1.6.tar.gz,true +sp,1.2-5,https://cloud.r-project.org/src/contrib/sp_1.2-5.tar.gz,true +SparseM,1.77,https://cloud.r-project.org/src/contrib/SparseM_1.77.tar.gz,true +sqldf,0.4-11,https://cloud.r-project.org/src/contrib/sqldf_0.4-11.tar.gz,true +stringi,1.1.6,https://cloud.r-project.org/src/contrib/stringi_1.1.6.tar.gz,true +stringr,1.2.0,https://cloud.r-project.org/src/contrib/stringr_1.2.0.tar.gz,true +survival,2.41-3,https://cloud.r-project.org/src/contrib/survival_2.41-3.tar.gz,true +TH.data,1.0-8,https://cloud.r-project.org/src/contrib/TH.data_1.0-8.tar.gz,true +tibble,1.3.4,https://cloud.r-project.org/src/contrib/tibble_1.3.4.tar.gz,true +tidyr,0.7.2,https://cloud.r-project.org/src/contrib/tidyr_0.7.2.tar.gz,true +tidyselect,0.2.3,https://cloud.r-project.org/src/contrib/tidyselect_0.2.3.tar.gz,true +tidyverse,1.2.1,https://cloud.r-project.org/src/contrib/tidyverse_1.2.1.tar.gz,true +timeDate,3042.101,https://cloud.r-project.org/src/contrib/timeDate_3042.101.tar.gz,true +viridis,0.4.0,https://cloud.r-project.org/src/contrib/viridis_0.4.0.tar.gz,true +viridisLite,0.2.0,https://cloud.r-project.org/src/contrib/viridisLite_0.2.0.tar.gz,true +whisker,0.3-2,https://cloud.r-project.org/src/contrib/whisker_0.3-2.tar.gz,true +withr,2.1.0,https://cloud.r-project.org/src/contrib/withr_2.1.0.tar.gz,true +wordcloud,2.5,https://cloud.r-project.org/src/contrib/wordcloud_2.5.tar.gz,true +xgboost,0.6-4,https://cloud.r-project.org/src/contrib/xgboost_0.6-4.tar.gz,true +XML,3.98-1.9,https://cloud.r-project.org/src/contrib/XML_3.98-1.9.tar.gz,true +xml2,1.1.1,https://cloud.r-project.org/src/contrib/xml2_1.1.1.tar.gz,true +xtable,1.8-2,https://cloud.r-project.org/src/contrib/xtable_1.8-2.tar.gz,true +yaml,2.1.15,https://cloud.r-project.org/src/contrib/yaml_2.1.15.tar.gz,true +zoo,1.8-0,https://cloud.r-project.org/src/contrib/zoo_1.8-0.tar.gz,true diff --git a/com.oracle.truffle.r.test.packages/r/install.cache.R b/com.oracle.truffle.r.test.packages/r/install.cache.R index d74eb390f13e15fe0f38b5848afc6b89ced2bff5..44acb6c78892cef96158f0699daf6323e3a9c19d 100644 --- a/com.oracle.truffle.r.test.packages/r/install.cache.R +++ b/com.oracle.truffle.r.test.packages/r/install.cache.R @@ -21,7 +21,7 @@ # questions. # -# A simple log function; to be replaced by a used of this file. +# A simple log function; to be replaced by a user of this file. log.message <- function(..., level=0) { cat(..., "\n") } diff --git a/com.oracle.truffle.r.test.packages/r/install.packages.R b/com.oracle.truffle.r.test.packages/r/install.packages.R index ab3f80286a0fc97eaa427729e43f9c35dbf6c8ab..ac41213d2f09d6117231ac521570215793b038e9 100644 --- a/com.oracle.truffle.r.test.packages/r/install.packages.R +++ b/com.oracle.truffle.r.test.packages/r/install.packages.R @@ -126,6 +126,7 @@ usage <- function() { "[--alpha-daily]", "[--count-daily count]", "[--ok-only]", + "[--important-pkgs file]", "[--pkg-pattern package-pattern] \n")) quit(status=100) } @@ -631,6 +632,17 @@ get.blacklist <- function() { blacklist } +is.important.package <- function(pkg.name, pkg.version) { + # lazy-load the important packages table + if (is.null(important.pkg.table) && !is.na(important.pkg.table.file)) { + important.pkg.table <<- read.csv(important.pkg.table.file, header = FALSE, sep = ",", quote = "\"", dec = ".", fill = TRUE, comment.char = "", col.names=c("name","version","url","important")) + } + if (!is.null(important.pkg.table)) { + return (any(important.pkg.table[important.pkg.table$name == pkg.name & important.pkg.table$version == pkg.version, "important"])) + } + return (FALSE) +} + show.install.status <- function(test.pkgnames) { if (print.install.status) { cat("BEGIN install status\n") @@ -650,7 +662,10 @@ do.it <- function() { pkg <- toinstall.pkgs[pkgname, ] # pretend we are accessing CRAN if list.canonical list.contriburl = ifelse(list.canonical, "https://cran.r-project.org/src/contrib", pkg["Repository"]) - cat(pkg["Package"], pkg["Version"], paste0(list.contriburl, "/", pkgname, "_", pkg["Version"], ".tar.gz"), "\n", sep=",") + pkg.repo.name <- pkg["Package"] + pkg.version <- pkg["Version"] + important <- tolower(as.character(is.important.package(pkg.repo.name, pkg.version))) + cat(paste(pkg.repo.name, pkg.version, paste0(list.contriburl, "/", pkgname, "_", pkg["Version"], ".tar.gz"), important, sep=","), "\n") } } @@ -943,6 +958,11 @@ parse.args <- function() { invert.pkgset <<- TRUE } else if (a == "--find-top100") { find.top100 <<- TRUE + } else if (a == "--important-pkgs") { + important.pkg.table.file <<- get.argvalue() + if (is.na(important.pkg.table.file)) { + usage() + } } else { if (grepl("^-.*", a)) { usage() @@ -1126,6 +1146,8 @@ list.versions <- FALSE list.canonical <- FALSE invert.pkgset <- F find.top100 <- F +important.pkg.table.file <- NA +important.pkg.table <- NULL if (!interactive()) { run()