Date: Fri, 9 Apr 2004 08:37:46 +0200 From: Herve Quiroz <herve.quiroz@esil.univ-mrs.fr> To: freebsd-java@freebsd.org Subject: Re: Why are we building 100% java projects... Message-ID: <20040409063746.GA43513@arabica.esil.univ-mrs.fr> In-Reply-To: <1081472169.332.8.camel@fast.mmercer.com> References: <1081471971.332.5.camel@fast.mmercer.com> <1081472169.332.8.camel@fast.mmercer.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Michael, That's a interesting issue, that has already been discussed on this list many times. The last time I was the originator of such a question: http://lists.freebsd.org/pipermail/freebsd-java/2003-November/001098.html Actually I agree with you in the sense of Java is build once, run anywhere. So why not installing/using provided JARs ? But then binary ports exists: they are called packages... ;) Anyway, I recently tried to port/fix some stuff that poses a lot of problems when built from source, such as Jakarta Commons Logging. Indeed, if you build commons-logging with JDK1.4, it will build (and pack in the JAR) JDK 1.4 Logging API support, and the same goes for LOG4J and Avalon LogKit. But then if you build it with JDK 1.3, then install JDK 1.4, your users would expect to have JDK 1.4 support (reading from the Jakarta website, they would consider support for 1.4 is there as they are actually using JDK 1.4), which is not the case. For this particular port, I sent a PR some time ago, using the OPTIONS (WITH_*/WITHOUT_* knobs) macros to enforce dependencies installlation as well. I also suggested using some kind of PKGNAME_SUFFIX to let users know about which support is installed. But that's quite a pain to port/fix/manage/use so I don't know if it's worth it actually. Anyway, my position here is quite questionable, as I initally advocated for source port but mostly maintain binary ones (trove4j, commons-primitives, jakarta-log4j...). Regardless, what I really don't like with binary ports is that they are usually packed with all JARs (even Ant and JUnit sometimes) which means the distfiles get bigger while we have the JAR dependencies available and installed via the ports system anyway. But that's also a much debated issue on this list: should each Java library or application be installed as a self-contained package (that is with all needed JARs) or use the ports system to get required JARs installed ? On this particular issue, someone recently posted a message on this list about a project to unify Java library release/packaging methods. I'm am too lazy at the moment to provide the link but I am sure you will find it the archives easily. Back to the source/binary issue: people have different opinions on the subject but most of us think that the most important point would be to have a common way of dealing with Java ports. Furthermore, as we are planning to update (actually fill as it's empty ATM) the Java section of the porter's handbook, maybe it's time to discuss this (again) and decide something. Herve On Thu, Apr 08, 2004 at 08:56:09PM -0400, Michael E. Mercer wrote: > After reading my own post, let me further explain... > > There are a number of projects at Jakarta.apache.org that are part of > freebsd ports. They are 100% Java. > Why build them from scratch when all you need to do is install the > binary. > > Build once, run anywhere... ring a bell? > > later > Michael
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040409063746.GA43513>