nicolas De Loof wrote:

I don't think sources are different types from artifact. I consider them as another view to an artifact, so I think they should share the same artifact-type dir. You should consider the same situation about md5 checksums.

<artifactId>.jar -> <artifactId>.jar.md5 <artifactId>-src.zip -> <artifactId>-src.zip.md5

Both files from each pair should live in the same directory, but both pairs - not neccessarily IMO.

Source archive is definetely a different type of artifact that binary jar. And the intention of the Maven developers was that each type of artifact should be stored in another directoy in repository. But you have a point that they are related, and we must try to achieve balance between straightforward association of these, and avoiding namespace conflicts.

For example, consider a project with groupId=fred, and with two artifacts: jar artifact fred, and war artifact fred, where the war depends on the jar. With current maven this project would be unbuildable with reactor, because war and jar would be undistinguishable (only groupId/artifactId are considered in comparisons). So in practice you would have jar artifact fred, and war artifact fred-webapp or similar. Then in the, repository layout would look like that:

fred/
sources/
 fred-1.0-src.zip
 fred-1.0-src.zip.md5
 fred-webapp-1.0-src.zip
 fred-webapp-1.0-src.zip.md5
jars/
 fred-1.0.jar
 fred-1.0.jar.md5
wars/
 fred-webapp-1.0.war
 fred-webapp-1.0.war.md5

And it'll be all well. But when Maven 1.0+ arrives, artifact types will be considered in comparisons, and people we'll be free to call all of their artifacts withing a group "fred", provided that they have only one of each type. This will of course cause namespace conflict in the sources directory.
A solution off the top of my head is:


fred-maven-1.0+/
 jar-sources/
  fred-1.0-src.zip
  fred-1.0-src.zip.md5
 jars/
  fred-1.0.jar
  fred-1.0.jar.md5
 war-sources/
  fred-1.0-src.zip
  fred-1.0-src.zip.md5
 wars/
  fred-1.0.war
  fred-1.0.war.md5

R.

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



Reply via email to