[ http://nagoya.apache.org/jira/browse/JAMES-333?page=comments#action_55164 ] Brill Pappin commented on JAMES-333: ------------------------------------
As promised: bash-2.05b# java -version java version "1.4.2-p6" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-p6-brill_26_oct_2004_22_58) Java HotSpot(TM) Client VM (build 1.4.2-p6-brill_26_oct_2004_22_58, mixed mode) -bash-2.05b$ env SHELL=/usr/local/bin/bash ANT_HOME=/usr/local/ant USER=brill MAVEN_HOME=/usr/local/maven PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/home/brill/bin:/usr/local/java/bin:/usr/local/ant/bin:/usr/local/maven/bin PWD=/home/brill/workspace JAVA_HOME=/usr/local/java HOME=/home/brill - Notice not "CLASSPATH" elements in the env. bash-2.05b# java -version java version "1.4.2-p6" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-p6-brill_26_oct_2004_22_58) Java HotSpot(TM) Client VM (build 1.4.2-p6-brill_26_oct_2004_22_58, mixed mode) cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic login cvs -d :pserver:[EMAIL PROTECTED]:/home/cvspublic co james-server cd james-server/ ant - Fix build errors regarding mail api. -- Add activation.jar to lib directory -- Add mail-1.3.1.jar to lib directory ant - Note: [echo] JDBC v3 in classpath - making code JDBC 3.0 compliant > [...] > compile-main: > [...] > [javac] 24 errors > [javac] 9 warnings - Ok, so now we've got a failed build right off the batt. Let's investigate. - Looks like most of them are related to bouncycastle libs, so let's make sure we have them. - They exist in the lib dir, but are not included in the build? WTF? Let's look at the build.xml - They are not listed in include.properties with all the rest of the libs. -- Add to include.properties -- bcmail.jar=${lib.dir}/bcmail-jdk13-124.jar -- bcprov.jar=${lib.dir}/bcprov-jdk13-124.jar -- jce.jar=${lib.dir}/jce-jdk13-124.jar - Add to build.xml -- <pathelement location="${bcmail.jar}"/> -- <pathelement location="${bcprov.jar}"/> -- <pathelement location="${jce.jar}"/> ant > [...] > [javac] 2 errors > [javac] 9 warnings - Ok, ignore the warnings, lets check the errors -- [javac] /usr/home/brill/workspace/james-server/src/java/org/apache/james/core/AbstractJamesService.java:429: cannot resolve symbol -- [javac] symbol : method connect (java.lang.String,java.net.ServerSocket,org.apache.james.core.AbstractJamesService,org.apache.excalibur.thread.ThreadPool) -- [javac] location: interface org.apache.james.services.JamesConnectionManager -- [javac] connectionManager.connect( -- -- [javac] /usr/home/brill/workspace/james-server/src/java/org/apache/james/util/connection/SimpleConnectionManager.java:40: org.apache.james.util.connection.SimpleConnectionManager is not abstract and does not override abstract method connect(java.lang.String,java.net.ServerSocket,org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory,org.apache.avalon.excalibur.thread.ThreadPool) in org.apache.avalon.cornerstone.services.connection.ConnectionManager -- [javac] public class SimpleConnectionManager - Ok, those two look related, the source is broken, lets check the source. -- Hmm... problem originates in org.apache.james.services.JamesConnectionManager which doesn't include the named method. -- it looks like the second error would be fixed by fixing the first. Someone refactored and committed to HEAD without running the tests... -- Ok, lets fix this. The test will show us what should happen for this code. --- Oh, oh... no test for org.apache.james.util.connection.SimpleConnectionManager! - Now there are several choices, among the most likely; attempt to add the missing method blindly with no idea if your going to break this runtime code. - Add a ticket for the project expressing your disappointment regarding the state of the source tree in the hopes that someone will take it as an opportunity for improving things. > Build Broken in HEAD revision > ----------------------------- > > Key: JAMES-333 > URL: http://nagoya.apache.org/jira/browse/JAMES-333 > Project: James > Type: Improvement > Environment: Windows/FreeBSD, JDK 1.4.2 > Reporter: Brill Pappin > > The developers of James have done a wonderful job with the concept of James > up to this point although have been a little slow in the development process. > However, I could not wait for the fixes to come in and so decided to tackle a > few of the more critical problems myself... in trying to fix the large number > of bugs in James I've found, and trying to test the IMAP implementation, I > checked out the HEAD revision and attempted to build. Once I'd solved the > dependency mess, I found that the code was actually broken in relation to the > com.apache.james.util.connection.* classes and their super classes. > I also found very little or no unit tests, so I could not determine what part > of the code exactly was broken (or what it should do). > The code base is pretty much a mess as far as I can tell but I can suggest a > few things that would help keep this project on track: Use Agile, TDD > processes in your development. Use Maven for a build system. > I am willing to port the project to a Maven build if requested to do so. > I would also like to see some unit test for this code. > Yes, this ticket is pretty harsh, but as experienced developers, I expect > better. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://nagoya.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]