> On 13 Jul 2020, at 11:31, Paul SAVARY <paul.sav...@univ-fcomte.fr> wrote:
> 
> Thanks you too.
> 
> That is also what I am doing. Note that I am downloading jar files into a 
> directory created in rappdirs::user_data_dir() using the command 
> download.file(url, ...).

Jup - exactly.

> 
> If I do not specify 'mode='wb'' in download.file() on a Windows OS, 
> downloaded jar file is corrupted and cannot be used because a text file is 
> created in which \n are converted into \r\n, which does not make sens for a 
> binary file.

Yes - the `mode = “wb”` bit me as well - developing on MacOS, testing on travis 
on GitHub with Linux and Mac,, and what did I get, a corrupt jar on windows.

Thanks,

Rainer

> 
> I hope it can help
> Cheers
> 
> Paul Savary - PhD Student
> UMR 6049 ThéMA (Besançon), UMR 6282 Biogéosciences (Dijon), ARP-Astrance 
> (Paris) 
> Phone number : +33.6.30.97.34.27 
> Research topics: population genetics, landscape ecology, graph theory, 
> spatial statistics
> 
> ----- Mail original -----
> De: "Rainer M Krug" <rai...@krugs.de>
> À: "Maëlle SALMON" <maelle.sal...@yahoo.se>
> Cc: "r-package-devel" <r-package-devel@r-project.org>
> Envoyé: Lundi 13 Juillet 2020 11:15:10
> Objet: Re: [R-pkg-devel]  Proper CRAN way - How to handle dependency of java 
> jar file?
> 
> Thanks Maëlle - that is exactly what I am doing at the moment.
> 
> Cheers,
> 
> Rainer
> 
> 
>> On 13 Jul 2020, at 08:17, Maëlle SALMON <maelle.sal...@yahoo.se> wrote:
>> 
>> Regarding where to save the jar file, you might be interested in "app dirs" 
>> (via tools::R_user_dir() in R from 4.0, the rappdirs package, the hoardr 
>> package) cf 
>> https://blog.r-hub.io/2020/03/12/user-preferences/#not-so-temporary-files3
>> 
>> Maëlle.
>> 
>> Den tisdag 23 juni 2020 14:56:30 CEST, Rainer M Krug <rai...@krugs.de> 
>> skrev: 
>> 
>> 
>> 
>> 
>> 
>> Thanks Duncan.
>> 
>>> On 23 Jun 2020, at 14:35, Duncan Murdoch <murdoch.dun...@gmail.com> wrote:
>>> 
>>> 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:
>> 
>> That’s good to know.
>> 
>>> 
>>> "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)."
>> 
>> So a tet file in the inst/jar directory giving the link to the GitHub repo 
>> would be fine in this case?
>> 
>>> 
>>> If you still decide not to include your .jar file (maybe it is too big, for 
>>> example),
>> 
>> 
>> I guess it would be stretching it a bit, as the jar file is 8.2 MB, and 
>> plantuml has regular continuous updates, so I would prefer to keep it 
>> dynamic.
>> 
>> 
>>> 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.
>> 
>> So the suggested option would be to have a function, which 
>> 1) ask the user to create a directory in the home folder 
>> 2) download the jar file into that directory or, when no permission is 
>> granted, into the tmpdir()
>> 
>> Thanks, no major changes necessary for that,
>> 
>> Rainer
>> 
>> 
>>> 
>>> 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
>>> 
>> 
>> --
>> 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
>> 
>> 
>> 
>> 
>>    [[alternative HTML version deleted]]
>> 
>> 
>> ______________________________________________
>> R-package-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
> 
> --
> 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
> 
> 
> 
> 
>       [[alternative HTML version deleted]]
> 
> ______________________________________________
> R-package-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel

--
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




        [[alternative HTML version deleted]]

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

Reply via email to