Jason van Zyl wrote:

In this case I think the abstraction being neglected hasn't bought us much. And that a more focused approach on what's most commonly used will give the real chance to improve the instabilities we have and give people an easier chance of understanding the codebase without having to rifle through all the abstractions.

I agree that abstractions are good if they are done correctly. If Joe Walnes writes an abstraction, I'll use it :-)

So let's grab him by an ear then :-)

Seriously - I still we are in need of an abstraction, perhaps simpler and more focused, ie separating concerns - in this case upload and download.

Honestly, take a look at Wagon and see how much of it you understand easily. For pulling I think it lacks many things critical features like transactions, and connection pooling. And it's model for deployment in not being able to take a whole intact release and placing it safely into a remote repository is simply bad.

Since polling and deployment have different requirements, the abstraction can be fine tuned to suit each use case. Polling could only support http and file protocols and we could drop the others.


I think we definitely need to focus on this in maven-artifact. Deployment simply not atomic which is bad.


Ok - so two scenarios are possible:

1. Improve wagon abstraction: separate concerns and introduce the missing features in the appropriate different abstraction layers (ie upload and download)

2. Remove wagon and implement in maven-artifact, but you'll still end up facing much of the same issues. IMO the problem is not so much in the abstraction residing in wagon or artifact module, rather that the abstraction was designed with two quite separate concerns bundled together.

Since maven-artifact has both concerns, it would seem more sensible to try and 
improve wagon.
Perhaps cut 1.0 release as is, and start of a 2.0 branch which does not require 
backward compat.

Cheers





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to