R package with Java source code
On Apr 16, 2013, at 11:35 AM, Adrian Trapletti wrote:
On 04/16/2013 04:42 PM, Simon Urbanek wrote:
On Apr 16, 2013, at 9:56 AM, Adrian Trapletti wrote:
I don't really like the approach which ship the redundant jar files unless it is a "precompiled binary" distribution of a package.
What do you mean by "redundant"?
jars are often not under version control because of their redundancy and all the resulting problems.
Yes, you certainly don't want them under version control - you said yourself "ship" which is the built source tar ball, not your repository ;).
Your package won't work without them ...
:-) yes, I know this (> 20 years of experience with Java, slightly less with R).
In the meantime I found the following suggestion http://romainfrancois.blog.free.fr/index.php?post/2009/03/26/Hello-Java-World which is close to what I was thinking of.
Well, that's in essence what has been suggested. The point is that *you* have to run build before you publish the package to create the jar file, it can't be done at install time for reasons explained.
My question was not very precise. In fact I wanted to ask about Java source code compilation during the build step.
Yes. Given that this is done under your control, there is not much support you need from R. The preferred setup is very individual (e.g. I avoid ant in my Java packages), so I don't think it's R's place to step in at that stage. I did consider adding some primitives, but given the individuality I just opted for conventions (like inst/java as a distribution place). Cheers, Simon
Best regards Adrian
Cheers, Simon
Anyhow thanks for the comments. Best regards Adrian On 04/16/2013 01:44 PM, Prof Brian Ripley wrote:
On 16/04/2013 12:20, Adrian Trapletti wrote:
Dear All, Are there any plans around that "R CMD INSTALL some_package_containing_java_source code" supports Java source code compiling in future versions of R similar to compiling C/C++ and/or Fortran sources in the src directory? Best regards Adrian
No. A Java 'compiler' is not required, but if one is available is it is set in etc/Makeconf as JAVAC. There are many packages which ship jar files with 'compiled' Java code, and others with .class files. It is hard to see a case for compiling at install time rather than when preparing the package. But it would be easy to write a suitable rule in src/Makevars. Note that most systems will not have a JDK, only a JRE. That includes Windows systems, but winbuilder should be able to prepare a binary package (it needs a JDK to install rJava, JavaJD ...). One needs to be slightly careful with Java version requirements. AFAIR OS X Leopard systems only had 1.5 (at least for one of the architectures) and R 2.15.x still supported Leopard (and packages are still being built for it). Systems with Java 1.6 aka 6 are still in widespread use, even if it past end-of-life according to Oracle.
-- Dr. Adrian Trapletti Steinstrasse 9b CH-8610 Uster Switzerland Phone : +41 (0) 44 9945630 Mobile : +41 (0) 79 1037131 Email : adrian at trapletti.org WWW : www.trapletti.org
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
-- Dr. Adrian Trapletti Steinstrasse 9b CH-8610 Uster Switzerland Phone : +41 (0) 44 9945630 Mobile : +41 (0) 79 1037131 Email : adrian at trapletti.org WWW : www.trapletti.org