Hello folks,

I have recently posted to this list asking if dom4j is still  
maintained. Unfortunately it is not actively maintained at the  
moment, due to a lack of time from the main developers. This has  
resulted in the facts that dom4j currently

   - can't compile with Java 1.5 because of changes in the W3C DOM  
API that
     comes with Java 1.5
   - does not support Java 1.5 generics which causes annoying  
warnings when
     integrating with with Java 1.5 projects (aside from the  
traditional amount
     of type-casting that we all got used to)

A friendly Sourceforge-user by name of Stefan Haustein (SF-ID:  
haustein) has provided a patch offering a remedy to both of the above  
problems by implementing the new W3C API as a dummy that throws  
exceptions and by making the external dom4j API using generics. The  
patch seems to work very fine and all the test-cases included with  
dom4j run without a problem after applying it.

However, Eclipse still has a lot to say about the dom4j sourcecode:  
approximately 1000 warnings including:

   - usage of raw-types (non-generics) (~850 instances)
   - unused variables, unnecessary type-casts and declared exceptions
     never thrown (~60 instances)
   - potential NPEs (~60 instances)
   - and a few others

I volunteered to do a code clean-up to remove these problems. Maarten  
is interested in this work and has kindly given me access to the  
developer CVS and so I started looking at further details of the  
project. I noticed a few things that I would like to discuss with you  
before I start any work.


== Freezing 1.6.1 ==

There doesn't seem to be a CVS tag for dom4j 1.6.1 yet (the last tag  
was for 1.4.1). In any case I suggest that the last release should be  
tagged in CVS. That would then remain the official release for Java 1.4.

== Towards a new unstable release ==

After that, I would suggest that 1.6.1 (which has been stable for  
over a year now) remains the preferred version for Java 1.4 and that  
the next release is targeted at Java 1.5. (Mike Skells has mentioned  
in a previous mail that even Java 1.5 projects can be integrated in a  
Java 1.4 environment using retroweaver (http:// 
retroweaver.sourceforge.net/))

I suggest to aim only for an unstable release at the moment, as I  
don't see anybody implementing the new W3C DOM API. So a new release  
would only feature a cleaned up code, Java 1.5 support and possibly  
modernized build environment (see below). But hey, I think that's  
much better then doing nothing.

== CVS -> Subversion ==

Additionally I would personally like to switch the project over from  
cvs to subversion. I have worked for a while on another Sourceforge  
Project using CVS and there was often one or the other problem with  
it, including that the devel CVS and anonymous CVS were not in sync,  
that CVS got broken because some locks were not cleaned up, etc.  
Essentially it's probably a matter of taste and my taste is in favour  
of Subversion, because it's simply easier to use (uses http/https, no  
need to manually tag binary files, etc)

== Maven and friends ==

There is a Maven 1.x project file in CVS along with some friends such  
as files for  Checkstyle, Jalopy and GUMP.

   - How much are those still used?
   - Is there a continous integration environment still running?
   - I managed to convert some of the Maven 1.x project.xml to a  
Maven 2 pom.xml.
     How abound a switch to Maven 2?
   - Does anybody really care about the ~10000 warnings that  
Checkstyle produces?
   - According to their website, Jalopy does not yet support Java  
1.5. Is that a
     problem for anybody?

== Dependencies ==

Time has moved on outside dom4j as well and there are updated  
versions of the dom4j's dependencies:

   - jaxen: 20050419.192021 => 1.1-beta-11
   - xml-apis: well, they are part of Java 1.5 actually (see above)
   - xerces: 2.6.2 => 2.8.1
   - xalan: 2.5.1 => 2.7.0
   - jsr173 (STAX): there is no jsr173 in the Maven2 repository, but  
a stax-api 1.0
     that works as a replacement (I suppose until somebody really  
tries to use the
     STAX code...). At least the build and test-cases all run.

I didn't check all the dependencies yet. What is the general opinion:
   a) should we upgrade all dependencies to current versions to see  
if dom4j runs
     comfortably in a modern environment ?
   - or -
   b) should we only upgrade those dependencies that are no longer  
readily available
     from external sources?
   - or -
   c) should we do nothing at all here?

I'm personally for in favour of a) because I like to work in an up-to- 
date environment.

Então, thank you very much for your attention. I'm curious for any  
feedback.

Best regards,

Richard


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
dom4j-dev mailing list
dom4j-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dom4j-dev

Reply via email to