You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@depot.apache.org by "Adam R. B. Jack" <aj...@trysybase.com> on 2004/06/22 15:14:07 UTC

Reviewing Avalon & Depot Code bases

All,

I did a quick review (and I say quick, so please correct me where I am
wrong). This is what I found:

The Avalon codebase is simple -- and that is a major plus, no clutter, no
fuss. The approach is nicely broken into separate source directories (which
helps illustrate the separations) such as API, SPI (Repository Plug-In),
Impl, Util. The fundamental classes are Artifact and Repository (which map
directly to Resource and Repository in Depot, and are coded *almost*
identically.) Basically, I see *immense* similarities -- starting with basic
design approach & implementation choices. [One plus include similar coding
style ... one less niggly 'discontinuity' for us to hold noses to, through
with a merge.]

I do see some Avalon code in there. I do see some 'Classloader' code (at
lower levels, e.g. in Repository) and that we can discuss/negotiate over. I
see some reference to security, but I'm not sure if that is Avalon security
or JDK or whatever. I'd like to learn.

In short, I see the same intentions/approaches, just minor (perhaps)
implementation differences (e.g. API choices, Factory implementations,
configuration, etc.) I think we can explore the pros and cons of each choice
and select the better on a case by case basis.

I remain of the opinion that we can import Avalon Repository into a
classloader project, refactor it & run it over some Depot core classes.
Those Depot classes would either be (originally) Avalon Repository classes,
or would have the 'required features' merged into them. That core could be
called 'Update' (as it is today) or we could split off a core (simply the
layer that Stephen mentioned yesterday).

As I see it Depot Update has most of what Avalon Repository has -- albeit
cluttered/unclear (and not all completed nor needed.) I think we need to
pick apart this code so that we have a lean/mean core -- not a cluster. I
think the task of teaching the Avalon folks about the Depot codebase will
really helps us clarify what we want/what we need and what we can trim.
[When reviewing things yesterday I got clear (after many months) on all our
pieces, and it helped me.]

Here is what I see Depot Updater has in addition:

- Protocol code over java.net.URL or HtppClient or VFS. [Which is loaded
depends upon the environment. Might be a portability (over CLs) issue, might
be cool.]
- Ant Tasks/Types (and some Tools) [These are used by AntWorks.]
- More commandline tools (for Gump etc)
- Logging (listener abstraction, so we can plug in to Ant or CL or Avalon or
...)
- Utility classes (File interface (creates Resources) to/from Updater..)
- Monitoring (listener pattern, stats collectors, stdout loggers, etc.)

Some higher level capabilities (based upon understanding the data):

- Repository Queries (with Selectors/Comparators)
- Version Parsing (and hence ordering, selection of 'best')

[We can discuss if these out be in a separate project.]

Some dodgy (incomplete) clutter:

- XML Configuration system (albeit incomplete).
- XML deserialization/serialization (albeit incomplete).

[There was a rationale here, I can discuss in a separate mail.]

Basically,  I feel that the Depot code has a lot more -- but I think that
has hindered it, rather than helped. Develops are lost in the internals
before it is complete, and we need to remove the clutter.

BTW: I see the biggest problem ahead as either picking a build system,
and/or picking a hierarchy that all three can live with (Maven -- still
needed, Magic -- wanted here?, AntWorks -- has source folder issues). I hope
we can find a simple solution.

regards,

Adam
--
Experience the Unwired Enterprise:
http://www.sybase.com/unwiredenterprise
Try Sybase: http://www.try.sybase.com


Re: Reviewing Avalon & Depot Code bases

Posted by "Adam R. B. Jack" <aj...@trysybase.com>.
Thanks, and no stress (I need to find some time for family/EMT
school/work/Gump, so I'll appreciate discussions not being too busy.)

Also, maybe I can find some time to put Depot's house in order prior to a
merge. Thanks for the impetus...

regards

Adam
----- Original Message ----- 
From: "Niclas Hedhman" <ni...@hedhman.org>
To: "Depot Development" <de...@incubator.apache.org>
Sent: Tuesday, June 22, 2004 12:56 PM
Subject: Re: Reviewing Avalon & Depot Code bases


> On Tuesday 22 June 2004 23:14, Adam R. B. Jack wrote:
> > I did a quick review (and I say quick, so please correct me where I am
> > wrong). This is what I found:
>
> Just want to give you the nod, that I am happy to see your effort, and at
> large concur with your assessment.
> I will comment more in details when I have arrived to the USA, as I am
leaving
> in a few hours, and need to get some sleep (among other things).
> So don't be alarmed that I will 'offline' for two days or three...
>
>
> Cheers
> Niclas
> -- 
>    +------//-------------------+
>   / http://www.bali.ac        /
>  / http://niclas.hedhman.org /
> +------//-------------------+
>


Re: Reviewing Avalon & Depot Code bases

Posted by Niclas Hedhman <ni...@hedhman.org>.
On Tuesday 22 June 2004 23:14, Adam R. B. Jack wrote:
> I did a quick review (and I say quick, so please correct me where I am
> wrong). This is what I found:

Just want to give you the nod, that I am happy to see your effort, and at 
large concur with your assessment.
I will comment more in details when I have arrived to the USA, as I am leaving 
in a few hours, and need to get some sleep (among other things).
So don't be alarmed that I will 'offline' for two days or three...


Cheers
Niclas
-- 
   +------//-------------------+
  / http://www.bali.ac        /
 / http://niclas.hedhman.org / 
+------//-------------------+