[Qt-jambi-interest] Should I merge the build branch into the master branch?

Francis Galiegue fgaliegue at gmail.com
Mon Dec 21 11:06:36 CET 2009


On Sun, Dec 20, 2009 at 9:41 PM, Helge Fredriksen <hf at poseidon.no> wrote:
>
>> No, you need to install it and have it in your classpath (or ant lib
>> directory). I cannot bundle ant-contrib because of licensing issues.
>>
>>
> I see. Are you sure this is the case? I've seen other java projects bundling
> packages like dom4j, log4j etc. in the package. As long as we don't
> do anything with ant-contrib itself, or integrate the source directly in
> qt-jambi, I cannot see why it shouldn't be allowed to put a copy in the
> qtjambi repos to ease compilation?
>

dom4j, log4j, etc are not LGPL. Honestly, I'm not 100% sure whether
this restriction applies. This was discussed some time ago on the list
and Eskil was against including the binary. I have queried both the
ant-contrib developers and the SFLC at the time but didn't get an
answer.

I have a workaround for this: I can modify the build system to check
whether ant-contrib is present in a subdirectory of the build tree,
fail and tell where to download it otherwise. That's the easy solution
for me, and a pain in the <beep> for the user. Or better, I can write
a Java program to download it directly into this directory if it
doesn't exist. That's less easy for me, easy for the users, and it's
doable.

> Derailing: On open source operating systems, wouldn't it be great if
> there were a system CLASSPATH where all the package installed
> jars were put (just like /usr/lib for C++/C libs). Something like
> /usr/jars. Guess though that there had to be a script launced at
> some init level that populated the CLASSPATH based on the jars
> found in that directory.
>
> Is this an absolutely mad idea, do it exist something like this already,
> or isn't it feasible for some reason? Would be quite easy to make such
> a package, I guess...
>

There's jpackage for Linux and its build-classpath{,-directory}
commands (I do export CLASSPATH=$(build-classpath ant-contrib)), but
it's Linux only. The closest to a generic system is maven, which has
all the mechanism in place already to download the missing jars
automatically. But adding maven as a dependency is, well... Kind of
hellish: you have to adapt your whole project, and this is not easily
done.

-- 
Francis Galiegue, fgaliegue at gmail.com
"It seems obvious [...] that at least some 'business intelligence'
tools invest so much intelligence on the business side that they have
nothing left for generating SQL queries" (Stéphane Faroult, in "The
Art of SQL", ISBN 0-596-00894-5)




More information about the Qt-jambi-interest mailing list