james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brill Pappin (JIRA)" <server-...@james.apache.org>
Subject [jira] Commented: (JAMES-333) Build Broken in HEAD revision
Date Sun, 07 Nov 2004 02:32:33 GMT
     [ 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

- 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:anoncvs@cvs.apache.org:/home/cvspublic login
cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic co james-server
cd james-server/
- Fix build errors regarding mail api.
-- Add activation.jar to lib directory
-- Add mail-1.3.1.jar to lib directory
- 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}"/>

> [...]
> [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:
If you want more information on JIRA, or have a bug to report see:

To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org

View raw message