rstudio / rsconnect

Publish Shiny Applications, RMarkdown Documents, Jupyter Notebooks, Plumber APIs, and more
http://rstudio.github.io/rsconnect/
133 stars 81 forks source link

Bug: writeManifest incorrectly handles GitHub packages in some cases #372

Closed colearendt closed 4 years ago

colearendt commented 5 years ago

I believe this is a bug in the dev version of the rsconnect package and the way it builds manifests. Specifically, in some cases a GitHub package can be misrepresented and Connect (1.7.6-6) will try to install it from CRAN / RSPM.

To reproduce:

You should see something like:

2019/08/03 03:04:42.423379038 Installing rlang (0.4.0.9000) ... 
2019/08/03 03:04:53.415136297 curl: (22) The requested URL returned error: 404 
2019/08/03 03:04:54.464481437 curl: (22) The requested URL returned error: 404 
2019/08/03 03:04:55.513731653 curl: (22) The requested URL returned error: 404 
2019/08/03 03:04:56.566934119 curl: (22) The requested URL returned error: 404 
2019/08/03 03:04:57.620219826 curl: (22) The requested URL returned error: 404 
2019/08/03 03:04:58.664928460 curl: (22) The requested URL returned error: 404 
2019/08/03 03:04:59.713855739 curl: (22) The requested URL returned error: 404 
2019/08/03 03:05:00.761860061 curl: (22) The requested URL returned error: 404 
2019/08/03 03:05:01.808068317 curl: (22) The requested URL returned error: 404 
2019/08/03 03:05:02.855367157 curl: (22) The requested URL returned error: 404 
2019/08/03 03:05:03.860685131 Error in getSourceForPkgRecord(pkgRecord, srcDir(project), availablePackagesSource(repos = repos), : Failed to retrieve package sources for rlang 0.4.0.9000 from CRAN (internet connectivity issue?) [0.4.0 is current]
2019/08/03 03:05:03.858203587 FAILED
2019/08/03 03:05:03.860717801 
2019/08/03 03:05:03.860745212 Unable to fully restore the R packages associated with this deployment.
2019/08/03 03:05:03.860751798 Please review the preceding messages to determine which package
2019/08/03 03:05:03.860763941 encountered installation difficulty and the cause of the failure.
2019/08/03 03:05:03.860764878 
2019/08/03 03:05:03.860772437 Some typical reasons for package installation failures:
2019/08/03 03:05:03.860773505   * A system library needed by the R package is not installed.
2019/08/03 03:05:03.860781253     Some of the most common package dependencies are cataloged at:
2019/08/03 03:05:03.860782241     https://github.com/rstudio/shinyapps-package-dependencies
2019/08/03 03:05:03.860840463 
2019/08/03 03:05:03.860845767   * The R package requires a newer version of R.
2019/08/03 03:05:03.860871790 
2019/08/03 03:05:03.860872971   * The C/C++ compiler is outdated. This is often true for packages
2019/08/03 03:05:03.860880980     needing C++11 features.
2019/08/03 03:05:03.860882284 
2019/08/03 03:05:03.860890131   * The R package is Windows-only or otherwise unavailable for this
2019/08/03 03:05:03.860890864     operating system.
2019/08/03 03:05:03.860898558 
2019/08/03 03:05:03.860899908   * The package is housed in a private repository that requires
2019/08/03 03:05:03.860914128     authentication to access. For more details on this, see:
2019/08/03 03:05:03.860915096     https://docs.rstudio.com/connect/admin/package-management.html#private-repositories
2019/08/03 03:05:03.860923618 
2019/08/03 03:05:03.860924501 The package description and documentation will list system requirements
2019/08/03 03:05:03.860932269 and restrictions.
2019/08/03 03:05:03.860933222 
2019/08/03 03:05:03.860940365 Please contact your RStudio Connect administrator for further help
2019/08/03 03:05:03.860941709 resolving this issue.
2019/08/03 03:05:03.869655614 Warning message:
2019/08/03 03:05:03.869787073 In getSourceForPkgRecord(pkgRecord, srcDir(project), availablePackagesSource(repos = repos),  :
2019/08/03 03:05:03.869807052   Package version '0.4.0.9000' is newer than the latest version reported by CRAN ('0.4.0') -- packrat may be unable to retrieve package sources.
Build error: exit status 1

It only breaks programmatic deployment, as far as I am aware, because IDE deployment does not use this part of the manifest.json. Not sure what, if any, effect would be had on shinyapps.io.

A hacky fix on the bad-manifest.json using jq:

cat bad-manifest.json | jq '.packages |= map_values(. | (if .GithubRepo != null then .Source |= "github" | .Repository |= null else . end))' > manifest.json

This is a minimal copy of the manifest.json that was created from my environment, just in case it helps diagnose:

manifest.json ``` { "version": 1, "locale": "C", "platform": "3.6.0", "metadata": { "appmode": "rmd-static", "primary_rmd": "file.Rmd", "primary_html": null, "content_category": null, "has_parameters": false }, "packages": { "Rcpp": { "Source": "RSPM", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "Rcpp", "Title": "Seamless R and C++ Integration", "Version": "1.0.1", "Date": "2019-03-16", "Author": "Dirk Eddelbuettel, Romain Francois, JJ Allaire, Kevin Ushey, Qiang Kou,\n Nathan Russell, Douglas Bates and John Chambers", "Maintainer": "Dirk Eddelbuettel ", "Description": "The 'Rcpp' package provides R functions as well as C++ classes which\n offer a seamless integration of R and C++. Many R data types and objects can be\n mapped back and forth to C++ equivalents which facilitates both writing of new\n code as well as easier integration of third-party libraries. Documentation\n about 'Rcpp' is provided by several vignettes included in this package, via the\n 'Rcpp Gallery' site at , the paper by Eddelbuettel and\n Francois (2011, ), the book by Eddelbuettel (2013,\n ) and the paper by Eddelbuettel and Balamuta (2018,\n ); see 'citation(\"Rcpp\")' for details.", "Depends": "R (>= 3.0.0)", "Imports": "methods, utils", "Suggests": "RUnit, inline, rbenchmark, knitr, rmarkdown, pinp, pkgKitten\n(>= 0.1.2)", "VignetteBuilder": "knitr", "URL": "http://www.rcpp.org, http://dirk.eddelbuettel.com/code/rcpp.html,\nhttps://github.com/RcppCore/Rcpp", "License": "GPL (>= 2)", "BugReports": "https://github.com/RcppCore/Rcpp/issues", "MailingList": "Please send questions and comments regarding Rcpp to\nrcpp-devel@lists.r-forge.r-project.org", "RoxygenNote": "6.0.1", "NeedsCompilation": "yes", "Packaged": "2019-03-16 15:29:08.470813 UTC; edd", "Repository": "RSPM", "Date/Publication": "2019-03-17 07:15:10 UTC", "Encoding": "UTF-8", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-07-17 17:57:02 UTC; unix" } }, "base64enc": { "Source": "CRAN", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "base64enc", "Version": "0.1-3", "Title": "Tools for base64 encoding", "Author": "Simon Urbanek ", "Maintainer": "Simon Urbanek ", "Depends": "R (>= 2.9.0)", "Enhances": "png", "Description": "This package provides tools for handling base64 encoding. It is more flexible than the orphaned base64 package.", "License": "GPL-2 | GPL-3", "URL": "http://www.rforge.net/base64enc", "NeedsCompilation": "yes", "Packaged": "2015-02-04 20:31:00 UTC; svnuser", "Repository": "RSPM", "Date/Publication": "2015-07-28 08:03:37", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-07-17 18:25:07 UTC; unix" } }, "digest": { "Source": "RSPM", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "digest", "Author": "Dirk Eddelbuettel with contributions \n by Antoine Lucas, Jarek Tuszynski, Henrik Bengtsson, Simon Urbanek,\n Mario Frasca, Bryan Lewis, Murray Stokely, Hannes Muehleisen,\n Duncan Murdoch, Jim Hester, Wush Wu, Qiang Kou, Thierry Onkelinx, \n Michel Lang, Viliam Simko, Kurt Hornik, Radford Neal, and Kendon Bell.", "Version": "0.6.20", "Date": "2019-07-04", "Maintainer": "Dirk Eddelbuettel ", "Title": "Create Compact Hash Digests of R Objects", "Description": "Implementation of a function 'digest()' for the creation \n of hash digests of arbitrary R objects (using the 'md5', 'sha-1', 'sha-256', \n 'crc32', 'xxhash', 'murmurhash' and 'spookyhash' algorithms) permitting easy\n comparison of R language objects, as well as functions such as'hmac()' to\n create hash-based message authentication code. Please note that this package\n is not meant to be deployed for cryptographic purposes for which more\n comprehensive (and widely tested) libraries such as 'OpenSSL' should be\n used.", "URL": "http://dirk.eddelbuettel.com/code/digest.html", "BugReports": "https://github.com/eddelbuettel/digest/issues", "Depends": "R (>= 3.1.0)", "License": "GPL (>= 2)", "Suggests": "tinytest, knitr, rmarkdown", "VignetteBuilder": "knitr", "NeedsCompilation": "yes", "Packaged": "2019-07-04 13:26:33.39935 UTC; edd", "Repository": "RSPM", "Date/Publication": "2019-07-04 14:40:03 UTC", "Encoding": "UTF-8", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-07-17 19:42:59 UTC; unix" } }, "evaluate": { "Source": "CRAN", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "evaluate", "Type": "Package", "Title": "Parsing and Evaluation Tools that Provide More Details than the\nDefault", "Version": "0.14", "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", role = \"aut\"),\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Michael\", \"Lawrence\", role = \"ctb\"),\n person(\"Thomas\", \"Kluyver\", role = \"ctb\"),\n person(\"Jeroen\", \"Ooms\", role = \"ctb\"),\n person(\"Barret\", \"Schloerke\", role = \"ctb\"),\n person(\"Adam\", \"Ryczkowski\", role = \"ctb\"),\n person(\"Hiroaki\", \"Yutani\", role = \"ctb\"),\n person(\"Michel\", \"Lang\", role = \"ctb\"),\n person(\"Karolis\", \"Koncevičius\", role = \"ctb\")\n )", "Description": "Parsing and evaluation tools that make it easy to recreate the\n command line behaviour of R.", "License": "MIT + file LICENSE", "URL": "https://github.com/r-lib/evaluate", "BugReports": "https://github.com/r-lib/evaluate/issues", "Depends": "R (>= 3.0.2)", "Imports": "methods", "Suggests": "testthat, lattice, ggplot2", "RoxygenNote": "6.1.1", "Encoding": "UTF-8", "NeedsCompilation": "no", "Packaged": "2019-05-28 15:30:02 UTC; yihui", "Author": "Hadley Wickham [aut],\n Yihui Xie [aut, cre] (),\n Michael Lawrence [ctb],\n Thomas Kluyver [ctb],\n Jeroen Ooms [ctb],\n Barret Schloerke [ctb],\n Adam Ryczkowski [ctb],\n Hiroaki Yutani [ctb],\n Michel Lang [ctb],\n Karolis Koncevičius [ctb]", "Maintainer": "Yihui Xie ", "Repository": "RSPM", "Date/Publication": "2019-05-28 15:50:02 UTC", "Built": "R 3.6.0; ; 2019-07-17 19:57:20 UTC; unix" } }, "glue": { "Source": "RSPM", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "glue", "Title": "Interpreted String Literals", "Version": "1.3.1", "Authors@R": "person(\"Jim\", \"Hester\", email = \"james.f.hester@gmail.com\", role = c(\"aut\", \"cre\"))", "Description": "An implementation of interpreted string literals, inspired by\n Python's Literal String Interpolation and Docstrings\n and Julia's Triple-Quoted String Literals\n .", "Depends": "R (>= 3.1)", "Imports": "methods", "Suggests": "testthat, covr, magrittr, crayon, knitr, rmarkdown, DBI,\nRSQLite, R.utils, forcats, microbenchmark, rprintf, stringr,\nggplot2, dplyr, withr", "License": "MIT + file LICENSE", "Encoding": "UTF-8", "LazyData": "true", "RoxygenNote": "6.1.1", "URL": "https://github.com/tidyverse/glue", "BugReports": "https://github.com/tidyverse/glue/issues", "VignetteBuilder": "knitr", "ByteCompile": "true", "NeedsCompilation": "yes", "Packaged": "2019-03-11 21:03:11 UTC; jhester", "Author": "Jim Hester [aut, cre]", "Maintainer": "Jim Hester ", "Repository": "RSPM", "Date/Publication": "2019-03-12 22:30:02 UTC", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-07-17 20:29:19 UTC; unix" } }, "highr": { "Source": "CRAN", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "highr", "Type": "Package", "Title": "Syntax Highlighting for R Source Code", "Version": "0.8", "Authors@R": "c(person(\"Christopher\", \"Gandrud\", role = \"ctb\"),\n person(\"Qiang\", \"Li\", role = \"ctb\"),\n person(\"Yixuan\", \"Qiu\", role = \"aut\"),\n person(\"Yihui\", \"Xie\", email = \"xie@yihui.name\", role = c(\"aut\", \"cre\")))", "Maintainer": "Yihui Xie ", "Description": "Provides syntax highlighting for R source code. Currently it\n supports LaTeX and HTML output. Source code of other languages is supported\n via Andre Simon's highlight package ().", "Depends": "R (>= 3.2.3)", "Suggests": "knitr, testit", "License": "GPL", "URL": "https://github.com/yihui/highr", "BugReports": "https://github.com/yihui/highr/issues", "VignetteBuilder": "knitr", "RoxygenNote": "6.0.1", "NeedsCompilation": "no", "Packaged": "2019-03-20 18:58:08 UTC; yihui", "Author": "Christopher Gandrud [ctb],\n Qiang Li [ctb],\n Yixuan Qiu [aut],\n Yihui Xie [aut, cre]", "Repository": "RSPM", "Date/Publication": "2019-03-20 21:10:33 UTC", "Encoding": "UTF-8", "Built": "R 3.6.0; ; 2019-07-17 20:40:20 UTC; unix" } }, "htmltools": { "Source": "RSPM", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "htmltools", "Type": "Package", "Title": "Tools for HTML", "Version": "0.3.6", "Date": "2017-04-26", "Author": "RStudio, Inc.", "Maintainer": "Joe Cheng ", "Description": "Tools for HTML generation and output.", "Depends": "R (>= 2.14.1)", "Imports": "utils, digest, Rcpp", "Suggests": "markdown, testthat", "Enhances": "knitr", "License": "GPL (>= 2)", "URL": "https://github.com/rstudio/htmltools", "BugReports": "https://github.com/rstudio/htmltools/issues", "RoxygenNote": "6.0.1", "LinkingTo": "Rcpp", "NeedsCompilation": "yes", "Packaged": "2017-04-27 00:04:32 UTC; jcheng", "Repository": "RSPM", "Date/Publication": "2017-04-28 07:41:46 UTC", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-07-17 20:43:18 UTC; unix" } }, "jsonlite": { "Source": "CRAN", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "jsonlite", "Version": "1.6", "Title": "A Robust, High Performance JSON Parser and Generator for R", "License": "MIT + file LICENSE", "NeedsCompilation": "yes", "Depends": "methods", "Author": "Jeroen Ooms, Duncan Temple Lang, Lloyd Hilaiel", "URL": "https://arxiv.org/abs/1403.2805,\nhttps://www.opencpu.org/posts/jsonlite-a-smarter-json-encoder", "BugReports": "http://github.com/jeroen/jsonlite/issues", "Maintainer": "Jeroen Ooms ", "VignetteBuilder": "knitr, R.rsp", "Description": "A fast JSON parser and generator optimized for statistical data\n and the web. Started out as a fork of 'RJSONIO', but has been completely\n rewritten in recent versions. The package offers flexible, robust, high\n performance tools for working with JSON in R and is particularly powerful\n for building pipelines and interacting with a web API. The implementation is\n based on the mapping described in the vignette (Ooms, 2014). In addition to\n converting JSON data from/to R objects, 'jsonlite' contains functions to\n stream, validate, and prettify JSON data. The unit tests included with the\n package verify that all edge cases are encoded and decoded consistently for\n use with dynamic data in systems and applications.", "Suggests": "httr, curl, plyr, testthat, knitr, rmarkdown, R.rsp, sp", "RoxygenNote": "6.1.1", "Packaged": "2018-12-07 11:22:02 UTC; jeroen", "Repository": "RSPM", "Date/Publication": "2018-12-07 12:50:02 UTC", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-07-17 20:56:42 UTC; unix" } }, "knitr": { "Source": "RSPM", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "knitr", "Type": "Package", "Title": "A General-Purpose Package for Dynamic Report Generation in R", "Version": "1.23", "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Adam\", \"Vogt\", role = \"ctb\"),\n person(\"Alastair\", \"Andrew\", role = \"ctb\"),\n person(\"Alex\", \"Zvoleff\", role = \"ctb\"),\n person(\"Andre\", \"Simon\", role = \"ctb\", comment = \"the CSS files under inst/themes/ were derived from the Highlight package http://www.andre-simon.de\"),\n person(\"Aron\", \"Atkins\", role = \"ctb\"),\n person(\"Aaron\", \"Wolen\", role = \"ctb\"),\n person(\"Ashley\", \"Manton\", role = \"ctb\"),\n person(\"Atsushi\", \"Yasumoto\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8335-495X\")),\n person(\"Ben\", \"Baumer\", role = \"ctb\"),\n person(\"Brian\", \"Diggs\", role = \"ctb\"),\n person(\"Brian\", \"Zhang\", role = \"ctb\"),\n person(\"Cassio\", \"Pereira\", role = \"ctb\"),\n person(\"Christophe\", \"Dervieux\", role = \"ctb\"),\n person(\"David\", \"Hugh-Jones\", role = \"ctb\"),\n person(\"David\", \"Robinson\", role = \"ctb\"),\n person(\"Doug\", \"Hemken\", role = \"ctb\"),\n person(\"Duncan\", \"Murdoch\", role = \"ctb\"),\n person(\"Elio\", \"Campitelli\", role = \"ctb\"),\n person(\"Emily\", \"Riederer\", role = \"ctb\"),\n person(\"Fabian\", \"Hirschmann\", role = \"ctb\"),\n person(\"Fitch\", \"Simeon\", role = \"ctb\"),\n person(\"Forest\", \"Fang\", role = \"ctb\"),\n person(c(\"Frank\", \"E\", \"Harrell\", \"Jr\"), role = \"ctb\", comment = \"the Sweavel package at inst/misc/Sweavel.sty\"),\n person(\"Garrick\", \"Aden-Buie\", role = \"ctb\"),\n person(\"Gregoire\", \"Detrez\", role = \"ctb\"),\n person(\"Hadley\", \"Wickham\", role = \"ctb\"),\n person(\"Hao\", \"Zhu\", role = \"ctb\"),\n person(\"Heewon\", \"Jeon\", role = \"ctb\"),\n person(\"Henrik\", \"Bengtsson\", role = \"ctb\"),\n person(\"Hiroaki\", \"Yutani\", role = \"ctb\"),\n person(\"Ian\", \"Lyttle\", role = \"ctb\"),\n person(\"Hodges\", \"Daniel\", role = \"ctb\"),\n person(\"Jake\", \"Burkhead\", role = \"ctb\"),\n person(\"James\", \"Manton\", role = \"ctb\"),\n person(\"Jared\", \"Lander\", role = \"ctb\"),\n person(\"Jason\", \"Punyon\", role = \"ctb\"),\n person(\"Javier\", \"Luraschi\", role = \"ctb\"),\n person(\"Jeff\", \"Arnold\", role = \"ctb\"),\n person(\"Jenny\", \"Bryan\", role = \"ctb\"),\n person(\"Jeremy\", \"Ashkenas\", role = c(\"ctb\", \"cph\"), comment = \"the CSS file at inst/misc/docco-classic.css\"),\n person(\"Jeremy\", \"Stephens\", role = \"ctb\"),\n person(\"Jim\", \"Hester\", role = \"ctb\"),\n person(\"Joe\", \"Cheng\", role = \"ctb\"),\n person(\"Johannes\", \"Ranke\", role = \"ctb\"),\n person(\"John\", \"Honaker\", role = \"ctb\"),\n person(\"John\", \"Muschelli\", role = \"ctb\"),\n person(\"Jonathan\", \"Keane\", role = \"ctb\"),\n person(\"JJ\", \"Allaire\", role = \"ctb\"),\n person(\"Johan\", \"Toloe\", role = \"ctb\"),\n person(\"Jonathan\", \"Sidi\", role = \"ctb\"),\n person(\"Joseph\", \"Larmarange\", role = \"ctb\"),\n person(\"Julien\", \"Barnier\", role = \"ctb\"),\n person(\"Kaiyin\", \"Zhong\", role = \"ctb\"),\n person(\"Kamil\", \"Slowikowski\", role = \"ctb\"),\n person(\"Karl\", \"Forner\", role = \"ctb\"),\n person(c(\"Kevin\", \"K.\"), \"Smith\", role = \"ctb\"),\n person(\"Kirill\", \"Mueller\", role = \"ctb\"),\n person(\"Kohske\", \"Takahashi\", role = \"ctb\"),\n person(\"Lorenz\", \"Walthert\", role = \"ctb\"),\n person(\"Lucas\", \"Gallindo\", role = \"ctb\"),\n person(\"Marius\", \"Hofert\", role = \"ctb\"),\n person(\"Martin\", \"Modrák\", role = \"ctb\"),\n person(\"Michael\", \"Chirico\", role = \"ctb\"),\n person(\"Michael\", \"Friendly\", role = \"ctb\"),\n person(\"Michal\", \"Bojanowski\", role = \"ctb\"),\n person(\"Michel\", \"Kuhlmann\", role = \"ctb\"),\n person(\"Miller\", \"Patrick\", role = \"ctb\"),\n person(\"Nacho\", \"Caballero\", role = \"ctb\"),\n person(\"Nick\", \"Salkowski\", role = \"ctb\"),\n person(\"Noam\", \"Ross\", role = \"ctb\"),\n person(\"Obada\", \"Mahdi\", role = \"ctb\"),\n person(\"Qiang\", \"Li\", role = \"ctb\"),\n person(\"Ramnath\", \"Vaidyanathan\", role = \"ctb\"),\n person(\"Richard\", \"Cotton\", role = \"ctb\"),\n person(\"Robert\", \"Krzyzanowski\", role = \"ctb\"),\n person(\"Romain\", \"Francois\", role = \"ctb\"),\n person(\"Ruaridh\", \"Williamson\", role = \"ctb\"),\n person(\"Scott\", \"Kostyshak\", role = \"ctb\"),\n person(\"Sebastian\", \"Meyer\", role = \"ctb\"),\n person(\"Sietse\", \"Brouwer\", role = \"ctb\"),\n person(c(\"Simon\", \"de\"), \"Bernard\", role = \"ctb\"),\n person(\"Sylvain\", \"Rousseau\", role = \"ctb\"),\n person(\"Taiyun\", \"Wei\", role = \"ctb\"),\n person(\"Thibaut\", \"Assus\", role = \"ctb\"),\n person(\"Thibaut\", \"Lamadon\", role = \"ctb\"),\n person(\"Thomas\", \"Leeper\", role = \"ctb\"),\n person(\"Tim\", \"Mastny\", role = \"ctb\"),\n person(\"Tom\", \"Torsney-Weir\", role = \"ctb\"),\n person(\"Trevor\", \"Davis\", role = \"ctb\"),\n person(\"Viktoras\", \"Veitas\", role = \"ctb\"),\n person(\"Weicheng\", \"Zhu\", role = \"ctb\"),\n person(\"Wush\", \"Wu\", role = \"ctb\"),\n person(\"Zachary\", \"Foster\", role = \"ctb\")\n )", "Maintainer": "Yihui Xie ", "Description": "Provides a general-purpose tool for dynamic report generation in R\n using Literate Programming techniques.", "Depends": "R (>= 3.2.3)", "Imports": "evaluate (>= 0.10), highr, markdown, stringr (>= 0.6), yaml\n(>= 2.1.19), methods, xfun, tools", "Suggests": "formatR, testit, digest, rgl (>= 0.95.1201), codetools,\nrmarkdown, htmlwidgets (>= 0.7), webshot, tikzDevice (>= 0.10),\ntinytex, reticulate (>= 1.4), JuliaCall (>= 0.11.1), magick,\npng, jpeg, gifski, xml2 (>= 1.2.0), httr, DBI (>= 0.4-1),\nshowtext, tibble, styler", "License": "GPL", "URL": "https://yihui.name/knitr/", "BugReports": "https://github.com/yihui/knitr/issues", "Encoding": "UTF-8", "VignetteBuilder": "knitr", "SystemRequirements": "Package vignettes based on R Markdown v2 or\nreStructuredText require Pandoc (http://pandoc.org). The\nfunction rst2pdf() require rst2pdf\n(https://github.com/rst2pdf/rst2pdf).", "Collate": "'block.R' 'cache.R' 'utils.R' 'citation.R' 'hooks-html.R'\n'plot.R' 'defaults.R' 'concordance.R' 'engine.R' 'highlight.R'\n'themes.R' 'header.R' 'hooks-asciidoc.R' 'hooks-chunk.R'\n'hooks-extra.R' 'hooks-latex.R' 'hooks-md.R' 'hooks-rst.R'\n'hooks-textile.R' 'hooks.R' 'output.R' 'package.R' 'pandoc.R'\n'params.R' 'parser.R' 'pattern.R' 'rocco.R' 'spin.R' 'table.R'\n'template.R' 'utils-base64.R' 'utils-conversion.R'\n'utils-rd2html.R' 'utils-sweave.R' 'utils-upload.R'\n'utils-vignettes.R' 'zzz.R'", "RoxygenNote": "6.1.1", "NeedsCompilation": "no", "Packaged": "2019-05-18 03:49:56 UTC; yihui", "Author": "Yihui Xie [aut, cre] (),\n Adam Vogt [ctb],\n Alastair Andrew [ctb],\n Alex Zvoleff [ctb],\n Andre Simon [ctb] (the CSS files under inst/themes/ were derived from\n the Highlight package http://www.andre-simon.de),\n Aron Atkins [ctb],\n Aaron Wolen [ctb],\n Ashley Manton [ctb],\n Atsushi Yasumoto [ctb] (),\n Ben Baumer [ctb],\n Brian Diggs [ctb],\n Brian Zhang [ctb],\n Cassio Pereira [ctb],\n Christophe Dervieux [ctb],\n David Hugh-Jones [ctb],\n David Robinson [ctb],\n Doug Hemken [ctb],\n Duncan Murdoch [ctb],\n Elio Campitelli [ctb],\n Emily Riederer [ctb],\n Fabian Hirschmann [ctb],\n Fitch Simeon [ctb],\n Forest Fang [ctb],\n Frank E Harrell Jr [ctb] (the Sweavel package at inst/misc/Sweavel.sty),\n Garrick Aden-Buie [ctb],\n Gregoire Detrez [ctb],\n Hadley Wickham [ctb],\n Hao Zhu [ctb],\n Heewon Jeon [ctb],\n Henrik Bengtsson [ctb],\n Hiroaki Yutani [ctb],\n Ian Lyttle [ctb],\n Hodges Daniel [ctb],\n Jake Burkhead [ctb],\n James Manton [ctb],\n Jared Lander [ctb],\n Jason Punyon [ctb],\n Javier Luraschi [ctb],\n Jeff Arnold [ctb],\n Jenny Bryan [ctb],\n Jeremy Ashkenas [ctb, cph] (the CSS file at\n inst/misc/docco-classic.css),\n Jeremy Stephens [ctb],\n Jim Hester [ctb],\n Joe Cheng [ctb],\n Johannes Ranke [ctb],\n John Honaker [ctb],\n John Muschelli [ctb],\n Jonathan Keane [ctb],\n JJ Allaire [ctb],\n Johan Toloe [ctb],\n Jonathan Sidi [ctb],\n Joseph Larmarange [ctb],\n Julien Barnier [ctb],\n Kaiyin Zhong [ctb],\n Kamil Slowikowski [ctb],\n Karl Forner [ctb],\n Kevin K. Smith [ctb],\n Kirill Mueller [ctb],\n Kohske Takahashi [ctb],\n Lorenz Walthert [ctb],\n Lucas Gallindo [ctb],\n Marius Hofert [ctb],\n Martin Modrák [ctb],\n Michael Chirico [ctb],\n Michael Friendly [ctb],\n Michal Bojanowski [ctb],\n Michel Kuhlmann [ctb],\n Miller Patrick [ctb],\n Nacho Caballero [ctb],\n Nick Salkowski [ctb],\n Noam Ross [ctb],\n Obada Mahdi [ctb],\n Qiang Li [ctb],\n Ramnath Vaidyanathan [ctb],\n Richard Cotton [ctb],\n Robert Krzyzanowski [ctb],\n Romain Francois [ctb],\n Ruaridh Williamson [ctb],\n Scott Kostyshak [ctb],\n Sebastian Meyer [ctb],\n Sietse Brouwer [ctb],\n Simon de Bernard [ctb],\n Sylvain Rousseau [ctb],\n Taiyun Wei [ctb],\n Thibaut Assus [ctb],\n Thibaut Lamadon [ctb],\n Thomas Leeper [ctb],\n Tim Mastny [ctb],\n Tom Torsney-Weir [ctb],\n Trevor Davis [ctb],\n Viktoras Veitas [ctb],\n Weicheng Zhu [ctb],\n Wush Wu [ctb],\n Zachary Foster [ctb]", "Repository": "RSPM", "Date/Publication": "2019-05-18 05:10:02 UTC", "Built": "R 3.6.0; ; 2019-07-17 21:01:09 UTC; unix" } }, "magrittr": { "Source": "CRAN", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "magrittr", "Type": "Package", "Title": "A Forward-Pipe Operator for R", "Version": "1.5", "Author": "Stefan Milton Bache and\n Hadley Wickham ", "Maintainer": "Stefan Milton Bache ", "Description": "Provides a mechanism for chaining commands with a\n new forward-pipe operator, %>%. This operator will forward a\n value, or the result of an expression, into the next function\n call/expression. There is flexible support for the type\n of right-hand side expressions. For more information, see\n package vignette.\n To quote Rene Magritte, \"Ceci n'est pas un pipe.\"", "Suggests": "testthat, knitr", "VignetteBuilder": "knitr", "License": "MIT + file LICENSE", "ByteCompile": "Yes", "Packaged": "2014-11-22 08:50:53 UTC; shb", "NeedsCompilation": "no", "Repository": "RSPM", "Date/Publication": "2014-11-22 19:15:57", "Built": "R 3.6.0; ; 2019-07-17 21:18:53 UTC; unix" } }, "markdown": { "Source": "RSPM", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "markdown", "Type": "Package", "Title": "Render Markdown with the C Library 'Sundown'", "Version": "1.0", "Authors@R": "c(\n person(\"JJ\", \"Allaire\", role = \"aut\"),\n person(\"Jeffrey\", \"Horner\", role = \"aut\"),\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Henrik\", \"Bengtsson\", role = \"ctb\"),\n person(\"Jim\", \"Hester\", role = \"ctb\"),\n person(\"Yixuan\", \"Qiu\", role = \"ctb\"),\n person(\"Kohske\", \"Takahashi\", role = \"ctb\"),\n person(\"Adam\", \"November\", role = \"ctb\"),\n person(\"Nacho\", \"Caballero\", role = \"ctb\"),\n person(\"Jeroen\", \"Ooms\", role = \"ctb\"),\n person(\"Thomas\", \"Leeper\", role = \"ctb\"),\n person(\"Joe\", \"Cheng\", role = \"ctb\"),\n person(\"Andrzej\", \"Oles\", role = \"ctb\"),\n person(\"Vicent\", \"Marti\", role = c(\"aut\", \"cph\"), comment = \"The Sundown library\"),\n person(\"Natacha\", \"Porte\", role = c(\"aut\", \"cph\"), comment = \"The Sundown library\"),\n person(family = \"RStudio\", role = \"cph\")\n )", "Description": "Provides R bindings to the 'Sundown' Markdown rendering library\n (). Markdown is a plain-text formatting\n syntax that can be converted to 'XHTML' or other formats. See\n for more information about Markdown.", "Depends": "R (>= 2.11.1)", "Imports": "utils, mime (>= 0.3)", "Suggests": "knitr, RCurl", "License": "GPL-2", "URL": "https://github.com/rstudio/markdown", "BugReports": "https://github.com/rstudio/markdown/issues", "VignetteBuilder": "knitr", "RoxygenNote": "6.1.1", "Encoding": "UTF-8", "NeedsCompilation": "yes", "Packaged": "2019-06-07 14:17:03 UTC; yihui", "Author": "JJ Allaire [aut],\n Jeffrey Horner [aut],\n Yihui Xie [aut, cre] (),\n Henrik Bengtsson [ctb],\n Jim Hester [ctb],\n Yixuan Qiu [ctb],\n Kohske Takahashi [ctb],\n Adam November [ctb],\n Nacho Caballero [ctb],\n Jeroen Ooms [ctb],\n Thomas Leeper [ctb],\n Joe Cheng [ctb],\n Andrzej Oles [ctb],\n Vicent Marti [aut, cph] (The Sundown library),\n Natacha Porte [aut, cph] (The Sundown library),\n RStudio [cph]", "Maintainer": "Yihui Xie ", "Repository": "RSPM", "Date/Publication": "2019-06-07 19:00:15 UTC", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-07-17 21:20:36 UTC; unix" } }, "mime": { "Source": "CRAN", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "mime", "Type": "Package", "Title": "Map Filenames to MIME Types", "Version": "0.7", "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Jeffrey\", \"Horner\", role = \"ctb\"),\n person(\"Beilei\", \"Bian\", role = \"ctb\")\n )", "Description": "Guesses the MIME type from a filename extension using the data\n derived from /etc/mime.types in UNIX-type systems.", "Imports": "tools", "License": "GPL", "URL": "https://github.com/yihui/mime", "BugReports": "https://github.com/yihui/mime/issues", "LazyData": "TRUE", "RoxygenNote": "6.1.0", "Encoding": "UTF-8", "NeedsCompilation": "yes", "Packaged": "2019-06-11 19:49:18 UTC; yihui", "Author": "Yihui Xie [aut, cre] (),\n Jeffrey Horner [ctb],\n Beilei Bian [ctb]", "Maintainer": "Yihui Xie ", "Repository": "RSPM", "Date/Publication": "2019-06-11 20:10:03 UTC", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-07-17 21:37:35 UTC; unix" } }, "rlang": { "Source": "RSPM", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": "rlang", "GithubUsername": "r-lib", "GithubRef": "master", "GithubSha1": "b0905dbfbc49aac2183c5b79b8231600a563581d", "description": { "Package": "rlang", "Version": "0.4.0.9000", "Title": "Functions for Base Types and Core R and 'Tidyverse' Features", "Description": "A toolbox for working with base types, core R features\n like the condition system, and core 'Tidyverse' features like tidy\n evaluation.", "Authors@R": "c(\n person(\"Lionel\", \"Henry\", ,\"lionel@rstudio.com\", c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", ,\"hadley@rstudio.com\", \"aut\"),\n person(\"RStudio\", role = \"cph\")\n )", "License": "GPL-3", "LazyData": "true", "ByteCompile": "true", "Biarch": "true", "Depends": "R (>= 3.2.0)", "Suggests": "covr, crayon, magrittr, methods, pillar, rmarkdown, testthat\n(>= 2.0.0)", "Encoding": "UTF-8", "RoxygenNote": "6.1.1", "Roxygen": "list(markdown = TRUE)", "URL": "http://rlang.r-lib.org, https://github.com/r-lib/rlang", "BugReports": "https://github.com/r-lib/rlang/issues", "RemoteType": "github", "RemoteHost": "api.github.com", "RemoteRepo": "rlang", "RemoteUsername": "r-lib", "RemoteRef": "master", "RemoteSha": "b0905dbfbc49aac2183c5b79b8231600a563581d", "GithubRepo": "rlang", "GithubUsername": "r-lib", "GithubRef": "master", "GithubSHA1": "b0905dbfbc49aac2183c5b79b8231600a563581d", "NeedsCompilation": "yes", "Packaged": "2019-08-03 02:45:12 UTC; cole", "Author": "Lionel Henry [aut, cre],\n Hadley Wickham [aut],\n RStudio [cph]", "Maintainer": "Lionel Henry ", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-08-03 02:45:13 UTC; unix" } }, "rmarkdown": { "Source": "CRAN", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "rmarkdown", "Type": "Package", "Title": "Dynamic Documents for R", "Version": "1.14", "Authors@R": "c(\n person(\"JJ\", \"Allaire\", role = \"aut\", email = \"jj@rstudio.com\"),\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Jonathan\", \"McPherson\", role = \"aut\", email = \"jonathan@rstudio.com\"),\n person(\"Javier\", \"Luraschi\", role = \"aut\", email = \"javier@rstudio.com\"),\n person(\"Kevin\", \"Ushey\", role = \"aut\", email = \"kevin@rstudio.com\"),\n person(\"Aron\", \"Atkins\", role = \"aut\", email = \"aron@rstudio.com\"),\n person(\"Hadley\", \"Wickham\", role = \"aut\", email = \"hadley@rstudio.com\"),\n person(\"Joe\", \"Cheng\", role = \"aut\", email = \"joe@rstudio.com\"),\n person(\"Winston\", \"Chang\", role = \"aut\", email = \"winston@rstudio.com\"),\n person(\"Richard\", \"Iannone\", role = \"aut\", email = \"rich@rstudio.com\", comment = c(ORCID = \"0000-0003-3925-190X\")),\n #\n # Contributors, ordered alphabetically by first name\n person(\"Barret\", \"Schloerke\", role = \"ctb\"),\n person(\"Christophe\", \"Dervieux\", role = \"ctb\"),\n person(\"Frederik\", \"Aust\", role = \"ctb\", email = \"frederik.aust@uni-koeln.de\", comment = c(ORCID = \"0000-0003-4900-788X\")),\n person(\"Jeff\", \"Allen\", role = \"ctb\", email = \"jeff@rstudio.com\"),\n person(\"Malcolm\", \"Barrett\", role = \"ctb\"),\n person(\"Rob\", \"Hyndman\", role = \"ctb\", email = \"Rob.Hyndman@monash.edu\"),\n person(\"Romain\", \"Lesur\", role = \"ctb\"),\n person(\"Roy\", \"Storey\", role = \"ctb\"),\n person(\"Ruben\", \"Arslan\", role = \"ctb\", email = \"ruben.arslan@uni-goettingen.de\"),\n #\n # Copyright holders\n person(family = \"RStudio, Inc.\", role = \"cph\"),\n person(family = \"jQuery Foundation\", role = \"cph\",\n comment = \"jQuery library\"),\n person(family = \"jQuery contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery library; authors listed in inst/rmd/h/jquery-AUTHORS.txt\"),\n person(family = \"jQuery UI contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery UI library; authors listed in inst/rmd/h/jqueryui-AUTHORS.txt\"),\n person(\"Mark\", \"Otto\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(\"Jacob\", \"Thornton\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Bootstrap contributors\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Twitter, Inc\", role = \"cph\",\n comment = \"Bootstrap library\"),\n person(\"Alexander\", \"Farkas\", role = c(\"ctb\", \"cph\"),\n comment = \"html5shiv library\"),\n person(\"Scott\", \"Jehl\", role = c(\"ctb\", \"cph\"),\n comment = \"Respond.js library\"),\n person(\"Ivan\", \"Sagalaev\", role = c(\"ctb\", \"cph\"),\n comment = \"highlight.js library\"),\n person(\"Greg\", \"Franko\", role = c(\"ctb\", \"cph\"),\n comment = \"tocify library\"),\n person(\"John\", \"MacFarlane\", role = c(\"ctb\", \"cph\"),\n comment = \"Pandoc templates\"),\n person(family = \"Google, Inc.\", role = c(\"ctb\", \"cph\"),\n comment = \"ioslides library\"),\n person(\"Dave\", \"Raggett\", role = \"ctb\",\n comment = \"slidy library\"),\n person(family = \"W3C\", role = \"cph\",\n comment = \"slidy library\"),\n person(\"Dave\", \"Gandy\", role = c(\"ctb\", \"cph\"),\n comment = \"Font-Awesome\"),\n person(\"Ben\", \"Sperry\", role = \"ctb\",\n comment = \"Ionicons\"),\n person(family = \"Drifty\", role = \"cph\",\n comment = \"Ionicons\"),\n person(\"Aidan\", \"Lister\", role = c(\"ctb\", \"cph\"), \n comment = \"jQuery StickyTabs\")\n )", "Maintainer": "Yihui Xie ", "Description": "Convert R Markdown documents into a variety of formats.", "Depends": "R (>= 3.0)", "Imports": "tools, utils, knitr (>= 1.22), yaml (>= 2.1.19), htmltools (>=\n0.3.5), evaluate (>= 0.13), base64enc, jsonlite, mime, tinytex\n(>= 0.11), xfun, methods, stringr (>= 1.2.0)", "Suggests": "shiny (>= 0.11), tufte, testthat, digest, dygraphs, tibble,\nfs, pkgdown, callr (>= 2.0.0)", "SystemRequirements": "pandoc (>= 1.12.3) - http://pandoc.org", "URL": "https://github.com/rstudio/rmarkdown", "BugReports": "https://github.com/rstudio/rmarkdown/issues", "License": "GPL-3", "RoxygenNote": "6.1.1", "Encoding": "UTF-8", "VignetteBuilder": "knitr", "NeedsCompilation": "no", "Packaged": "2019-07-12 02:57:15 UTC; yihui", "Author": "JJ Allaire [aut],\n Yihui Xie [aut, cre] (),\n Jonathan McPherson [aut],\n Javier Luraschi [aut],\n Kevin Ushey [aut],\n Aron Atkins [aut],\n Hadley Wickham [aut],\n Joe Cheng [aut],\n Winston Chang [aut],\n Richard Iannone [aut] (),\n Barret Schloerke [ctb],\n Christophe Dervieux [ctb],\n Frederik Aust [ctb] (),\n Jeff Allen [ctb],\n Malcolm Barrett [ctb],\n Rob Hyndman [ctb],\n Romain Lesur [ctb],\n Roy Storey [ctb],\n Ruben Arslan [ctb],\n RStudio, Inc. [cph],\n jQuery Foundation [cph] (jQuery library),\n jQuery contributors [ctb, cph] (jQuery library; authors listed in\n inst/rmd/h/jquery-AUTHORS.txt),\n jQuery UI contributors [ctb, cph] (jQuery UI library; authors listed in\n inst/rmd/h/jqueryui-AUTHORS.txt),\n Mark Otto [ctb] (Bootstrap library),\n Jacob Thornton [ctb] (Bootstrap library),\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Alexander Farkas [ctb, cph] (html5shiv library),\n Scott Jehl [ctb, cph] (Respond.js library),\n Ivan Sagalaev [ctb, cph] (highlight.js library),\n Greg Franko [ctb, cph] (tocify library),\n John MacFarlane [ctb, cph] (Pandoc templates),\n Google, Inc. [ctb, cph] (ioslides library),\n Dave Raggett [ctb] (slidy library),\n W3C [cph] (slidy library),\n Dave Gandy [ctb, cph] (Font-Awesome),\n Ben Sperry [ctb] (Ionicons),\n Drifty [cph] (Ionicons),\n Aidan Lister [ctb, cph] (jQuery StickyTabs)", "Repository": "RSPM", "Date/Publication": "2019-07-12 04:43:08 UTC", "Built": "R 3.6.0; ; 2019-07-17 18:54:14 UTC; unix" } }, "stringi": { "Source": "RSPM", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "stringi", "Version": "1.4.3", "Date": "2019-03-12", "Title": "Character String Processing Facilities", "Description": "Fast, correct, consistent, portable,\n as well as convenient character string/text processing in every locale\n and any native encoding. Owing to the use of the 'ICU'\n (International Components for Unicode) library,\n the package provides 'R' users with platform-independent functions\n known to 'Java', 'Perl', 'Python', 'PHP', and 'Ruby' programmers. Available\n features include: pattern searching (e.g., with 'Java'-like regular\n expressions or the 'Unicode' collation algorithm), random string generation,\n case mapping, string transliteration, concatenation,\n Unicode normalization, date-time formatting and parsing, and many more.", "URL": "http://www.gagolewski.com/software/stringi/\nhttp://site.icu-project.org/ http://www.unicode.org/", "BugReports": "http://github.com/gagolews/stringi/issues", "SystemRequirements": "ICU4C (>= 52, optional)", "Type": "Package", "Depends": "R (>= 2.14)", "Imports": "tools, utils, stats", "Biarch": "TRUE", "License": "file LICENSE", "Author": "Marek Gagolewski [aut, cre] (),\n Bartek Tartanus [ctb],\n and other contributors (stringi source code);\n IBM, Unicode, Inc., and other contributors (ICU4C source code);\n Unicode, Inc. (Unicode Character Database)", "Maintainer": "Marek Gagolewski ", "RoxygenNote": "6.1.1", "NeedsCompilation": "yes", "Packaged": "2019-03-12 21:12:07 UTC; gagolews", "License_is_FOSS": "yes", "Repository": "RSPM", "Date/Publication": "2019-03-12 23:20:03 UTC", "Encoding": "UTF-8", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-07-17 17:57:19 UTC; unix" } }, "stringr": { "Source": "CRAN", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "stringr", "Title": "Simple, Consistent Wrappers for Common String Operations", "Version": "1.4.0", "Authors@R": "\n c(person(given = \"Hadley\",\n family = \"Wickham\",\n role = c(\"aut\", \"cre\", \"cph\"),\n email = \"hadley@rstudio.com\"),\n person(given = \"RStudio\",\n role = c(\"cph\", \"fnd\")))", "Description": "A consistent, simple and easy to use set of\n wrappers around the fantastic 'stringi' package. All function and\n argument names (and positions) are consistent, all functions deal with\n \"NA\"'s and zero length vectors in the same way, and the output from\n one function is easy to feed into the input of another.", "License": "GPL-2 | file LICENSE", "URL": "http://stringr.tidyverse.org, https://github.com/tidyverse/stringr", "BugReports": "https://github.com/tidyverse/stringr/issues", "Depends": "R (>= 3.1)", "Imports": "glue (>= 1.2.0), magrittr, stringi (>= 1.1.7)", "Suggests": "covr, htmltools, htmlwidgets, knitr, rmarkdown, testthat", "VignetteBuilder": "knitr", "Encoding": "UTF-8", "LazyData": "true", "RoxygenNote": "6.1.1", "NeedsCompilation": "no", "Packaged": "2019-02-09 16:03:19 UTC; hadley", "Author": "Hadley Wickham [aut, cre, cph],\n RStudio [cph, fnd]", "Maintainer": "Hadley Wickham ", "Repository": "RSPM", "Date/Publication": "2019-02-10 03:40:03 UTC", "Built": "R 3.6.0; ; 2019-07-17 17:58:52 UTC; unix" } }, "tinytex": { "Source": "RSPM", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "tinytex", "Type": "Package", "Title": "Helper Functions to Install and Maintain 'TeX Live', and Compile\n'LaTeX' Documents", "Version": "0.14", "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\", \"cph\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(family = \"RStudio, Inc.\", role = \"cph\"),\n person(\"Fernando\", \"Cagua\", role = \"ctb\"),\n person(\"Ethan\", \"Heinzen\", role = \"ctb\"),\n person()\n )", "Description": "Helper functions to install and maintain the 'LaTeX' distribution\n named 'TinyTeX' (), a lightweight, cross-platform,\n portable, and easy-to-maintain version of 'TeX Live'. This package also\n contains helper functions to compile 'LaTeX' documents, and install missing\n 'LaTeX' packages automatically.", "Imports": "xfun (>= 0.5)", "Suggests": "testit, rstudioapi", "License": "MIT + file LICENSE", "URL": "https://github.com/yihui/tinytex", "BugReports": "https://github.com/yihui/tinytex/issues", "Encoding": "UTF-8", "LazyData": "true", "RoxygenNote": "6.1.1", "NeedsCompilation": "no", "Packaged": "2019-06-25 04:07:18 UTC; yihui", "Author": "Yihui Xie [aut, cre, cph] (),\n RStudio, Inc. [cph],\n Fernando Cagua [ctb],\n Ethan Heinzen [ctb]", "Maintainer": "Yihui Xie ", "Repository": "RSPM", "Date/Publication": "2019-06-25 06:00:03 UTC", "Built": "R 3.6.0; ; 2019-07-17 18:53:42 UTC; unix" } }, "xfun": { "Source": "CRAN", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "xfun", "Type": "Package", "Title": "Miscellaneous Functions by 'Yihui Xie'", "Version": "0.8", "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\", \"cph\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Daijiang\", \"Li\", role = \"ctb\"),\n person(\"Xianying\", \"Tan\", role = \"ctb\"),\n person()\n )", "Description": "Miscellaneous functions commonly used in other packages maintained by 'Yihui Xie'.", "Imports": "stats, tools", "Suggests": "testit, parallel, rstudioapi, tinytex, mime, markdown, knitr,\nhtmltools, base64enc, remotes, rmarkdown", "License": "MIT + file LICENSE", "URL": "https://github.com/yihui/xfun", "BugReports": "https://github.com/yihui/xfun/issues", "Encoding": "UTF-8", "LazyData": "true", "RoxygenNote": "6.1.1", "VignetteBuilder": "knitr", "NeedsCompilation": "no", "Packaged": "2019-06-25 03:54:36 UTC; yihui", "Author": "Yihui Xie [aut, cre, cph] (),\n Daijiang Li [ctb],\n Xianying Tan [ctb]", "Maintainer": "Yihui Xie ", "Repository": "RSPM", "Date/Publication": "2019-06-25 05:50:03 UTC", "Built": "R 3.6.0; ; 2019-07-17 18:53:32 UTC; unix" } }, "yaml": { "Source": "RSPM", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/688", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "yaml", "Type": "Package", "Title": "Methods to Convert R Data to YAML and Back", "Date": "2018-07-20", "Version": "2.2.0", "Suggests": "RUnit", "Author": "Jeremy Stephens [aut, cre], Kirill Simonov [aut], Yihui Xie [ctb],\n Zhuoer Dong [ctb], Hadley Wickham [ctb], Jeffrey Horner [ctb], reikoch [ctb],\n Will Beasley [ctb], Brendan O'Connor [ctb], Gregory R. Warnes [ctb]", "Maintainer": "Jeremy Stephens ", "License": "BSD_3_clause + file LICENSE", "Description": "Implements the 'libyaml' 'YAML' 1.1 parser and emitter\n () for R.", "URL": "https://github.com/viking/r-yaml/", "BugReports": "https://github.com/viking/r-yaml/issues", "NeedsCompilation": "yes", "Packaged": "2018-07-24 19:09:41 UTC; stephej1", "Repository": "RSPM", "Date/Publication": "2018-07-25 15:40:03 UTC", "Built": "R 3.6.0; x86_64-pc-linux-gnu; 2019-07-17 18:53:28 UTC; unix" } } }, "files": { "file.R": { "checksum": "4be5b3b82d3aa4a5e52ce0d569098fbc" }, "file.Rmd": { "checksum": "8cf3cf2eece5aa9d42be20414262206a" }, "packrat/desc/base64enc": { "checksum": "435be2515fdf1fd22518433c39dec8ae" }, "packrat/desc/digest": { "checksum": "d835436c95ea57a247735e0fc4858ba9" }, "packrat/desc/evaluate": { "checksum": "6348c5df9bd081d4b5e1f8f9acf4569e" }, "packrat/desc/glue": { "checksum": "92891ccd130d1f733132fa7acf6b81e0" }, "packrat/desc/highr": { "checksum": "d1c912ddab9986fbe967872955c1997f" }, "packrat/desc/htmltools": { "checksum": "9829f843155827ac870bdb4be1486e28" }, "packrat/desc/jsonlite": { "checksum": "eb74f2f057ca8fee6fcf7c3026e317d0" }, "packrat/desc/knitr": { "checksum": "fd616bb24d4ca6840c13137c0e00ea9e" }, "packrat/desc/magrittr": { "checksum": "98cc706203f339fe1435982e7ece0c72" }, "packrat/desc/markdown": { "checksum": "d2f00b16607300e8d4ec0d7d689a03b0" }, "packrat/desc/mime": { "checksum": "14e51fe84765966645be258cbe8bdbaf" }, "packrat/desc/Rcpp": { "checksum": "0d99ff42282bb82efcc278986c40b9bb" }, "packrat/desc/rlang": { "checksum": "da566fe874ad0e579c4a82251a3a5472" }, "packrat/desc/rmarkdown": { "checksum": "591a08e9438e49735f07562a67d1de90" }, "packrat/desc/stringi": { "checksum": "f6df9807508e8653039f577e0688e1cf" }, "packrat/desc/stringr": { "checksum": "d08d29158b3618fcf7258920d54c49a9" }, "packrat/desc/tinytex": { "checksum": "6a66a684337d61a6d7b50e07c0f3f9b6" }, "packrat/desc/xfun": { "checksum": "c04ca9f8ef1c7aca97ec12e06a5716f5" }, "packrat/desc/yaml": { "checksum": "7ad195d4e96ffe98a04c0c2744ea7baa" }, "packrat/packrat.lock": { "checksum": "8ed07ba99878745b881aec6daafbbe05" } }, "users": null } ```
colearendt commented 5 years ago

More weirdness afoot that can hopefully help. I have never seen this error before, and have seen it with regularity in a clean environment reproducing these issues:

Warning messages:
1: In `[<-.data.frame`(`*tmp*`, , c("Source", "Repository"), value = list( :
  replacement element 1 has 252 rows to replace 130 rows
2: In `[<-.data.frame`(`*tmp*`, , c("Source", "Repository"), value = list( :
  replacement element 2 has 252 rows to replace 130 rows

And kinda the inverse problem, I have seen the mapping from "Repository: RSPM" to "Source: RSPM" be pretty flaky. I wrote three manifests in the same project (different subfolders). I got:

    "lubridate": {
      "Source": "github",
      "Repository": null,
--
    "lubridate": {
      "Source": "CRAN",
      "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/latest",
--
    "lubridate": {
      "Source": "RSPM",
      "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/latest",

For all three (the package installation / R session / everything is the same... just different working directories / apps), the package description specifies Repository: RSPM.

The really troubling one is "github", but "CRAN" is nearly as troubling. It's almost like we're round-robining or something.

I can't easily share the manifest (too big). LMK if it'd be helpful to pair through tomorrow! It is a shared environment, so I can also give you creds if that's helpful.

Another jq workaround:

cat pre-manifest.json | jq '.packages |= map_values(. | (if .GithubRepo == null and .Source == "github" then .Source |= "RSPM" | .Repository |= "https://cluster.rstudiopm.com/cran/__linux__/bionic/latest" else . end))' > manifest.json
manifest.json - lubridate entry - github ``` "lubridate": { "Source": "github", "Repository": null, "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "lubridate", "Type": "Package", "Version": "1.7.4", "Title": "Make Dealing with Dates a Little Easier", "Description": "Functions to work with date-times and time-spans: fast and user\n friendly parsing of date-time data, extraction and updating of components of\n a date-time (years, months, days, hours, minutes, and seconds), algebraic\n manipulation on date-time and time-span objects. The 'lubridate' package has\n a consistent and memorable syntax that makes working with dates easy and\n fun.\n Parts of the 'CCTZ' source code, released under the Apache 2.0 License,\n are included in this package. See for more\n details.", "Authors@R": "c(\n person(\"Vitalie\", \"Spinu\", email = \"spinuvit@gmail.com\", role = c(\"aut\",\"cre\")),\n person(\"Garrett\", \"Grolemund\", role = \"aut\"),\n person(\"Hadley\", \"Wickham\", role = \"aut\"),\n person(\"Ian\", \"Lyttle\", role=\"ctb\"),\n person(\"Imanuel\", \"Constigan\", role = \"ctb\"),\n person(\"Jason\", \"Law\", role=\"ctb\"),\n person(\"Doug\",\"Mitarotonda\", role=\"ctb\"),\n person(\"Joseph\", \"Larmarange\", role=\"ctb\"),\n person(\"Jonathan\", \"Boiser\", role=\"ctb\"),\n person(\"Chel Hee\", \"Lee\", role = \"ctb\")\n )", "Maintainer": "Vitalie Spinu ", "License": "GPL (>= 2)", "Depends": "methods, R (>= 3.0.0)", "Imports": "stringr, Rcpp (>= 0.12.13),", "LinkingTo": "Rcpp,", "Suggests": "testthat, knitr, covr", "Enhances": "chron, fts, timeSeries, timeDate, tis, tseries, xts, zoo", "SystemRequirements": "A system with zoneinfo data (e.g.\n/usr/share/zoneinfo) as well as a recent-enough C++11 compiler\n(such as g++-4.8 or later). On Windows the zoneinfo included\nwith R is used.", "VignetteBuilder": "knitr", "LazyData": "true", "Collate": "'Dates.r' 'POSIXt.r' 'RcppExports.R' 'util.r' 'parse.r'\n'timespans.r' 'intervals.r' 'difftimes.r' 'durations.r'\n'periods.r' 'accessors-date.R' 'accessors-day.r'\n'accessors-dst.r' 'accessors-hour.r' 'accessors-minute.r'\n'accessors-month.r' 'accessors-quarter.r' 'accessors-second.r'\n'accessors-tz.r' 'accessors-week.r' 'accessors-year.r'\n'am-pm.r' 'time-zones.r' 'numeric.r' 'coercion.r' 'constants.r'\n'data.r' 'decimal-dates.r' 'deprecated.r' 'guess.r' 'hidden.r'\n'instants.r' 'leap-years.r' 'ops-addition.r' 'ops-compare.r'\n'ops-division.r' 'ops-integer-division.r' 'ops-m+.r'\n'ops-modulo.r' 'ops-multiplication.r' 'ops-subtraction.r'\n'package.r' 'pretty.r' 'round.r' 'stamp.r' 'update.r' 'zzz.R'", "RoxygenNote": "6.0.1", "URL": "http://lubridate.tidyverse.org,\nhttps://github.com/tidyverse/lubridate", "BugReports": "https://github.com/tidyverse/lubridate/issues", "NeedsCompilation": "yes", "Packaged": "2018-04-10 15:18:02 UTC; vspinu", "Author": "Vitalie Spinu [aut, cre],\n Garrett Grolemund [aut],\n Hadley Wickham [aut],\n Ian Lyttle [ctb],\n Imanuel Constigan [ctb],\n Jason Law [ctb],\n Doug Mitarotonda [ctb],\n Joseph Larmarange [ctb],\n Jonathan Boiser [ctb],\n Chel Hee Lee [ctb]", "Repository": "RSPM", "Date/Publication": "2018-04-11 10:08:43 UTC", "Encoding": "UTF-8", "Built": "R 3.5.3; x86_64-pc-linux-gnu; 2019-08-01 20:13:49 UTC; unix" } }, ```
manifest.json - lubridate entry - CRAN version ``` "lubridate": { "Source": "CRAN", "Repository": "https://cluster.rstudiopm.com/cran/__linux__/bionic/latest", "GithubRepo": null, "GithubUsername": null, "GithubRef": null, "GithubSha1": null, "description": { "Package": "lubridate", "Type": "Package", "Version": "1.7.4", "Title": "Make Dealing with Dates a Little Easier", "Description": "Functions to work with date-times and time-spans: fast and user\n friendly parsing of date-time data, extraction and updating of components of\n a date-time (years, months, days, hours, minutes, and seconds), algebraic\n manipulation on date-time and time-span objects. The 'lubridate' package has\n a consistent and memorable syntax that makes working with dates easy and\n fun.\n Parts of the 'CCTZ' source code, released under the Apache 2.0 License,\n are included in this package. See for more\n details.", "Authors@R": "c(\n person(\"Vitalie\", \"Spinu\", email = \"spinuvit@gmail.com\", role = c(\"aut\",\"cre\")),\n person(\"Garrett\", \"Grolemund\", role = \"aut\"),\n person(\"Hadley\", \"Wickham\", role = \"aut\"),\n person(\"Ian\", \"Lyttle\", role=\"ctb\"),\n person(\"Imanuel\", \"Constigan\", role = \"ctb\"),\n person(\"Jason\", \"Law\", role=\"ctb\"),\n person(\"Doug\",\"Mitarotonda\", role=\"ctb\"),\n person(\"Joseph\", \"Larmarange\", role=\"ctb\"),\n person(\"Jonathan\", \"Boiser\", role=\"ctb\"),\n person(\"Chel Hee\", \"Lee\", role = \"ctb\")\n )", "Maintainer": "Vitalie Spinu ", "License": "GPL (>= 2)", "Depends": "methods, R (>= 3.0.0)", "Imports": "stringr, Rcpp (>= 0.12.13),", "LinkingTo": "Rcpp,", "Suggests": "testthat, knitr, covr", "Enhances": "chron, fts, timeSeries, timeDate, tis, tseries, xts, zoo", "SystemRequirements": "A system with zoneinfo data (e.g.\n/usr/share/zoneinfo) as well as a recent-enough C++11 compiler\n(such as g++-4.8 or later). On Windows the zoneinfo included\nwith R is used.", "VignetteBuilder": "knitr", "LazyData": "true", "Collate": "'Dates.r' 'POSIXt.r' 'RcppExports.R' 'util.r' 'parse.r'\n'timespans.r' 'intervals.r' 'difftimes.r' 'durations.r'\n'periods.r' 'accessors-date.R' 'accessors-day.r'\n'accessors-dst.r' 'accessors-hour.r' 'accessors-minute.r'\n'accessors-month.r' 'accessors-quarter.r' 'accessors-second.r'\n'accessors-tz.r' 'accessors-week.r' 'accessors-year.r'\n'am-pm.r' 'time-zones.r' 'numeric.r' 'coercion.r' 'constants.r'\n'data.r' 'decimal-dates.r' 'deprecated.r' 'guess.r' 'hidden.r'\n'instants.r' 'leap-years.r' 'ops-addition.r' 'ops-compare.r'\n'ops-division.r' 'ops-integer-division.r' 'ops-m+.r'\n'ops-modulo.r' 'ops-multiplication.r' 'ops-subtraction.r'\n'package.r' 'pretty.r' 'round.r' 'stamp.r' 'update.r' 'zzz.R'", "RoxygenNote": "6.0.1", "URL": "http://lubridate.tidyverse.org,\nhttps://github.com/tidyverse/lubridate", "BugReports": "https://github.com/tidyverse/lubridate/issues", "NeedsCompilation": "yes", "Packaged": "2018-04-10 15:18:02 UTC; vspinu", "Author": "Vitalie Spinu [aut, cre],\n Garrett Grolemund [aut],\n Hadley Wickham [aut],\n Ian Lyttle [ctb],\n Imanuel Constigan [ctb],\n Jason Law [ctb],\n Doug Mitarotonda [ctb],\n Joseph Larmarange [ctb],\n Jonathan Boiser [ctb],\n Chel Hee Lee [ctb]", "Repository": "RSPM", "Date/Publication": "2018-04-11 10:08:43 UTC", "Encoding": "UTF-8", "Built": "R 3.5.3; x86_64-pc-linux-gnu; 2019-08-01 20:13:49 UTC; unix" } }, ```
lubridate DESCRIPTION file ``` Package: lubridate Type: Package Version: 1.7.4 Title: Make Dealing with Dates a Little Easier Description: Functions to work with date-times and time-spans: fast and user friendly parsing of date-time data, extraction and updating of components of a date-time (years, months, days, hours, minutes, and seconds), algebraic manipulation on date-time and time-span objects. The 'lubridate' package has a consistent and memorable syntax that makes working with dates easy and fun. Parts of the 'CCTZ' source code, released under the Apache 2.0 License, are included in this package. See for more details. Authors@R: c( person("Vitalie", "Spinu", email = "spinuvit@gmail.com", role = c("aut","cre")), person("Garrett", "Grolemund", role = "aut"), person("Hadley", "Wickham", role = "aut"), person("Ian", "Lyttle", role="ctb"), person("Imanuel", "Constigan", role = "ctb"), person("Jason", "Law", role="ctb"), person("Doug","Mitarotonda", role="ctb"), person("Joseph", "Larmarange", role="ctb"), person("Jonathan", "Boiser", role="ctb"), person("Chel Hee", "Lee", role = "ctb") ) Maintainer: Vitalie Spinu License: GPL (>= 2) Depends: methods, R (>= 3.0.0) Imports: stringr, Rcpp (>= 0.12.13), LinkingTo: Rcpp, Suggests: testthat, knitr, covr Enhances: chron, fts, timeSeries, timeDate, tis, tseries, xts, zoo SystemRequirements: A system with zoneinfo data (e.g. /usr/share/zoneinfo) as well as a recent-enough C++11 compiler (such as g++-4.8 or later). On Windows the zoneinfo included with R is used. VignetteBuilder: knitr LazyData: true Collate: 'Dates.r' 'POSIXt.r' 'RcppExports.R' 'util.r' 'parse.r' 'timespans.r' 'intervals.r' ..... RoxygenNote: 6.0.1 URL: http://lubridate.tidyverse.org, https://github.com/tidyverse/lubridate BugReports: https://github.com/tidyverse/lubridate/issues NeedsCompilation: yes Packaged: 2018-04-10 15:18:02 UTC; vspinu Author: Vitalie Spinu [aut, cre], Garrett Grolemund [aut], Hadley Wickham [aut], Ian Lyttle [ctb], Imanuel Constigan [ctb], Jason Law [ctb], Doug Mitarotonda [ctb], Joseph Larmarange [ctb], Jonathan Boiser [ctb], Chel Hee Lee [ctb] Repository: RSPM Date/Publication: 2018-04-11 10:08:43 UTC Encoding: UTF-8 Built: R 3.5.3; x86_64-pc-linux-gnu; 2019-08-01 20:13:49 UTC; unix -- File: /opt/R/3.5.3/lib/R/library/lubridate/Meta/package.rds ```

Also note that several of these packages came from RSPM binaries... that shouldn't make a difference, but it's worth noting 😄

colearendt commented 5 years ago

Also, has RETICULATE_PYTHON stuff changed? Specifying the ENV var didn't get me python in the manifest... but specifying writeManifest(python = ) did. I'm really hoping there is something wrong with my environment. This is quite strange.

colearendt commented 5 years ago

This manifest problem seems to cause problems on shinyapps.io as well:

Preparing to deploy application...DONE
Uploading bundle for application: 1088881...DONE
Deploying bundle: 2322760 for application: 1088881 ...
Waiting for task: 638941196
  building: Parsing manifest
################################ Begin Task Log ################################ 
################################# End Task Log ################################# 
Error: Unhandled Exception: Child Task 638941197 failed: Error parsing manifest: GithubUsername must be specified for GitHub package source
In addition: Warning messages:
1: In `[<-.data.frame`(`*tmp*`, , c("Source", "Repository"), value = list( :
  replacement element 1 has 217 rows to replace 111 rows
2: In `[<-.data.frame`(`*tmp*`, , c("Source", "Repository"), value = list( :
  replacement element 2 has 217 rows to replace 111 rows
Execution halted
################################ Begin Task Log ################################ 
################################# End Task Log ################################# 
Error: Unhandled Exception: Child Task 638941197 failed: Error parsing manifest: GithubUsername must be specified for GitHub package source
In addition: Warning messages:
1: In `[<-.data.frame`(`*tmp*`, , c("Source", "Repository"), value = list( :
  replacement element 1 has 217 rows to replace 111 rows
2: In `[<-.data.frame`(`*tmp*`, , c("Source", "Repository"), value = list( :
  replacement element 2 has 217 rows to replace 111 rows
Execution halted
kevinushey commented 5 years ago

I'll take a look at this today.

colearendt commented 5 years ago

Awesome! Let me know if I can help at all!

kevinushey commented 5 years ago

It looks like the warnings are coming from here:

https://github.com/rstudio/rsconnect/blob/3630e7d4cb7d325fb37a3a5e5ae9160822bb45e2/R/dependencies.R#L112

If a package is discovered in multiple repositories, then package.repo will have multiple rows:

Browse[2]> package.repo
  name                                    url                                        contrib.url
1 RSPM https://demo.rstudiopm.com/cran/latest https://demo.rstudiopm.com/cran/latest/src/contrib
2 CRAN https://demo.rstudiopm.com/cran/latest https://demo.rstudiopm.com/cran/latest/src/contrib

I think we need to just select the first repository from which the package is found.

jmcphers commented 4 years ago

Closed by https://github.com/rstudio/rsconnect/issues/373