[R-pkg-devel] different build tools
Simon Urbanek
@|mon@urb@nek @end|ng |rom R-project@org
Wed May 29 01:09:32 CEST 2024
Ross,
R CMD build is the only offical way to build a (source) package in R.
All other "tools" are just convenience wrappers by 3rd parties that call R CMD build eventually. There is no reason to assume that those tools should behave in a certain way - nor are you required to use them. They typically do other pre-processing which their authors deemed useful (typically based on yet another packages). Finally, RStudio is a 3rd party GUI by the company Posit Software, PBC which changes/augments the behaviour of R and provides additional tools - it is not R nor directly related to R (nor CRAN). The packages you mentioned are also maintained by Posit.
Please note that CRAN has nothing to do with any of the above - a package submitted to CRAN is the resulting package source tar ball which the author created by calling R CMD build - CRAN is not involved in the source package creation, it only requires it to be created with R CMD build for submission. Whether you desire some pre-processing, before you call R CMD build yourself, it's up to you.
Cheers,
Simon
> On 29/05/2024, at 10:20 AM, Boylan, Ross via R-package-devel <r-package-devel using r-project.org> wrote:
>
> There are at least 4 ways to build a package:
>
> 1. R CMD build
> 2. pkgbuild::build(), which I believe calls 1.
> 3. devtools::build(), which calls 2.
> 4. RStudio GUI, which calls 3.
>
> I recently discovered these don't all behave the same. Invoking bootstrap.R at the start
> requires 2 or greater. And invoking 3 directly produced different behavior than 4,
> apparently because of different defaults for the clean_doc option of 2.
>
> Similar remarks apply to R CMD check.
>
> I'm puzzled by the plethora of tools and options. In particular I had assumed that if check
> and build worked in RStudio, I'd get the same results from R CMD. I assume the latter is
> used on CRAN, and so it would be reasonable to expect the package would build there.
>
> Can anyone help me understand what's going on? More specifically, what are the design
> goals of the different tools. Clearly if devtools::build were the same as pkgbuild:build there
> would be no reason for the former to exist.
>
> Thanks.
> Ross
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>
More information about the R-package-devel
mailing list