Re: More about build.xml

2005-08-14 Thread Jeremias Maerki

On 14.08.2005 00:27:20 J.Pietschmann wrote:
 Hi devs,
 after some cleanup, there are still some things in build.xml
 which irritate me a bit. Mainly it's style. Unfortunately, my
 ant-fu hasn't been updated much since Ant 1.3 was the actual
 version.
 1. IIRC Ant allows property definitions outside tasks sinc,
   umm, 1.4 or so. None of the property definitions in init
   really seem to depend on init-avail. Shouldn't they be
   moved up now?

Just do it. :-)

 2. Should we really set build.compiler?

Probably not needed anymore.

 3. The font name properties (${Courier.xml} etc. seems to be
   used only once, the reason thy have been defined seems to
   be pure text shortening. I'd expand them again.

see 1. :-) ..

 4. Id' like to expand some trivial properties like
   ${textfontencoding} too.
 5. Some controlling properties are still in various tasks:
   schemas.dir in validate-xdocs
   javadoc.* in javadoc
   fop.transcoder* and transcoder-deps in transcoder-pkg
(note the various name inconsistencies)
 6. Name inconsistencies: build.gensrc, build.dest, build.javadoc,
   src.java and src.codegen are all directories but don't have the
   dir suffix like other properties holding directory names. What
   should we do here?

Scratch the itch.

 7. Generally: When should a value referenced through a property?
   Yes, I know the drill:
- Might be overridden by properties loaded from files or the
  environment, in particular by build-local.properties
- Is used multiple times, perhaps scattered all over the place
- Have a single place at the top of the buildfile to change a
  value
   Well, I think abstraction went a bit out of hand in the past (long
   property definition lists in the init target run counter to the
   have the values in a single place for easy changes), and  more
   recent additions seem to have reverted to local definitions, most
   obvious in the transcoder target. There are know directories
   hardcoded in multiple places (e.g. ${build.dir}/test-reports/fop),
   locally coded filesets etc.
   What's our policy?

Policy? Hmm. :-) 

 In particular with regard to the directory layout:
   how stable should it be considered?

Well, I'd say we have more liberty now to change anything than after the
next release. If you see anything that needs fixing, let's fix it. Are
you referring to the build directory only, or also to the src directory,
for example? I'd love to do some changes on the latter but that might
not be extremely popular.

 8. What's the purpose of having lots of properties defined in
   build.xml *and* a few more in build.properties? I suggest moving
   everything to build.xml.

I like stuff likely to be overridden be documented in build.properties
as template for a build-local.properties. I use that pattern a log.
People should simply be able to copy build.properties to
build-local.properties and adjust the values therein without a lot of
searching stuff together.

 Last but not least: the main fop jar currently doesn't include the
 fop.xconf file nor serialized hyphenation patterns. Is this by design?

I think the hyphenation patterns were supposed to be in the fop-hyph.jar
which can be used or replaced by the one offered by OFFO. AFAIK, there's
no need for a fop.xconf to be compiled into the fop.jar anymore with the
Avalon, uhm, Excalibur-style configuration. I wonder how many people
actually used the possibility to compile the configuration into the JAR
file. This seems very unflexible to me.


Jeremias Maerki



Re: More about build.xml

2005-08-14 Thread Jeremias Maerki
Not a bad idea, I think. Jörg?

On 14.08.2005 04:43:29 Manuel Mall wrote:
 One minor item to add. I have modified my local build.xml to include 
 source=1.3 in the javac element. This means the bytecode my Java 5.0 
 environment generates at least runs under 1.4 and 1.3. This mainly 
 helps me to switch between 5.0 and 1.4 without having to recompile. I 
 wonder if this change should go into svn?



Jeremias Maerki



Re: More about build.xml

2005-08-14 Thread J.Pietschmann

Jeremias Maerki wrote:
1. IIRC Ant allows property definitions outside tasks 

Just do it. :-)


Well, there's still my antiquated ant-fu... I'd like to tap the
collective wisdom, just in case I missed something important.


In particular with regard to the directory layout:
 how stable should it be considered?

Well, I'd say we have more liberty now to change anything than after the
next release. If you see anything that needs fixing, let's fix it.


The point was: if pathnames are hardcoded all over build.xml,
moving stuff around might unintentionally break some targets,
as happened with the hyphenation stuff. If the directory layout
is stable, there's much more freedom to kill properties for
directory layout control.


I like stuff likely to be overridden be documented in build.properties
as template for a build-local.properties. I use that pattern a log.
People should simply be able to copy build.properties to
build-local.properties and adjust the values therein without a lot of
searching stuff together.


Well, I seem to have recognized a trend that a sensible default is
hardcoded in the main program (or buildfile), while property files
for user customization contain documentation and sample values
for overridable settings but everything is commented out.


I think the hyphenation patterns were supposed to be in the fop-hyph.jar
which can be used or replaced by the one offered by OFFO. AFAIK, there's
no need for a fop.xconf to be compiled into the fop.jar anymore with the
Avalon, uhm, Excalibur-style configuration. I wonder how many people
actually used the possibility to compile the configuration into the JAR
file. This seems very unflexible to me.


I see. It seems I killed the fop-hyph.jar target prematurely.
Is the spin off of the serialized hyphenation patterns the
start of a trend which will end with a fop-core.jar, fop-api.jar,
fop-pdfrenderer.jar, fop-j2drenderer.jar, fop-awt-application.jar,
fop-cli.jar, fop-anttask.jar and, of course, a fop-all.jar? :-)

J.Pietschmann


Re: More about build.xml

2005-08-14 Thread Jeremias Maerki

On 14.08.2005 19:43:36 J.Pietschmann wrote:
 Jeremias Maerki wrote:
 1. IIRC Ant allows property definitions outside tasks 
  Just do it. :-)
 
 Well, there's still my antiquated ant-fu... I'd like to tap the
 collective wisdom, just in case I missed something important.

I'd have said if I had stumbled over anything that sounded weird. Anyway,
like you already found out, I neglected to update the build.xml after
upgrading the JAR files. I'm sorry for that. But it immediately shows
that the dist target is probably the best test case for the build. If
that creates the right stuff, the build is fine. And then, we have peer
review which will cause problems to be identified quickly.

 In particular with regard to the directory layout:
   how stable should it be considered?
  Well, I'd say we have more liberty now to change anything than after the
  next release. If you see anything that needs fixing, let's fix it.
 
 The point was: if pathnames are hardcoded all over build.xml,
 moving stuff around might unintentionally break some targets,
 as happened with the hyphenation stuff. If the directory layout
 is stable, there's much more freedom to kill properties for
 directory layout control.

I'm sorry but I still don't seem to see the point. If directories are
changed the build simply has to be adjusted. Obviously, changing the
project directory structure will always need some feedback from fellow
devs first. If a change has broken the build in anyway, it simply needs
fixing.

  I like stuff likely to be overridden be documented in build.properties
  as template for a build-local.properties. I use that pattern a log.

fx type=head-shaking..a log. When will I finally start to reread
the stuff I typed./fx

  People should simply be able to copy build.properties to
  build-local.properties and adjust the values therein without a lot of
  searching stuff together.
  
 Well, I seem to have recognized a trend that a sensible default is
 hardcoded in the main program (or buildfile), while property files
 for user customization contain documentation and sample values
 for overridable settings but everything is commented out.

Fine with me. Some values (especially paths to optional resources) need
to be easily found and used and sometimes overridden.

  I think the hyphenation patterns were supposed to be in the fop-hyph.jar
  which can be used or replaced by the one offered by OFFO. AFAIK, there's
  no need for a fop.xconf to be compiled into the fop.jar anymore with the
  Avalon, uhm, Excalibur-style configuration. I wonder how many people
  actually used the possibility to compile the configuration into the JAR
  file. This seems very unflexible to me.
 
 I see. It seems I killed the fop-hyph.jar target prematurely.

I'd say so, yes. :-)

 Is the spin off of the serialized hyphenation patterns the
 start of a trend which will end with a fop-core.jar, fop-api.jar,
 fop-pdfrenderer.jar, fop-j2drenderer.jar, fop-awt-application.jar,
 fop-cli.jar, fop-anttask.jar and, of course, a fop-all.jar? :-)

I don't think so, at least not to this extent for FOP itself. This is
simply good for hyphenation where there are two alternatives to choose
from both of which are optional. For library stuff like the components
to be moving to XML Graphics Commons this is more interesting because
many of these components can be used in a context outside of XSL-FO. On
the other side, providing a sleaker FOP with the renderers and foreign
XML extensions, for example, in separate JARs, automatically discovered,
just like external extensions are now, would certainly be interesting
for people using FOP in applets or WebStart apps, or simply for
pluggability fanatics like I am. :-) But I think these should be
alternatives in separate optional Ant targets. Just like I imagine this
to happen in XML Graphics Commons which will probably be distributed as
a single JAR in the normal case. After all, many people are afraid of or
at least uncomfortable with many little JARs. Well, it can be hard after
all.


Jeremias Maerki



Re: More about build.xml

2005-08-14 Thread Simon Pepping
On Sun, Aug 14, 2005 at 07:43:36PM +0200, J.Pietschmann wrote:
 Jeremias Maerki wrote:
 I think the hyphenation patterns were supposed to be in the fop-hyph.jar
 which can be used or replaced by the one offered by OFFO. AFAIK, there's
 no need for a fop.xconf to be compiled into the fop.jar anymore with the
 Avalon, uhm, Excalibur-style configuration. I wonder how many people
 actually used the possibility to compile the configuration into the JAR
 file. This seems very unflexible to me.
 
 I see. It seems I killed the fop-hyph.jar target prematurely.
 Is the spin off of the serialized hyphenation patterns the
 start of a trend which will end with a fop-core.jar, fop-api.jar,
 fop-pdfrenderer.jar, fop-j2drenderer.jar, fop-awt-application.jar,
 fop-cli.jar, fop-anttask.jar and, of course, a fop-all.jar? :-)

In spring of this year it was proposed that all hyphenation patterns
be removed from fop and only be made available by OFFO. In fact, the
same old set is still in xml-fop/src/hyph.

Users could put their hyphenation patterns in xml-fop/hyph. The
hyphenation target uses this directory. If it is empty, no hyphenation
patterns will be compiled. The patterns in xml-fop/src/hyph are not
used.

hyphenation-jar collects the patterns in xml-fop/build/hyph in a separate
jar file, to preserve independence of fop.

In fact I offer ready made hyphenation jars in OFFO,
http://prdownloads.sourceforge.net/offo/offo-hyphenation-fop-HEAD.zip?download. 

Simon

-- 
Simon Pepping
home page: http://www.leverkruid.nl



Re: More about build.xml

2005-08-14 Thread Jeremias Maerki
Damn. Right. Bloody details. Does anyone know where I can get a decent
brain upgrade or replacement? Anybody been lucky on ebay or something
like that? I hate forgetting stuff like that all the time.

On 14.08.2005 21:56:21 Simon Pepping wrote:
 On Sun, Aug 14, 2005 at 07:43:36PM +0200, J.Pietschmann wrote:
  Jeremias Maerki wrote:
  I think the hyphenation patterns were supposed to be in the fop-hyph.jar
  which can be used or replaced by the one offered by OFFO. AFAIK, there's
  no need for a fop.xconf to be compiled into the fop.jar anymore with the
  Avalon, uhm, Excalibur-style configuration. I wonder how many people
  actually used the possibility to compile the configuration into the JAR
  file. This seems very unflexible to me.
  
  I see. It seems I killed the fop-hyph.jar target prematurely.
  Is the spin off of the serialized hyphenation patterns the
  start of a trend which will end with a fop-core.jar, fop-api.jar,
  fop-pdfrenderer.jar, fop-j2drenderer.jar, fop-awt-application.jar,
  fop-cli.jar, fop-anttask.jar and, of course, a fop-all.jar? :-)
 
 In spring of this year it was proposed that all hyphenation patterns
 be removed from fop and only be made available by OFFO. In fact, the
 same old set is still in xml-fop/src/hyph.
 
 Users could put their hyphenation patterns in xml-fop/hyph. The
 hyphenation target uses this directory. If it is empty, no hyphenation
 patterns will be compiled. The patterns in xml-fop/src/hyph are not
 used.
 
 hyphenation-jar collects the patterns in xml-fop/build/hyph in a separate
 jar file, to preserve independence of fop.
 
 In fact I offer ready made hyphenation jars in OFFO,
 http://prdownloads.sourceforge.net/offo/offo-hyphenation-fop-HEAD.zip?download.
  
 
 Simon
 
 -- 
 Simon Pepping
 home page: http://www.leverkruid.nl



Jeremias Maerki



Re: More about build.xml

2005-08-14 Thread J.Pietschmann

Simon Pepping wrote:

In spring of this year it was proposed that all hyphenation patterns
be removed from fop and only be made available by OFFO.


I must have missed something: FOP is supposed to be distributed
without any hyphenation patterns at all?

I support augmentation by external projects, but we ought to
support hyphenation out of the box at least for a few languages.
After all, hyphenation is part of the FOP core business, in
contrast to, e.g., providing a servlet.

J.Pietschmann


Re: More about build.xml

2005-08-14 Thread Jeremias Maerki
Now that I got my memory back, I was actually the one starting the vote
to remove all this:

http://marc.theaimsgroup.com/?l=fop-devm=111079476222548w=2
http://marc.theaimsgroup.com/?t=111558789900011r=1w=2

I got tired of dealing with the licensing hell on hyphenation patterns.
I hated this so much I even unconciously banned all this from my brain.
D'oh.

On 14.08.2005 22:55:24 J.Pietschmann wrote:
 Simon Pepping wrote:
  In spring of this year it was proposed that all hyphenation patterns
  be removed from fop and only be made available by OFFO.
 
 I must have missed something: FOP is supposed to be distributed
 without any hyphenation patterns at all?
 
 I support augmentation by external projects, but we ought to
 support hyphenation out of the box at least for a few languages.
 After all, hyphenation is part of the FOP core business, in
 contrast to, e.g., providing a servlet.
 
 J.Pietschmann



Jeremias Maerki



Re: More about build.xml

2005-08-13 Thread Manuel Mall
One minor item to add. I have modified my local build.xml to include 
source=1.3 in the javac element. This means the bytecode my Java 5.0 
environment generates at least runs under 1.4 and 1.3. This mainly 
helps me to switch between 5.0 and 1.4 without having to recompile. I 
wonder if this change should go into svn?

Manuel

On Sun, 14 Aug 2005 06:27 am, J.Pietschmann wrote:
 Hi devs,
 after some cleanup, there are still some things in build.xml
 which irritate me a bit. Mainly it's style. Unfortunately, my
 ant-fu hasn't been updated much since Ant 1.3 was the actual
 version.
 1. IIRC Ant allows property definitions outside tasks sinc,
   umm, 1.4 or so. None of the property definitions in init
   really seem to depend on init-avail. Shouldn't they be
   moved up now?
 2. Should we really set build.compiler?
 3. The font name properties (${Courier.xml} etc. seems to be
   used only once, the reason thy have been defined seems to
   be pure text shortening. I'd expand them again.
 4. Id' like to expand some trivial properties like
   ${textfontencoding} too.
 5. Some controlling properties are still in various tasks:
   schemas.dir in validate-xdocs
   javadoc.* in javadoc
   fop.transcoder* and transcoder-deps in transcoder-pkg
(note the various name inconsistencies)
 6. Name inconsistencies: build.gensrc, build.dest, build.javadoc,
   src.java and src.codegen are all directories but don't have the
   dir suffix like other properties holding directory names. What
   should we do here?
 7. Generally: When should a value referenced through a property?
   Yes, I know the drill:
- Might be overridden by properties loaded from files or the
  environment, in particular by build-local.properties
- Is used multiple times, perhaps scattered all over the place
- Have a single place at the top of the buildfile to change a
  value
   Well, I think abstraction went a bit out of hand in the past (long
   property definition lists in the init target run counter to the
   have the values in a single place for easy changes), and  more
   recent additions seem to have reverted to local definitions, most
   obvious in the transcoder target. There are know directories
   hardcoded in multiple places (e.g.
 ${build.dir}/test-reports/fop), locally coded filesets etc.
   What's our policy? In particular with regard to the directory
 layout: how stable should it be considered?
 8. What's the purpose of having lots of properties defined in
   build.xml *and* a few more in build.properties? I suggest moving
   everything to build.xml.

 Last but not least: the main fop jar currently doesn't include the
 fop.xconf file nor serialized hyphenation patterns. Is this by
 design?

 J.Pietschmann