archiva-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joakim Erdfelt <>
Subject Re: Archiva Consumers question
Date Wed, 17 Oct 2007 14:36:59 GMT
Brett Porter wrote:
> 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 am not kidding, make this change now.
I'll do it. It's no big deal.

> 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

That sounds reasonable, and a statement not based on fear of change, but ...

> 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.

This statement contradicts your previous one.
What we now want to change now is a public API.
I do not want to fall into the same trap that maven fell into when it 
comes to "maintaining compatibility", we have far too much in maven that 
exists solely for "maintaining compatibility" that is complete and utter 

We are in that situation because of 2 major factors.
1) A hurry up and get a release out mindset.
2) A fear of changing the new APIs before a final (non-beta, non-RC, 

Now is the perfect time to correct this.
Lets do it now.
Lets put it up for a vote now.

> 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

- Joakim Erdfelt
  Open Source Software (OSS) Developer

View raw message