Well, since you asked :)

On 17/10/2007, at 2:10 PM, Joakim Erdfelt wrote:

ArchivaArtifactConsumer is an abstract-dealing-with-artifacts consumer.
RepositoryContentConsumer is for files.

A file that isn't an artifact can be *.xml, *.sha1, *.md5, maven- metadata.xml, bad content, poorly named content, etc.

Would it be better to state the phase/scan instead?

RepositoryContentConsumer becomes -> RepositoryScanConsumer
ArchivaArtifactConsumer becomes -> DatabaseScanConsumer

These seem better, though there is still some question over even these names. I suggest following through on Wendy's questions before jumping ahead with anything.


And I would rather make this change now (yes Brett, I see you there) and not have to deal with backwards compatibility issues post 1.0 "in the wild". This time (right now) is the best time to make this change. After the 1.0 release is just going to add misery and pain to this process. Now is the sweet spot. We could make the change post 1.0 but it wouldn't be a change, it would just be another band-aide. Make the change now. Did you know that making the change now would take less than an hour, including testing. I think that Now is a good time. Now is the winter of our discontent. Right now, hey, its your tomorrow. Right now, C'mon (Brett), its everything. Right now, catch a magic moment, do it, right here and now. It means everything. Its right now, oh, tell me what are you waiting for, turn this thing around. :-)

I know you're somewhat kidding here, but I'm not quite sure how much, so I'll say it anyway :)

I do not agree that 1.0 is some miracle milestone of inflexibility.

For two reasons:
a) whatever in the wild milestone you are referring to should have been at the point of beta-1, as I said in the last mail
b) it's bad thinking that things can't change after 1.0

Frankly, I would prefer that development was done in the same fashion whether it's 0.0.1-alpha-0, 1.0, 1.0.1, 1.1, 2.0 or Archiva 2008. Simple, minimal public API exposure that allows maintaining compatibility and the ability to refactor implementation details within a module.

Let's just define what the acceptable extension points for Archiva 1.0 are (probably consumers, so maybe you've found the one example where it might be difficult!), document them, and commit to maintaining them and move forward in that way.

- Brett

--
Brett Porter - [EMAIL PROTECTED]
Blog: http://www.devzuz.org/blogs/bporter/

Reply via email to