The following issue has been updated:

    Updater: Felipe Leme (mailto:[EMAIL PROTECTED])
       Date: Mon, 6 Sep 2004 1:07 PM
    Comment:
Here is the patch I mentioned. Instead of simply defining a property for the timestamp 
version, it creates a new API (org.apache.maven.artifact.versioning) responsible for 
the task, with an interface (SignaturesManager), 4 basic implementations, a helper and 
a Jelly tag. 

Here is how it works:

1.The DefaultArtifactDeployer relies on a SignaturesManager to get the timestamp 
signature for a given project (actually, not only the timestamp, but also the snapshot 
and release signatures)
2.The SignaturesManager is obtained by a Helper/factory (this is important to mantain 
backward compatibility - the ArtifactDeployer interface has not been changed
3.The SignaturesManager to be used is defined by the property 
maven.artifact.versioning.type. This property can have pre-definied values (right now: 
default, singleTimestamp, perProjectTimestamp or userDefinedTimestamp) or be the name 
of a class implementing the SignaturesManager interface. The meaning of the 
pre-defined values are:
default - same behavior as the current implementation. I.e., each call has a new 
timestamp
singleTimestamp - the same timestamp will be used by all calls in any project
perProjectTimestamp - the same timestamp will be useb by all calls of the same 
project, but different projects will have different timestamps (can be useful in a 
multi-project invocation)
userDefinedTimestamp - the timestamp must be defined by the property 
maven.artifact.versioning.userDefinedTimestamp

4.There is also a new goal (artifact:show-signatures) and a new tag 
(<artifact:version-signatures>) that allow programatic access to this API in Jelly 
Scripts (and command line)

I think this solution is very flexible and also backwards compatible, so I will 
propose a vote on the devs list for applying this solution. (and if we approve it, I 
will write the test cases and better documentation).

Also notice that if this new API get through, we can change the goals that generate 
manifests to include both an implementation and specification ids (in a release, both 
values would be SignaturesManager.getReleaseVersion(); both in a snapshot, the 
implementation id would be SignaturesManager.getTimestampVersion()).

-- Felipe


    Changes:
             Attachment changed to MPARTIFACT-18
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://jira.codehaus.org/browse/MPARTIFACT-18?page=history

---------------------------------------------------------------------
View the issue:
  http://jira.codehaus.org/browse/MPARTIFACT-18

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: MPARTIFACT-18
    Summary: Need a property to specify what value should be used for a snapshot 
deploy.
       Type: Bug

     Status: Open
   Priority: Major

 Original Estimate: Unknown
 Time Spent: Unknown
  Remaining: Unknown

    Project: maven-artifact-plugin

   Assignee: Felipe Leme
   Reporter: Jason Chaffee

    Created: Tue, 22 Jun 2004 9:02 PM
    Updated: Mon, 6 Sep 2004 1:07 PM

Description:
We would like to have the ability to override the value used for snapshots.  In some 
cases we would like to use a timestamp, while in others we would like to use a build 
number.  Currently, all snapshots have are create with a timestamp intead of the 
current version, I would like to see this become configurable with a property that 
defaults to using timestamps.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


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

Reply via email to