dragosmg commented on pull request #11921: URL: https://github.com/apache/arrow/pull/11921#issuecomment-1035560398
Given the results of the [little investigation](https://issues.apache.org/jira/browse/ARROW-15299) into the `dependencies` argument for `remotes::install_deps()` (reproduced below). What direction should we take this PR in? Options: * do nothing - leave things as they are (i.e. not use the `Config/Needs/...` fields in DESCRIPTION -> close this PR without merging any of the proposed changes * do something - cherry pick the PR and mostly keep the parts that improve a bit the documentation * still make use of the `Config/Needs/...` fields as it allows us to keep some "workflow" dependencies closer to the code - keep the PR as is (maybe supplement calls with `dependencies = c("hard", "Config/Needs/website")` with `dependencies = TRUE`. * do something else. What do you think? @jonkeane @nealrichardson @thisisnic @paleolimbot @ianmcook and others 😄 . ===================== Investigation results: What we would need is a combination between `dependencies = TRUE` and `dependencies = "Config/Needs/website"`. I ran the experiment and the results are below: test | description | number of packages installed :--: | -- | :--: 1 | dependencies = TRUE | 64 2 | dependencies = 'hard' | 12 3 | dependencies = c('hard', 'Config/Needs/website') | 61 4 | dependencies = 'soft' | 1819 5 | dependencies = c('soft', 'Config/Needs/website') | 1819 6 | dependencies = c('Config/Needs/website') | 1 I excluded `dependencies = "soft"` & combinations of `"soft"` since they are _too_ recursive and end up installing an excessive number of packages. `dependencies = "hard"` & `dependencies = "Config/Needs/website"` are too narrow. I compared `dependencies = TRUE` to `dependencies = c("hard", "Config/Needs/website")`. While the overall number of installed packages looks promising (64 vs 61), there isn't complete overlap. indicator | value -- |:--: packages exclusive to test 1 | 21 packages exclusive to test 3 | 18 packages in common | 43 We can safely conclude that `dependencies = c("hard", "Config/Needs/website")` is **not equal** to `dependencies = TRUE` + `dependencies = c("Config/Needs/website")`. We definitely need `"Config/Needs/website"` - in our case pkgdown and its dependencies, but in combination with `dependencies = "hard"` it is too narrow in scope, while with `dependencies = "soft"` it is much too wide. How I got there? * I removed all installed packages from the system library (with the exception of `"base"` and `"recommended"`packages) * I installed remotes and rstudioapi in the system library * each test installed packages to its own folder (configured via the R_LIBS_USER environment variable) with the R session being restarted for each run * I then compared the contents of the 6 libraries -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
