Am 16.05.24 um 11:34 schrieb Duncan Murdoch:
On 2024-05-16 4:15 a.m., Sebastian Meyer wrote:
Am 15.05.24 um 00:09 schrieb Lluís Revilla:
Hi Junhui,

There is a separate log for checking if your package works without
suggested packages: in the StepReg results
The noSuggests title leads to:
https://www.stats.ox.ac.uk/pub/bdr/noSuggests/StepReg.out
Where you can see that it fails if a user don't have BiocStyle installed. I don't know if it is possible to use a vignette output conditionally with
knitr: In any case it seems that it would be a requirement (Imports, or
Depends).

Yes, I'd consider the package providing the vignette output format for
the rmarkdown engine, here BiocStyle, as a strong dependency of that
vignette.

It is documented in WRE as a soft dependency of the package: "As Sweave is the only engine supplied with the R distribution, the package providing any other engine must be specified in the ‘VignetteBuilder’ field of the package DESCRIPTION file, and also specified in the ‘Suggests’, ‘Imports’ or ‘Depends’ field (since its namespace must be available to build or check your package)."

I forget now, but presumably the thinking at the time was that Suggested packages would always be available for building and checking vignettes.

With most soft dependencies, it's up to the package writer to handle the possibility that it is missing, but here, I think it has to be the check code that does it, skipping the vignette test if the builder is missing.

Yes, re-building vignettes is skipped when a VignetteBuilder package is unavailable.

In the present case, the VignetteBuilder package that provides the engine is knitr and BiocStyle is used for an alternative rmarkdown output format. Not sure if the latter should be declared as an additional VignetteBuilder even if it does not provide the vignette engine, but you are right that it comes very close.


Alternatively, it could be required to be a hard dependency, but that seems too strong:  most package users don't need to rebuild vignettes.

Agreed. Declaring it as part of the vignette's \VignetteDepends is what I'd do to solve the check issue.

        Sebastian Meyer


Duncan Murdoch


  The error from the additional "noSuggests" check
(<https://www.stats.ox.ac.uk/pub/bdr/noSuggests/README.txt>) shows it
cannot be rebuild if BiocStyle is unavailable.

The 'StepReg' vignette could use a metadata line to declare strong
vignette dependencies, for example:

      %\VignetteDepends{StepReg, BiocStyle, kableExtra}

(I haven't checked if this list is complete.)

This avoids spurious check errors in incomplete setups, such as when
mass-checking packages (e.g., reverse dependencies) without some of the
suggested packages being installed.

Best,

    Sebastian Meyer


However, it is best to not use the Bioconductor style for a package in
CRAN.
You could use the *_vignette or *_document format directly (from rmarkdown
if I recall correctly).
You will remove a dependency and avoid this problem entirely.

Best,

Lluís


On Tue, 14 May 2024 at 22:48, Li, Junhui <junhui.l...@umassmed.edu> wrote:

Hi everyone,

I recently developed an R package called 'StepReg' and used the
Bioconductor R package 'BiocStyle' in my vignettes, as shown below:

output:
    BiocStyle::html_document:
      toc_float: true
    BiocStyle::pdf_document: default

In my DESCRIPTION file, I added 'BiocStyle' to the Suggests field and
included a new line 'biocViews:', as follows:

VignetteBuilder: knitr
biocViews:
Suggests:
      knitr,
      testthat,
      BiocStyle,
      kableExtra

You may find all those information here:
https://github.com/JunhuiLi1017/StepReg/tree/dev

There were no error messages when checking with 'R CMD check' and on
https://win-builder.r-project.org/upload.aspx. However, an error message
occurred when I attempted to upload it to CRAN:

* checking re-building of vignette outputs ... ERROR
Error(s) in re-building vignettes:
--- re-building 'StepReg.Rmd' using rmarkdown
Error: processing vignette 'StepReg.Rmd' failed with diagnostics:
there is no package called 'BiocStyle'
--- failed re-building 'StepReg.Rmd'

SUMMARY: processing the following file failed:
     'StepReg.Rmd'

Error: Vignette re-building failed.
Execution halted

For version 1.5.0 (
https://cran.r-project.org/web/packages/StepReg/index.html), I
successfully uploaded it to CRAN without including 'biocViews:' in the
DESCRIPTION file two months ago. However, I'm encountering difficulties
this time. Any insights or suggestions on resolving this issue would be
greatly appreciated.

Thanks,
Junhui

          [[alternative HTML version deleted]]

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


    [[alternative HTML version deleted]]

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel


______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to