james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Bagnara <apa...@bago.org>
Subject Re: [mime4j] Review Packaging
Date Thu, 10 Jul 2008 14:59:39 GMT
Robert Burrell Donkin ha scritto:
> thanks to the great work done by Oleg, Mime4J is much better and has
> quite a lot more classes. a release should be really close now. so,
> it's a good time to review packaging. i think the packages below need
> some thought.
> 
> i think that the packaging strategy has become inconsistent. i think
> that the choice is either to move lots of utility-ish classes out from
> mime4j and into sub-packages, or to remove the decoder and util
> subpackages and move their contents into mime4j.
> 
> i can see arguments either way. lots of classes in a single package is
> less expressive. but libraries can benefit from flat packaging. flat
> packaging can also be an advantage for OSGI.
> 
> opinions?

I only checked the sources for cyclic dependencies between packages and 
somewhere 7 new cycles have been introduced.

The last time I fixed this the root package (org.apache.james.mime4j) 
only depended on decoder and util packages, with decoder depending on 
util too).

I think the first thing is to remove cycles.

Stefano

> (i favour collapsing but there may well be good reasons to take the
> other approach)
> 
> - robert
> 
> package org.apache.james.mime4j
> (http://svn.apache.org/repos/asf/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/)
> # AbstractContentHandler.java
> # AbstractEntity.java
> # BasicBufferingInputStream.java
> # BodyDescriptor.java
> # BufferingInputStream.java
> # BufferingInputStreamAdaptor.java
> # ByteArrayBuffer.java
> # CharArrayBuffer.java
> # CloseShieldInputStream.java
> # ContentDescriptor.java
> # ContentHandler.java
> # DefaultBodyDescriptor.java
> # EOLConvertingInputStream.java
> # EntityStateMachine.java
> # EntityStates.java
> # Event.java
> # InputBuffer.java
> # MaximalBodyDescriptor.java
> # MimeBoundaryInputStream.java
> # MimeEntity.java
> # MimeException.java
> # MimeParseEventException.java
> # MimeStreamParser.java
> # MimeTokenStream.java
> # MutableBodyDescriptor.java
> # RFC1864ContentMD5Descriptor.java
> # RFC2045MimeDescriptor.java
> # RFC2183ContentDispositionDescriptor.java
> # RFC2557ContentLocationDescriptor.java
> # RFC3066ContentLanguageDescriptor.java
> # RawEntity.java
> # RecursionMode.java
> # RootInputStream.java
> 
> in org.apache.james.mime4j.decoder
> (http://svn.apache.org/repos/asf/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/decoder/)
> # Base64InputStream.java
> # ByteQueue.java
> # DecoderUtil.java
> # QuotedPrintableInputStream.java
> # UnboundedFifoByteBuffer.java
> 
> in org.apache.james.mime4j.util
> (http://svn.apache.org/repos/asf/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/)
> # CharsetUtil.java
> # CodecUtil.java
> # MessageUtils.java
> # MimeUtil.java
> # PartialInputStream.java
> # PositionInputStream.java
> # SimpleTempStorage.java
> # StringArrayMap.java
> # TempFile.java
> # TempPath.java
> # TempStorage.java
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
> 
> 


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


Mime
View raw message