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
