On 21 Aug 07, at 5:43 PM 21 Aug 07, James William Dumay wrote:


Sorry if I'm missing something but why they can't just publish everything to their private repo and just mirror things
they want share to the public repository afterwards?

Sure, that could be done, however, this is yet more infrastructure that
needs to be written and maintained in the build environment.

As being Maven user (I'm from Apache Cocoon) I support Jason's opinion here. If you have very specific requirements that could be fulfilled by existing tools (few lines of script) just use them and don't pollute other tools with your
specific needs.

Why use yet another external tool?

From the maven website itself:
"Maven can manage a project's build, reporting and documentation from a
central piece of information."

So, is the information for the control of artifact deployment not within
the scope of the projects mission? Isn't maven supposed to manage my
projects build?

As you know, Maven already does this in a limited sense - you can deploy
whole projects to one repository or another via specifying a
distribution management information in your pom.


It does this for the purpose of 1) staging, and 2) supporting more then a release and snapshot repository. We fully support multiple repositories as normally I recommend a setup with 5 repositories. Separating the primary and secondary artifacts is a very different use case, and one we never considered supporting.

The real use case here is giving developers the flexibility to control
what kinds of artifacts go where and subsequently who has access to
specific artifact types.


That's not a use case, that's simply how you would prefer to do this.

For example, at Atlassian, we have a model where customers pay for a license and
receive our source code. Customers can then use Maven to resolve
dependant artifacts from our public maven repository and build the entire product.


So why can't it all be in one repository? You have people who buy your products with a non-source license and you give them access to binaries from a Maven repository instead of an installer? Or you have updaters that use a Maven repository so you only need the binaries for this? This last case I could understand.

For IP reasons, we cannot publish the source and javadoc
artifacts publicly along with the jar artifact of which our internal
development staff and contractors need to use.

For your own artifacts that you are producing why do they need to be public at all? I ask because I do something similar and I don't understand what it is you're actually trying to accomplish. This aside it still doesn't change the fact Maven wasn't designed to have the primary artifact separated from the secondaries and simply causes a discontinuity in tooling. This is currently how it works. For anyone trying to debug their copy of an Atlassian product the Maven IDE integration wouldn't work.


I think this would be a fairly common use case among other companies with similar models and if maven is a build management tool - why can't it manage the
needs of commercial products too?


Sure, we have no problem supporting commercial products. But it does not logically follow that because we don't allow the separation of primary and secondary artifacts that we don't support commercial products.

In your case would it not be easier to give people read-only access to the SCM, they build it as you build it and have access to a password protected repository that contains everything required for building. I don't understand your need to separate it the binaries from javadoc and sources.

Thanks
--
James William Dumay <[EMAIL PROTECTED]>
Atlassian Software Systems


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


Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder and PMC Chair, Apache Maven
jason at sonatype dot com
----------------------------------------------------------




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

Reply via email to