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]


Reply via email to