On 1/9/07, Stephane Bailliez <[EMAIL PROTECTED]> wrote:


I'm trying to figure out the exact role of each of those and I'm a bit
lost.

- An ArtifactId has a ModuleId
- An Artifact has a ModuleRevisionId
- A ModuleRevisionId has a ModuleId
- An ArtifactRevisionId has an ArtifactId and a ModuleRevisionId
- A DefaultArtifact is an Artifact which has an ArtifactRevisionId

And there is an ArtifactInfo and ArtifactOrigin

An ArtifactInfo is implemented in a couple of places...seems like
resource information but...we have a ResolvedURL which is an
ArtifactInfo and a ResolvedResource which is also an ArtifactInfo.

All that is not extremely clear, and there seems (not sure though as I'm
lost) to be some redundancy.
is it possible to have an explanation of what all of them are (and a few
more) and the whole conceptual model ?


I don't have much time now, so I'll just give a couple of explanations,
excuse me if I'm not clear.
- a ModuleId identifies a module, with no revision information
- a ModuleRevisionId identifies a revision of a module (which is itself
identified by a ModuleId)
- an ArtifactId identifies an Artifact of a module, in no particular
revision
- an ArtifactRevisionId identifies an Artifact of a module in a particular
revision
- an Artifact represents an artifact of a particular revision of a module,
and is thus identified by an ArtifactRevisionId. It provides methods to ease
access to data stored in the ArtifactRevisionId, such as
getModuleRevisionId, getName, getType, and so on. It basically corresponds
to the artifacts elements in the publication section of an Ivy file, it thus
offers configurations info for example.
- a DefaultArtifact is one particular implementation of the Artifact
interface
- ArtifactInfo is an interface mainly used for LatestStrategy methods, to
determine the latest revision among several ones. The name ArtifactInfo is
not really well chosen, as you already noticed I'm not good at choosing good
names :-) I'm even wondering at what I'm actually good... don't remember
now, I'll ask my wife :D
- ArtifactOrigin is used to store the original location of an Artifact

I hope this clears things a bit.

Xavier


Thanks

-- stephane


Reply via email to