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