[ 
https://issues.apache.org/jira/browse/ARROW-15299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17489471#comment-17489471
 ] 

Dragoș Moldovan-Grünfeld commented on ARROW-15299:
--------------------------------------------------

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||total_pkgs_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 that is 
too recursive and ends 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.

> [R] investigate {remotes} dependencies "soft" vs TRUE 
> ------------------------------------------------------
>
>                 Key: ARROW-15299
>                 URL: https://issues.apache.org/jira/browse/ARROW-15299
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: R
>            Reporter: Dragoș Moldovan-Grünfeld
>            Assignee: Dragoș Moldovan-Grünfeld
>            Priority: Major
>             Fix For: 8.0.0
>
>
> Although the {{remotes::install_deps()}} docs state {{dependencies == TRUE}} 
> is equivalent to {{{}dependencies == "soft"{}}}, I suspect {{"soft"}} is a 
> bit more recursive than {{{}TRUE{}}}, resulting in the installation of many 
> more packages.
> {quote}TRUE is shorthand for "Depends", "Imports", "LinkingTo" and 
> "Suggests". NA is shorthand for "Depends", "Imports" and "LinkingTo" and is 
> the default. FALSE is shorthand for no dependencies (i.e. just check this 
> package, not its dependencies).
> The value "soft" means the same as TRUE, "hard" means the same as NA.
> {quote}
> I noticed, when using {{dependencies = "soft"}} that my session was being 
> clogged up by package installations lasting well over 40 minutes.
> I would be good to time box this to a couple of hours. 
> The direction in which I would go would be to understand if there is any 
> difference in the size of the dependency trees + come up with a minimal 
> reproducible example. 
> Edit (12 January, 2021): the output could be a table comparing  
> {code:r}
> remotes::install_deps(dependencies = TRUE)
> remotes::install_deps(dependencies = "hard")
> remotes::install_deps(dependencies = c("hard", "Config..."))
> remotes::install_deps(dependencies = "soft")
> remotes::install_deps(dependencies = c("soft", "Config..."))
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to