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]