Your assumption that .jar files are not allowed is wrong: a number of
packages contain them: rscala, J4R, Rbgs, bartMachine, OpenStreetMap,
... There's a specific mention about how to include them in the CRAN
policy document:
"For Java .class and .jar files, the sources should be in a top-level
java directory in the source package (or that directory should explain
how they can be obtained)."
If you still decide not to include your .jar file (maybe it is too big,
for example), then I think your option 1 is unusable for those people
who can't write to the library location because of permission problems.
(Admin privileges are often necessary to install packages in the main
library.) Generally I think everyone can install packages somewhere,
but users do really get confused when they have multiple library
locations, possibly each containing a different version of a package.
Duncan Murdoch
On 23/06/2020 8:18 a.m., Rainer M Krug wrote:
Hi
I have a package called `plantuml` (https://github.com/rkrug/plantuml) which
converts plantuml code to UML graphs. It uses for this the java program
https://plantuml.com which is Open Source.
As it is not allowed to distribute a binary with an R package, I use the approach of a
function which downloads the jar file into the directory
`system.file("jar/plantuml.jar", package = "plantuml”)`.
This works nicely, and at the moment, the function is called automatically
before the plantuml.jar is used.
Now I would like to submit the package to CRAN. I can’t find the guidelines
anymore, so I am asking here:
What is the appropriate way of handling this?
I can think of a at least two ways of making it obvious to the user, that a
binary is downloaded:
1) if the file plantuml.jar is not present, ask the user to run the function
`updatePlantumlJar()` which downloads the jar to the original location in the
package directory
2) tell the user to download the file manually and to put it somewhere, where
the package will find it
I would prefer the first version, as the plantuml.jar would be in the package
directory, where usually nobody but the package is doing stuff.
Any suggestions on how I could make this “CRAN conform”?
Thanks a lot,
Rainer
--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
UCT), Dipl. Phys. (Germany)
Orcid ID: 0000-0002-7490-0066
Department of Evolutionary Biology and Environmental Studies
University of Zürich
Office Y34-J-74
Winterthurerstrasse 190
8075 Zürich
Switzerland
Office: +41 (0)44 635 47 64
Cell: +41 (0)78 630 66 57
email: rainer.k...@uzh.ch
rai...@krugs.de
Skype: RMkrug
PGP: 0x0F52F982
--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
UCT), Dipl. Phys. (Germany)
Orcid ID: 0000-0002-7490-0066
Department of Evolutionary Biology and Environmental Studies
University of Zürich
Office Y34-J-74
Winterthurerstrasse 190
8075 Zürich
Switzerland
Office: +41 (0)44 635 47 64
Cell: +41 (0)78 630 66 57
email: rainer.k...@uzh.ch
rai...@krugs.de
Skype: RMkrug
PGP: 0x0F52F982
______________________________________________
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