You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Steve Loughran <st...@iseran.com> on 2003/04/12 07:30:18 UTC

Re: Compilation trouble

----- Original Message -----
From: "Aaron Knauf" <ak...@xtra.co.nz>
To: <ax...@ws.apache.org>
Sent: Saturday, April 12, 2003 07:19
Subject: Compilation trouble


>
> I checked out the axis source from CVS and was disapointed to find that
> it does not compile.  After reading the docs on the wesite (including
> the developers' guide) I was no closer to compilation.

Sorry to hear that.

>
> It took me about an hour to track to th libraries necessary to make the
> build.xml::compile target execute sucessfully.  It has taken me 2 more
> hours to determine that getting the source to compile in my IDE is just
> too hard.  This is because an IDE tries to compile the entire source
> tree, whereas the build script filters out several parts.  You might
> argue that the build script is the canonical definition of "does
> compile" vs "does not compile", but I for one will not consider working
> on a project that does not compile in my IDE - even in my day job!

Do you have an IDE that doesnt let you invoke Ant? You should try Eclipse or
IDEA; refactoring makes it all better. Axis is not designed to build in an
IDE without Ant, as patternsets control which thngs to build.

>
> In the spirit of open source projects I looked in to what it would take
> to fix this problem.  I found that the main problem is that a large
> amount of plugin code is included in the main source tree, making it
> necessary to obtain a huge number of external libs to put on the
> classpath.  The most appropriate way to address to problem is to move
> plugin code to the addons directory.

More core is we need a better add-on architecture, from which the code can
fall in.

>
> This is not something that a newcomer to the project can really fix.
>  Even trying to work around the problem for myself is difficult, as I
> would need to delete all the unnecassary classes from the source tree.

Stop trying to build in an IDE. Embrace Ant -its there to make your life
consistent with everyone else, and to automatically exclude bits of the
source tree when the libraries they need are missing.

Ant-in-IDE works just fine for me.

NB: If you think Axis has a lot of external dependencies, you try building
Ant itself. That one needs some classes built on Java1.4, the rest on
Java1.3 (for backwards compatibility).

>
> Here is a list of some of the plugin code that is in the main source
> tree, but not necessary for normal operation of axis:
> *    SonicMQ adapter
> *    IBM JSSE adapter
> *    Caster Serializer
> *    Commons HTTP-Client based HTTP sender
> *    Mail transport
>

> A secondary issue is that the libraries required for ant compilation are
> not include with the distribution - nor are they listed anywhere.  The
> build script lists some libs as required and others as optional.
>  Several that are listed as optional are actually required.

We celebrate improved documentation :) Seriously, fix the docs, send the
patches. Its hard to keep them up to date.

>
> Unless the prospective contributor recognises the package names of the
> missing libraries, there is no way to know which ones are required!
>  Although I do recognise most of them, there is absolutely no way to
> know which versions are necessary.  (Using the latest JSSE, for example,
> does not work.)

I didnt know that. But then I probably dont build with JSSE as ant excludes
the bits I dont care about (like JMS).

-steve