Thanks John for the feedback. I still have trouble understanding what's the difference between a deploy and a release and I would think we'd need to merge both concept into one in the future.
If you think about it, the result of both actions is the same from a user point of view. The only differences are the extra steps during a release but we could decide not to take those extra steps (tagging, sending an email, etc) when we release a snapshot. To summarize, I think having a single concept of release (or deploy) would be enough and it should cover both snapshot and proper versions. -Vincent > -----Original Message----- > From: John Casey [mailto:[EMAIL PROTECTED] > Sent: mercredi 16 novembre 2005 04:00 > To: Maven Developers List > Subject: Re: svn commit: r344386 - /maven/components/trunk/maven- > project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMet > adata.java > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > deployment doesn't guarantee reproducibility. I already discussed this > with you on IRC, but I'm replicating my answer here to keep the list up > to date. > > The only time you have strong requirements for reproducibility in builds > is at release time, when all -SNAPSHOT dependencies should already have > been resolved to concrete versions (even if these versions are the > timestamped alter egos of the snapshot artifacts). When you're merely > deploying, you're not making any assertion about the build being > static...particularly when you deploy with SNAPSHOT dependencies. In > those cases, it's important that your artifact's users be able to retain > that flexibility in choosing dependency versions given by SNAPSHOTs. > > Deploying is still a distinct task from releasing, since you may deploy > a snapshot artifact in order to share it among team members, or CI > servers, without releasing it. In this case, it's understood that this > is a development copy, and you get what you ask for with any SNAPSHOT > dependencies. That is, dynamically resolved versions...even dynamically > re-resolved versions, if the artifact is used more than once over time. > > Cheers, > > John > > Vincent Massol wrote: > | Thanks John, > | > | When I deploy now the resolved version is 0.7-SNASPHOT and not the > | timestamped version. > | > | It may work but that means that builds will not be reproducible, > because the > | correct dependency version will be chosen at runtime according to the > | available snapshots, right? > | > | Thanks > | -Vincent > | > | > |>-----Original Message----- > |>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > |>Sent: mardi 15 novembre 2005 17:15 > |>To: commits@maven.apache.org > |>Subject: svn commit: r344386 - /maven/components/trunk/maven- > |>project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactM > et > |>adata.java > |> > |>Author: jdcasey > |>Date: Tue Nov 15 08:15:21 2005 > |>New Revision: 344386 > |> > |>URL: http://svn.apache.org/viewcvs?rev=344386&view=rev > |>Log: > |>Decoupling ${version} expressions from POM version before resolving it > to > |>a buildnumber/timestamp on install or deploy. > |> > |>Modified: > |> maven/components/trunk/maven- > |>project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactM > et > |>adata.java > |> > |>Modified: maven/components/trunk/maven- > |>project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactM > et > |>adata.java > |>URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven- > |>project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactM > et > |>adata.java?rev=344386&r1=344385&r2=344386&view=diff > |>======================================================================== > == > |>==== > |>--- maven/components/trunk/maven- > |>project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactM > et > |>adata.java (original) > |>+++ maven/components/trunk/maven- > |>project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactM > et > |>adata.java Tue Nov 15 08:15:21 2005 > |>@@ -34,6 +34,8 @@ > |> import java.io.FileReader; > |> import java.io.FileWriter; > |> import java.io.IOException; > |>+import java.io.StringReader; > |>+import java.io.StringWriter; > |> > |> /** > |> * Attach a POM to an artifact. > |>@@ -85,10 +87,17 @@ > |> try > |> { > |> reader = new FileReader( file ); > |>+ StringWriter sWriter = new StringWriter(); > |>+ IOUtil.copy( reader, sWriter ); > |>+ > |>+ String modelSrc = sWriter.toString().replaceAll( > |>"\\$\\{(pom\\.|project\\.)?version\\}", artifact.getBaseVersion() ); > |>+ > |>+ StringReader sReader = new StringReader( modelSrc ); > |>+ > |> writer = new FileWriter( destination ); > |> > |> MavenXpp3Reader modelReader = new MavenXpp3Reader(); > |>- Model model = modelReader.read( reader ); > |>+ Model model = modelReader.read( sReader ); > |> model.setVersion( artifact.getVersion() ); > |> > |> DistributionManagement distributionManagement = > |>model.getDistributionManagement(); > |> > | > | > | > | > | --------------------------------------------------------------------- > | To unsubscribe, e-mail: [EMAIL PROTECTED] > | For additional commands, e-mail: [EMAIL PROTECTED] > | > | > | > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.6 (GNU/Linux) > > iD8DBQFDeqCoK3h2CZwO/4URApqhAJ9NwzHOaIwADvzlN2/g0IukdrAtjACfTWQS > kq2UVxAkkKiKKrXfBkMaF44= > =LXVp > -----END PGP SIGNATURE----- > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]