rdatsci / rtcl

R tools for the command line
65 stars 3 forks source link

rcheck should instlall all packages that are imports, req, or suggested #13

Open berndbischl opened 8 years ago

berndbischl commented 8 years ago

otherwise the check fails and you painfully have to do this manually

mllg commented 8 years ago

devtools::install_deps() takes >20 seconds for larger libraries. Therefore you are intended to install all deps with rmake --deps yourself before doing a check.

berndbischl commented 8 years ago

I dont get your point.

Situation a) I am missing some of these deps. Then the check will completely fail. So I HAVE to install all stuff anyway.

Situation b) I have all deps installed. Then checking that these are available is nearly "free" wrt to runtime.

So I dont see the disadvantage.

mllg commented 8 years ago

Querying R for installed packages takes >20s. So every time you run rcheck, you would have to wait >20s for the check to begin.

berndbischl commented 8 years ago

installed.packages returns in < 1 sec on my laptop? and i have like 90% of cran installed?

mllg commented 8 years ago

You have >6000 packages installed? On shell@dortmund it takes 15-30 seconds, depending on the network load:

Rscript -e "system.time(installed.packages())"
   user  system elapsed
  4.880   2.148  18.674

Note that the list of packages is cached per session.

berndbischl commented 8 years ago

You have to admit that you are now using a very peculiar argument. You sometimes tell me that I want to "push" my individual defaults into the package.

Now you argue for certain defaults with a situation that nearly NOBODY operates under, except for persons in Dortmund that ALSO work on the cluster.
EDIT: Correction: Only people in Dortmund.

I would suggest to make the auto-dependency install the default and to have a switch it off. That makes much more sense.

mllg commented 8 years ago

If you define NOBODY as everyone using a network file system, you're right. For example, install.packages() takes 8s on Lido and I have ~100 packages installed. So here are the options:

  1. Everyone who is not working exclusively with local SSDs has to change the default (i.e. nobody who uses rt).
  2. Everyone has to call rmake --deps once per package and system.
berndbischl commented 8 years ago

So you suggest that I define my rcheck as: rmake -deps; rcheck

? Are there any downsides to this?


General remark:

Still, I now have to have aliases for like every single command in rt. I would suggest to at least introduce arguments for this and make them configurable thru (documented) R options, that you can have in .Rprofile. At least in the long run.

berndbischl commented 8 years ago

Actually, another uderlying issue is, that this stuff, and quite a few of the other issues / work-arounds should at least be documented on the README. that takes about 15 min then for all parties involved, and we can see where we go from there.