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