> -----Original Message-----
> From: Jason van Zyl [mailto:[EMAIL PROTECTED]
> Sent: Monday, July 07, 2003 1:16 PM
> To: Maven Developers List
> Subject: Re: Artifact managment - deploy & fetch
> 
> On Mon, 2003-07-07 at 04:13, Michal Maczka wrote:
> > I hope to find time today (latest tomorrow) and finish reaming issues of
> > artifact deployer.
> >
> >
> > I have some issues I want to discuss:
> >
> > 1)
> > When artifacts are big (few MB) frequent deployment of snapshots to
> > repository (local or remote) results in MB of unused space,
> > as snapshot == latest version (we don't need older versions of the
> snapshots
> > anymore)
> 
> Yes we do. You can never know which timestamped version someone might be
> dependending on. You can't just remove them.
> 
> > I suppose that in case of snapshot it wouldn't be so bad
> > if during deployment we will delete an older version of the artifact
> 
> If you mean the removal of timestamped JARs that have been deployed then
> most definitely -1. You can't remove them.

Yeap. I see the problem. I realized that it is not so easy, if at all
possible.


However I see that there is a certain problem there:
I have 5 MB large wars. After 20 deployments of snapshots
100 MB of space in repository gets eaten. 20 deployments = 3/4 days.

Currently when we deploy snapshot - we also deploy a time-stamped file.
In most of the cases (I am speaking about company-wide remote repository,
not about repositories like IBiblio) most of this files become
obsolete once new snapshot is replacing an old one. And those files are
taking up a lot of space.

We need timestamped jars(artifacts) when we want to resolve real versions of
snapshots and when we need to convert them to immutable dependencies
(e.g while making the release)

But for example for "intranet reposositories" we can imagine that those
timestamped version will appear in repository only when we will start to
need it. 
So I dare to say that:

artifact:deploy-snapshot != artifact:deploy-timestamped-file


So we can imagine that when other project needs to convert a snapshot
version of artifact delivered by other project to immutable, timestamped
artifact - that this project will be responsible to upload timestamped
version of the other artifact to remote repository.


That is just immature idea. 
What I really want is to "save my disk space" :)
There are maybe better possibilities. 


> > 2)
> > I think it will be nice to start using POMs as descriptor of the
> artifact.
> 
> Yes, I often use them just not a widely known feature.
> 
> > E.g I would prefer to retrieve information about artifact URL from the
> POM
> > of this artifact rather then do:
> >
> > <dependency>
> >    <id>xerces</id>
> >    <version>2.2.1</version>
> >    ><url>http://xml.apache.org/xerces2-j/</url
> > </dependency>
> 
> Sorry, not sure what you mean here? You mean looking up the POM to find
> it's URL and other information about the artifact? In that case, yes,
> definitely.
> 

That's what I meat. I think only artifact's own POM should be used
for providing metadata information about this artifact.
We should avoid using things like:

<url>http://xml.apache.org/xerces2-j/</url>


So e.g the the report like:

http://maven.apache.org/dependencies.html

can contain much more information (e.g. short description about each
artifact)


> > What about deploying (installing) also the POM to the repository, every
> time
> 
> The POM really only needs to be deployed for releases. I'm not sure it
> would be wise to start deploying snapshot POMs though I haven't thought
> about it much.
> 
Between two deployments of snapshot something might get added/changed in the
POM. It is even often the case.



Michal

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

Reply via email to