On 28 Feb 07, at 9:50 AM 28 Feb 07, Joakim Erdfelt wrote:
> Just so that we have "Joakim's plans" documented here ....
>
> Wagon Ideas.
>
Just a point which I think is important: keep any discussion of how
this is configured separate from Maven and its configuration
mechansim. What's falling out from the embedder is a session level
configuration and a request level configuration. So you might want
something in Wagon for the initial setup of a provider and then for a
request. You might want to set a default timeout but allow it to be
overridden at the request level.
> 1. Add Timeouts.
> Question becomes, how do we configure this value?
> Per Protocol? or Per Repository?
Session level with possible overrides at the request level. I think
the Configuration for session and ExecutionRequest in Maven is a good
model.
Can probably wait for 1.1.
> Do we use the <server><configuration> section in the
> settings.xml?
> 2. Add Client Header Identification.
> This would only be useful on some protocols (such as http /
> dav),
> but completely irrelevant on others.
> Jason could use this to track the uptake of specific versions of
> maven on the repo1.maven.org side.
> If we decide to do this for http, we can make it be a separate
> request header, or a modification of the USER-AGENT string.
Probably a Map passed into the session level, or request level
configuration could then be used by the given provider to with what
it wants with it. Otherwise you're going to get into crappy
configuration models for each provider. This is what Velocity
resource loaders do for specifics and it works well.
Can probably wait for 1.1.
> 3. Streaming Wagons.
This would definitely be good for piping content from one place to
another without it having to hit the disk.
Can probably wait for 1.1.
> 4. Limited Wagon Transactions.
> This becomes a problem when we have a deploy that modifies the
> maven-metadata.xml
Again stop thinking about Maven, what's the use case here.
> 5. Deprecation of repository id / server id as the authentication
> binding mechanism.
> Use what precisely to bind to?
> 1. hostname
> 2. hostname:port
> 3. protocol://hostname:port
> 4. regex of any of the above
> 5. all of the above
The id sucks but this again can wait for 1.1.
> 6. Whitelists on repositories in pom.xml, based on groupId. (don't
> bother searching this repository if the groupId doesn't match).
> This should help optimize the repository searching. It's just a
> piece of build optimization, anyone consuming the pom could just
> as well ignore this optimization with no ill effects.
> 7. Password Encryption in the settings.xml
>
> I welcome discussion.
> Big +1 or -1 on any concept above.
I think all of these are good ideas but can probably wait until 1.1.
We need to start releasing this stuff. I think the API is not quite
right, but we can scrutinize the API later, let's release 1.0 and
then move on. Maven 2.1 can use 1.1 and so you'll get lots of
feedback from there.
>
> And I realize that the concepts above are not wagon exclusive, but
> rather overlap with maven 2.1 too.
I say we can let Maven 2.1 provide use cases but don't let that
completely shape the work being done.
jason.
>
> - Joakim
>
> Trygve Laugstøl wrote:
>> John Casey wrote:
>>> Hi,
>>>
>>> I just committed some changes to trunk that should restore backward
>>> compatibility for using older wagons (at least in the vast
>>> majority of
>>> cases). It may still break if there is an older version of a wagon
>>> out there
>>> that doesn't extend from AbstractWagon (since the Wagon interface
>>> picked up
>>> like 5 new methods lately).
>>>
>>> Can we start talking about a Wagon 1.0-final release? What do we
>>> need
>>> to get
>>> this done? It looks like the current roadmap only shows 3
>>> outstanding
>>> issues
>>> for the next release. Does anyone have plans for finishing those,
>>> and
>>> are
>>> they enough to serve as a basis for a final release?
>>>
>>> I'm just trying to figure out what plans there are for this, since
>>> I'd like
>>> to move toward a 2.1-alpha-1 release of maven, and this is going
>>> to be a
>>> prereq.
>>
>> I say release what Wagon is now as 1.0 (in other words no API
>> breakage) and put Joakim's plans into Wagon 2.0.
>>
>> --
>> Trygve
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
wagon-dev-unsubscribe@...
>> For additional commands, e-mail:
wagon-dev-help@...
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail:
wagon-dev-unsubscribe@...
For additional commands, e-mail:
wagon-dev-help@...