On Monday, Sep 29, 2003, at 22:52 Europe/Rome, Jeff Ramsdale wrote:
-----Original Message----- From: Stefano Mazzocchi [mailto:[EMAIL PROTECTED]
<snip>
2) Unified packaging requirements. Again, blocks will require some consistency in regards to packaging requirements. Things like the standard MANIFEST.MF tags, locations of configuration files, etc. We can create an ANT task to do all this, but then you also have to worry about getting people to install and use it.
sorry, I don't get it. <copy> and <zip> can do everything we need. The block metadata files will have to be human edited anyway.
I was curious about this a few weeks ago so I did an experiment in
automating the build of a Fins (the charting package) block into Cocoon.
I'll include my build.xml for context. The experiment was mostly successful
(though I've never heard back from the Fins developers I sent it to), with a
couple of caveats. I'm sure Blocks: The Next Generation will be more
complicated than the current blocks but the techniques at the ANT level will
undoubtedly be similar.
There is a general "purist" attitude of ant users not to write your own java tasks but to complicate the build.xml file. I am, personally, in favor of writing code when it makes sense to (like for the xpatch ant task we have)
I think we'll end up doing the same for the block, expecially for the coordination with the block descriptors (reading/writing) and block librarian (discovery/fetching/metadata)
Basically I automated as best I could the Fins install instructions at
http://www.sidimar.ipzs.it/fins011/docs/install.html. I used ANT to get and
unzip the JFreeChart jars that Fins requires. I used xpatch to modify the
block metadata files. I tried to use the patch task in ANT to modify
blocks.properties. There isn't a Java (i.e. portable) implementation of
patch available, though, so the ANT task depends on an executable.
There's one big question at the core of this, at least for the Fins example.
That is, is it allowable by JFreeChart's LGPL license to code an automated
build like this? I believe that it is, but I'm no licensing expert and I
recognize that there are differences in interpretation. (Context: Fins is
Apache/BSD and JFreeChart is LGPL; Fins provides the Cocoon interface to JFC
which is a standalone Java charting package)
The fact that modifications are done by hand or automatically doesn't make any difference.
The fact that you are distributing a modified LGPL library requires that the patches you apply are under LGPL as well, but only those (if you stick one interpretation of LGPL that is not viral for java classes that import LGPLed ones. in another interpretation, there is no difference between LGPL and GPL for java code... nobody knows which interpretation can be said correct and the FSF never issued a statement that can be said official on this matter)
-- Stefano.
