axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Knauf <>
Subject Compilation trouble
Date Sat, 12 Apr 2003 14:19:02 GMT

I have been a user of Axis for quite some time.  I am now considering 
playing around with the latest source.  I have found that the barrier to 
entry for prospective contributors is extraordinarily high.  I am well 
used to checking out and compiling CVS versions of open source projects. 
 Axis has got to be the most difficult one I have encountered recently.

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.

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!

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.

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.

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 included 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.

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 don't mean to sound entirely negative, but this is a real problem that 
I believe would turn off a large proportion of prospective new contributors.



View raw message