[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Fwd: Re: [architecture] Re: JPackages and ObjectWeb]



Le lun, 02/02/2004 à 23:28 +0100, Jan Schulz a écrit :
> Hallo David,
> 
> * David Walluck wrote:
> >``Make specifying the build classpath easy using either command line 
> >switches of property files (and document it).''
> >currently we use `export CLASSPATH', how does this fit in? Note that a 
> >build.xml using only properties cannot easily be used with our
> >`build-classpath' script.
> 
> I think it means that you should NOT use hardcoded path, but expose
> such path to the buildscripts options.
> 
> So instead of writing 
> <javac ... classpath="c:\xerces.jar;..." .../>
> 
> write
> <property name="xerces.jar" value="c:\xerces.jar"/>
> [...]
> <javac ... classpath="${xerces.jar};..." ... />
> 
> This way you can overwrite the xerces location without patching the
> build file.

Yup. it's real easy to generate a correct property file with current jpp
setup :

/bin/cat build.properties << EOF_PROP
jsse.libs=$(build-classpath jsse)
javamail.libs=$(build-classpath javamail)
test.libs=$(build-classpath junit xerces-j2 httpunit)
EOF_PROP

This is actually easier to use than CLASSPATH since you can specify
paths that will be used during different phases of the build instead of
forcing a single value for everything.

[...]

> >For #8:
> >We should add that all jars should have a manifest (but without 
> >Class-Path). Ant can autogenerate a manifest, or does, I forget?
> 
> BTW: I never yet touched Manifests, what are they actually for? :)

Manifests are a child of java applets. Sun needed a place to put
metadata info like classpathes in single-jar applets and thus Manifests
were born.

They are mostly useless in a non applet context.

> >For #9:
> >I'm not sure how this applies to most developers, or even developers of 
> >tomcat for example, as they aren't going to have `ant install' use this 
> >layout
> 
> The problem is, that upstream isn't aware of it. Currently eclipse has
> to make use of a lot of symlinks. Just because it assumes, that native
> libraries are in a subdirectory of eclipse, which is itself located in
> /usr/share...

Actually, we do not need an ant install, since *we* decide were the
files go on the system. However, having the app aware they will end up
in different parts of the filesystem (and not use ../lib tricks) helps a
lot.

> >For #12:

[...]

Some points I forgot but I agree with - care to add them to the
writeup ?

And yes we are redefining traditional C/C++/Perl/Python rules, but with
Java people deciding to ignore the past (it's system specific) and re-
enacting past errors (like Maven) I'm afraid we have little choice.

-- 
Nicolas Mailhot

Attachment: signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=


Reply to: