You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@archiva.apache.org by sgargan <sg...@qualcomm.com> on 2008/01/08 05:49:37 UTC

Updating consumer plugin to build against the 1.1 apis

Hi there

I've taken the liberty of updating the archiva-consumer-plugin project to
compile against the latest 1.1 codebase. I was going to create an archetype
for use in creating consumers but I wanted to ask a few questions first and
fill in some gaps in my understanding.

* I'm presuming the target JDK for consumers is 1.5? The plugin does not
specify this or extend from the archiva-base parent, so defaults to 1.3

* There currently is no closure for the CompleteScan Case though I see
comments about adding it. I'd be happy to add this (Seeing as most of the
work and testing is done already ;)). Should the completeScan Case be
consistent with the begin case (take a repo arg and throw a ConsumerEx)?

* I've created a MockRepositorySearch object to mock out the search
interaction. It arguably might have been neater to do this with EasyMock,
though I was not sure how to install the mock in the PlexusContainer as a
component so it will get autowired into the consumer correctly. Not knowing
enough about plexus, I went for the soft option, though if someone could
point me in the right direction I'll update it.

* Is there an express reason the project uses an old(er) version of
EasyMock? I've found the newer 2.X syntax to be much more intuitive and
concise

* Looking at use cases for consumers, simple CRUD like events for artifacts
might be high on the list (I'm massively biased, they are high on mine at
least ;) ). Might this DiscoverNewArtifactConsumer save a lot of wheel
reinvention if promoted (along with Updated an Removed counterparts) to the
core consumers project?

* there are lots of reusable test fixtures available throughout the project,
the repo layer has a few choice candidates; do you see any worth in
aggregating these into an artifact to facilitate testing 

* How do you see complex consumers being configured? might they possibly
sometime be given their own configuration web pages?

* Currently the Do you see a situation where certain (read-only?) consumers
could be configured to run at different intervals (i.e. have different cron
specs)

A lot of this is driven by a need to receive notifications when artifacts
are released to certain repos, email and IM notifications being first on the
list. Are there any plans for a notifications api. I have some ideas for
making this happen and would be happy to share if there is interest.

Anyhow I've created a patch for the above its attached to the issue MRM-651.

rgds,

stephen

-- 
View this message in context: http://www.nabble.com/Updating-consumer-plugin-to-build-against-the-1.1-apis-tp14682491p14682491.html
Sent from the archiva-dev mailing list archive at Nabble.com.