Re: Dependencies Options

2006-04-25 Thread Simon Kitching
On Mon, 2006-04-24 at 21:25 -0400, Alexandre Poitras wrote:
 On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
  tons of advantages - please quantify this.
 
 Well distributing internal corporation dependencies and managing the
 version, especially nightly build is way easier using Maven repository
 capabilities. Managing your project dependencies version is also
 really easier (especially conflicts and snapshots).

I would disagree. Managing dependencies is really easy when you've
checked jars into a directory - the jars used are the ones in that dir,
and nothing else.

Of course this does have the disadvantages listed in my mail (more repo
space needed, more bandwidth).

 
 All the Maven generated reports also work better with regular
 dependencies because they can find some metadatas to work with.

true.

 
 
  Personally, I find the repository to be a nice piece of Maven. But,
  I don't see it as a cardinal sin to actually distribute libraries in
  your project. If you follow the libary naming convention then who
  cares?
 
  Personally, what i find annoying are the copious additional, needless,
  and redundant dependencies that i have to download because of the
  dependencies defined in the pom of a jar that i need to download.
 
 Nothing the exclude tag can't fix.

That can be quite clumsy to use, though. Sometimes half-a-dozen libs
need to be excluded, at which point the pom becomes hard to read.

 
  I also find it annoying to have to manually install several small
  libraries to my local repo cuz i can't distribute them as a result of
  licensing. It is additionally annoying to have to setup a jar
  repository that will be used for jars that will be needed that can
  only be distributed privately. All of this... vs. me just referencing
  them in my source tree?
 
 
 You are making this sound like it is a lot of work. Manually
 installing files on a corporate repository using install:install-file
 usually doesn't take more time then checking them inside SVN. A maven
 repository is basically a Jar versionning systems.

[as noted in your followup, you meant deploy:deploy-file]

That's assuming that a corporate repo exists and that it has upload
support available.

 
  I like Maven a lot and really enjoy the standard project layout
  features and plugins that are provided. But, the jar repository has
  caused me more time and less efficiency. However, i do like ibiblio
  for a single one stop shop for grabbing jars i need... to drop in my
  source tree ;-)
 
  I like it when people can check out my source from SVN and simply
  build. This is possible when i place them in SVN. Heck, I can even
  check Sun Jars into my SVN repo! ;)
 
 If you have a remote Maven repository on the same server as your SVN
 repo, I really don't see the difference.

True, as long as:
(a) your svn server is already running behind a webserver, so the maven
repo can easily be set up,
(b) there is some upload support for that server,
(c) there is some way of ensuring that jars always come from this repo,
and never from ibiblio (this is the hardest bit in my experience)

Cheers,

Simon


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



Re: Dependencies Options

2006-04-25 Thread Anshuman Srivastava
If we do not use the system dependecies then how can we resolve the
dependency on ejb3.0 which is not available on
http://www.ibiblio.org/maven2/. This was my problem so i used ejb3 jars
distributed by jboss.Is there any other way?

pom.xml---

 groupIdjboss.ejb3/groupId
 artifactIdejb3-persistence/artifactId
version3.0/version
scopesystem/scope
systemPathC:/boss-4.0.4/server/default/deploy/ejb3.deployer/ejb3-
persistence.jar/systemPath
 /dependency
 dependency
groupIdjboss.ejb3/groupId
 artifactIdejb3-management/artifactId
version3.0/version
scopesystem/scope
systemPathC:/boss-4.0.4/docs/examples/jmx/ejb-management.jar
/systemPath
 /dependency
 dependency
groupIdjboss-ejb3x/groupId
 artifactIdejb3x/artifactId
version3.0/version
scopesystem/scope
systemPathC:/boss-4.0.4/server/default/deploy/ejb3.deployer/jboss-
ejb3x.jar/systemPath
 /dependency
 dependency
groupIdjboss-annotations-ejb3/groupId
 artifactIdannotations-ejb3/artifactId
version3.0/version
scopesystem/scope
 systemPathC:/boss-4.0.4/server/default/deploy/ejb3.deployer/jboss-
annotations-ejb3.jar/systemPath
 /dependency


On 4/25/06, Alexandre Poitras [EMAIL PROTECTED] wrote:

 Well you can use *system* dependencies but you loose tons of
 advantages. Instead, maybe you should just populate your local
 repository using the install plugin and -o to run mvn offline.

 On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
  Is it a requirement that i use the remote repository for jars? Is
  there a way to reference jars that are distributed with the code when
  checked out from the code repository?
 
  Brandon
 
  -
  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]




Re: Dependencies Options

2006-04-25 Thread Alexandre Poitras
On 4/25/06, Simon Kitching [EMAIL PROTECTED] wrote:
 On Mon, 2006-04-24 at 21:25 -0400, Alexandre Poitras wrote:
  On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
   tons of advantages - please quantify this.
 
  Well distributing internal corporation dependencies and managing the
  version, especially nightly build is way easier using Maven repository
  capabilities. Managing your project dependencies version is also
  really easier (especially conflicts and snapshots).

 I would disagree. Managing dependencies is really easy when you've
 checked jars into a directory - the jars used are the ones in that dir,
 and nothing else.


Well if you depend on a project developped concurrently (some common
component) and not a stable component, it is easier. Easy to upgrade
to a newer version and especially easy to get the new nightly builds
in the morning. Of course, this is doable using some other mechanism
but you have to it manually. Maven just see there are a fresh snapshot
available and download it. Well, from experience I have found it
easier but I guess it depends if Maven fit the way your corporation
work.

 Of course this does have the disadvantages listed in my mail (more repo
 space needed, more bandwidth).

 
  All the Maven generated reports also work better with regular
  dependencies because they can find some metadatas to work with.

 true.

 
  
   Personally, I find the repository to be a nice piece of Maven. But,
   I don't see it as a cardinal sin to actually distribute libraries in
   your project. If you follow the libary naming convention then who
   cares?
  
   Personally, what i find annoying are the copious additional, needless,
   and redundant dependencies that i have to download because of the
   dependencies defined in the pom of a jar that i need to download.
 
  Nothing the exclude tag can't fix.

 That can be quite clumsy to use, though. Sometimes half-a-dozen libs
 need to be excluded, at which point the pom becomes hard to read.

Yup but if it is the case it is usually because the original
dependency pom has some dependencies that should be declared optional.
Time to fill a JIRA issue.

Also, the key here is using a super pom so those settings are fixed
for all your projects, this is what I do with Spring and Hibernate and
it works very well. I don't have to declare all those exclude again
and again.



 
   I also find it annoying to have to manually install several small
   libraries to my local repo cuz i can't distribute them as a result of
   licensing. It is additionally annoying to have to setup a jar
   repository that will be used for jars that will be needed that can
   only be distributed privately. All of this... vs. me just referencing
   them in my source tree?
  
 
  You are making this sound like it is a lot of work. Manually
  installing files on a corporate repository using install:install-file
  usually doesn't take more time then checking them inside SVN. A maven
  repository is basically a Jar versionning systems.

 [as noted in your followup, you meant deploy:deploy-file]

 That's assuming that a corporate repo exists and that it has upload
 support available.

Yup but honestly I wouldn't use Maven without it because when you find
a bug on ibiblio you don't have to wait for your bug report to be
treated, you can fix it on internal corporation repository in the mean
time.


 
   I like Maven a lot and really enjoy the standard project layout
   features and plugins that are provided. But, the jar repository has
   caused me more time and less efficiency. However, i do like ibiblio
   for a single one stop shop for grabbing jars i need... to drop in my
   source tree ;-)
  
   I like it when people can check out my source from SVN and simply
   build. This is possible when i place them in SVN. Heck, I can even
   check Sun Jars into my SVN repo! ;)
 
  If you have a remote Maven repository on the same server as your SVN
  repo, I really don't see the difference.

 True, as long as:
 (a) your svn server is already running behind a webserver, so the maven
 repo can easily be set up,
 (b) there is some upload support for that server,
 (c) there is some way of ensuring that jars always come from this repo,
 and never from ibiblio (this is the hardest bit in my experience)

You're right except couple of things :
- a) Http is not mandatory, you can use ftp or sctp for instance.
- c) Well this is one is easy to fix, install Maven proxy on your
internal corporation repository. Now on your desktop, go in your
settings.xml and declare this repository as the only mirror of
central. You'll never go on ibiblio again, the proxy will if you have 
configured it to do so. The only possible downside of this approach is
that your repository server needs acces to the Internet.

I understand inital difficulties using Maven repositories but once you
have an internal corporation repository coupled with Maven-proxy,
things get better. Well right now Maven-proxy is not the best 

Re: Dependencies Options

2006-04-25 Thread Alexandre Poitras
Well using the Jboss jars is indeed the solution. The only thing I
would do is install it in my local repository using
install:install-file. But you have to know it won't work on other
desktop so usually you should have an internal corporation repository
and deploy them there. This each developper won't have to install them
manually. After that, you can work with those jar like they were
normal dependencies.

On 4/25/06, Anshuman Srivastava [EMAIL PROTECTED] wrote:
 If we do not use the system dependecies then how can we resolve the
 dependency on ejb3.0 which is not available on
 http://www.ibiblio.org/maven2/. This was my problem so i used ejb3 jars
 distributed by jboss.Is there any other way?

 pom.xml---

  groupIdjboss.ejb3/groupId
  artifactIdejb3-persistence/artifactId
 version3.0/version
 scopesystem/scope
 systemPathC:/boss-4.0.4/server/default/deploy/ejb3.deployer/ejb3-
 persistence.jar/systemPath
  /dependency
  dependency
 groupIdjboss.ejb3/groupId
  artifactIdejb3-management/artifactId
 version3.0/version
 scopesystem/scope
 systemPathC:/boss-4.0.4/docs/examples/jmx/ejb-management.jar
 /systemPath
  /dependency
  dependency
 groupIdjboss-ejb3x/groupId
  artifactIdejb3x/artifactId
 version3.0/version
 scopesystem/scope
 systemPathC:/boss-4.0.4/server/default/deploy/ejb3.deployer/jboss-
 ejb3x.jar/systemPath
  /dependency
  dependency
 groupIdjboss-annotations-ejb3/groupId
  artifactIdannotations-ejb3/artifactId
 version3.0/version
 scopesystem/scope
  systemPathC:/boss-4.0.4/server/default/deploy/ejb3.deployer/jboss-
 annotations-ejb3.jar/systemPath
  /dependency


 On 4/25/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
 
  Well you can use *system* dependencies but you loose tons of
  advantages. Instead, maybe you should just populate your local
  repository using the install plugin and -o to run mvn offline.
 
  On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
   Is it a requirement that i use the remote repository for jars? Is
   there a way to reference jars that are distributed with the code when
   checked out from the code repository?
  
   Brandon
  
   -
   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]
 
 



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



Re: Dependencies Options

2006-04-25 Thread Wayne Fay
Use mvn install:install-file ... to install those ejb3 files into
your local repository. Then use scope compile, test, or provided as
necessary.

This is documented on the Maven website:
http://maven.apache.org/guides/mini/guide-installing-3rd-party-jars.html

Wayne

On 4/25/06, Anshuman Srivastava [EMAIL PROTECTED] wrote:
 If we do not use the system dependecies then how can we resolve the
 dependency on ejb3.0 which is not available on
 http://www.ibiblio.org/maven2/. This was my problem so i used ejb3 jars
 distributed by jboss.Is there any other way?

 pom.xml---

  groupIdjboss.ejb3/groupId
 artifactIdejb3-persistence/artifactId
version3.0/version
scopesystem/scope
systemPathC:/boss-4.0.4/server/default/deploy/ejb3.deployer/ejb3-
 persistence.jar/systemPath
 /dependency
 dependency
groupIdjboss.ejb3/groupId
 artifactIdejb3-management/artifactId
version3.0/version
scopesystem/scope
systemPathC:/boss-4.0.4/docs/examples/jmx/ejb-management.jar
 /systemPath
 /dependency
 dependency
groupIdjboss-ejb3x/groupId
 artifactIdejb3x/artifactId
version3.0/version
scopesystem/scope
systemPathC:/boss-4.0.4/server/default/deploy/ejb3.deployer/jboss-
 ejb3x.jar/systemPath
 /dependency
 dependency
groupIdjboss-annotations-ejb3/groupId
 artifactIdannotations-ejb3/artifactId
version3.0/version
scopesystem/scope
 systemPathC:/boss-4.0.4/server/default/deploy/ejb3.deployer/jboss-
 annotations-ejb3.jar/systemPath
 /dependency


 On 4/25/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
 
  Well you can use *system* dependencies but you loose tons of
  advantages. Instead, maybe you should just populate your local
  repository using the install plugin and -o to run mvn offline.
 
  On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
   Is it a requirement that i use the remote repository for jars? Is
   there a way to reference jars that are distributed with the code when
   checked out from the code repository?
  
   Brandon
  
   -
   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]
 
 




RE: Dependencies Options

2006-04-25 Thread Goodin, Brandon
Alexandre,

First, thanks for your response. I appreciate you taking the time to answer
my thoughts.

 Just one more thing I dislike about system dependencies I wanted 
 to specify. A good practice is usually to do a 
 complete project check out after a check in. Takes 
 a lot of times when you have several jars bundled with your projects.

This is a very contextual argument, which is what my point is. I think we
can all find reasons why we would opt for using the jar repository (as Simon
stated). But equally, I think there are contexts where we can make the
argument for not using the jar repository. In all the contexts I've worked
in thus far it takes me very little time to actually checkout my project...
jars included. This holds true for larger projects too. Disk space is cheap.
The strain on bandwidth is not a compelling enough argument due to the fact
that a check happens once every few hours in a system that has a continuous
build. Also, I don't think I've ever heard one complaint about disk space
usage or bandwidth usage when checking out source code containing libraries.

Another thought occurred to me while I was writing this. What about other
binary elements that are in a source tree? Such as Images or PDFs. Should we
create a binary repository for them too? Or maybe we can setup a WebDAV for
those ;-) Sometimes these things are needed... but not every time.

 What is the difference between a 
 internal corporation Maven repository and a internal corporation SVN 
 repository setup on the same server? Nothing except Maven repository 
 is better at handling dependencies then SVN.

You really make my point here :). You pose the question What's the
difference?. My answer is very little or none. So if there isn't a
compelling difference for my project it becomes extra baggage that I would
prefer not to have. Shouldn't it be an optional, planned and acceptable
practice not to use it?

So, the difference is:
1) I only need one repository SVN
2) I only need to make one call to SVN

I think Simon has very valid points and has made a stab at a solution. Would
an enhancement request to more openly support source tree based jars be
welcomed?

I want to reemphasize that I really appreciate the hard work the Maven
developers have put in. I really enjoy much of Maven. I just believe the
dependency options are too strict and need to provide additional support.

Thank you all for your dialog on this,
Brandon Goodin

Start simple and grow to complexity... when necessary

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



Re: Dependencies Options

2006-04-25 Thread dan tran
I think you can checkin all your dependencies into SCM using maven layout.
and point your pom to local directory containing your binaries.

-D


On 4/25/06, Goodin, Brandon [EMAIL PROTECTED] wrote:

 Alexandre,

 First, thanks for your response. I appreciate you taking the time to
 answer
 my thoughts.

  Just one more thing I dislike about system dependencies I wanted
  to specify. A good practice is usually to do a
  complete project check out after a check in. Takes
  a lot of times when you have several jars bundled with your projects.

 This is a very contextual argument, which is what my point is. I think we
 can all find reasons why we would opt for using the jar repository (as
 Simon
 stated). But equally, I think there are contexts where we can make the
 argument for not using the jar repository. In all the contexts I've worked
 in thus far it takes me very little time to actually checkout my
 project...
 jars included. This holds true for larger projects too. Disk space is
 cheap.
 The strain on bandwidth is not a compelling enough argument due to the
 fact
 that a check happens once every few hours in a system that has a
 continuous
 build. Also, I don't think I've ever heard one complaint about disk space
 usage or bandwidth usage when checking out source code containing
 libraries.

 Another thought occurred to me while I was writing this. What about other
 binary elements that are in a source tree? Such as Images or PDFs. Should
 we
 create a binary repository for them too? Or maybe we can setup a WebDAV
 for
 those ;-) Sometimes these things are needed... but not every time.

  What is the difference between a
  internal corporation Maven repository and a internal corporation SVN
  repository setup on the same server? Nothing except Maven repository
  is better at handling dependencies then SVN.

 You really make my point here :). You pose the question What's the
 difference?. My answer is very little or none. So if there isn't a
 compelling difference for my project it becomes extra baggage that I would
 prefer not to have. Shouldn't it be an optional, planned and acceptable
 practice not to use it?

 So, the difference is:
 1) I only need one repository SVN
 2) I only need to make one call to SVN

 I think Simon has very valid points and has made a stab at a solution.
 Would
 an enhancement request to more openly support source tree based jars be
 welcomed?

 I want to reemphasize that I really appreciate the hard work the Maven
 developers have put in. I really enjoy much of Maven. I just believe the
 dependency options are too strict and need to provide additional support.

 Thank you all for your dialog on this,
 Brandon Goodin

 Start simple and grow to complexity... when necessary

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




Re: Dependencies Options

2006-04-25 Thread Martin Cooper
On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:

 It is *strongly* suggested that you do not utilize scope system. This
 is available for the rare use case which actually requires it.

 In general, you should add dependencies to your local repo (or a
 corporate repo, if you are using one) and use dependency in the
 normal manner.


So what do people do when they're using commercial libraries that aren't
just jars? We use a commercial toolkit that comprises just under 5,000
files, 40 of which are jar files. Right now, just so that I can use the
Maven repo, I have to manually deploy each of those jar files to our
internal repo, adding version numbers, creating group and artifact ids, etc.
Then I have to package the other files up as a few zip files that I can
download using the Maven dependency plugin, and deploy those to the repo as
well. This is a painful manual process that needs to be repeated each time
we get a new version from the vendor.

Things might be simpler if the dependency plugin actually related to
dependencies. ;-) What I mean is that, in theory, I could just drop the
whole 3rd party toolkit into the repo as a zip file, use the dependency
plugin to grap and explode it, and then reference the jar files in my POM.
But doing that would require the use of system scope, because the dependency
plugin doesn't actually add dependencies to your build. (Actually, I really
don't understand why it's called the 'dependency' plugin, unless I've missed
something quite fundamental about it. ;)

Since I can't imagine that using a commercial toolkit could be considered a
rare use case, I'm wondering if I'm missing something rather basic. What
are other people doing in similar circumstances?

--
Martin Cooper


Wayne

 On 4/24/06, Kristian Nordal [EMAIL PROTECTED] wrote:
  On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
  
   Is it a requirement that i use the remote repository for jars? Is
   there a way to reference jars that are distributed with the code when
   checked out from the code repository?
 
 
  Take a look at the system scope:
 
 http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
 
  e.g:
 dependency
   groupIdfoo/groupId
   artifactIdfoo/artifactId
   version1.0.0/version
   scopesystem/scope
   systemPath${basedir}/foo/foo/1.0.0/foo-1.0.0.jar/systemPath
 /dependency
 
  --
  Cheers,
  Kristian
 
 



Re: Dependencies Options

2006-04-25 Thread Alexandre Poitras
On 4/25/06, Goodin, Brandon [EMAIL PROTECTED] wrote:
 Alexandre,

 First, thanks for your response. I appreciate you taking the time to answer
 my thoughts.

  Just one more thing I dislike about system dependencies I wanted
  to specify. A good practice is usually to do a
  complete project check out after a check in. Takes
  a lot of times when you have several jars bundled with your projects.

 This is a very contextual argument, which is what my point is. I think we
 can all find reasons why we would opt for using the jar repository (as Simon
 stated). But equally, I think there are contexts where we can make the
 argument for not using the jar repository. In all the contexts I've worked
 in thus far it takes me very little time to actually checkout my project...
 jars included. This holds true for larger projects too. Disk space is cheap.
 The strain on bandwidth is not a compelling enough argument due to the fact
 that a check happens once every few hours in a system that has a continuous
 build. Also, I don't think I've ever heard one complaint about disk space
 usage or bandwidth usage when checking out source code containing libraries.

 Another thought occurred to me while I was writing this. What about other
 binary elements that are in a source tree? Such as Images or PDFs. Should we
 create a binary repository for them too? Or maybe we can setup a WebDAV for
 those ;-) Sometimes these things are needed... but not every time.


They follow the project versionning so they be stored in SVN. The
difference is not based upon the file type but upon their versionning
cycle.

  What is the difference between a
  internal corporation Maven repository and a internal corporation SVN
  repository setup on the same server? Nothing except Maven repository
  is better at handling dependencies then SVN.

 You really make my point here :). You pose the question What's the
 difference?. My answer is very little or none. So if there isn't a
 compelling difference for my project it becomes extra baggage that I would
 prefer not to have. Shouldn't it be an optional, planned and acceptable
 practice not to use it?

Yeah, but dependencies have a versionning scheme of their own that
don't follow the project one. It wouldn't make any sense to me to put
other project sources in my project SVN repository either. Here why I
think dependencies repositories have a purpose.


 So, the difference is:
 1) I only need one repository SVN
 2) I only need to make one call to SVN

See my previous comment.



 I think Simon has very valid points and has made a stab at a solution. Would
 an enhancement request to more openly support source tree based jars be
 welcomed?

I am not a developper so I don't know. You should ask on the dev list.

 I want to reemphasize that I really appreciate the hard work the Maven
 developers have put in. I really enjoy much of Maven. I just believe the
 dependency options are too strict and need to provide additional support.


No problem, I also appreciate this discussion but I have a strong
opinion on this subject as you can see :) I prefer to put jar in Maven
repositories because it allow different teams to work on
interdependent project quite easily.

 Thank you all for your dialog on this,
 Brandon Goodin

 Start simple and grow to complexity... when necessary

 -
 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]



Re: Dependencies Options

2006-04-25 Thread Alexandre Poitras
On 4/25/06, Martin Cooper [EMAIL PROTECTED] wrote:
 On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
 
  It is *strongly* suggested that you do not utilize scope system. This
  is available for the rare use case which actually requires it.
 
  In general, you should add dependencies to your local repo (or a
  corporate repo, if you are using one) and use dependency in the
  normal manner.


 So what do people do when they're using commercial libraries that aren't
 just jars? We use a commercial toolkit that comprises just under 5,000
 files, 40 of which are jar files. Right now, just so that I can use the
 Maven repo, I have to manually deploy each of those jar files to our
 internal repo, adding version numbers, creating group and artifact ids, etc.
 Then I have to package the other files up as a few zip files that I can
 download using the Maven dependency plugin, and deploy those to the repo as
 well. This is a painful manual process that needs to be repeated each time
 we get a new version from the vendor.

 Things might be simpler if the dependency plugin actually related to
 dependencies. ;-) What I mean is that, in theory, I could just drop the
 whole 3rd party toolkit into the repo as a zip file, use the dependency
 plugin to grap and explode it, and then reference the jar files in my POM.
 But doing that would require the use of system scope, because the dependency
 plugin doesn't actually add dependencies to your build. (Actually, I really
 don't understand why it's called the 'dependency' plugin, unless I've missed
 something quite fundamental about it. ;)

Really, I think this is one case where using system dependencies make
sense. But expect changes in the system dependencies. From what I have
red, Maven developpers think it is just a temporary patch for those
kind of problems.


 Since I can't imagine that using a commercial toolkit could be considered a
 rare use case, I'm wondering if I'm missing something rather basic. What
 are other people doing in similar circumstances?


I think system dependencies makes sense there but I could  be wrong.

 --
 Martin Cooper


 Wayne
 
  On 4/24/06, Kristian Nordal [EMAIL PROTECTED] wrote:
   On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
   
Is it a requirement that i use the remote repository for jars? Is
there a way to reference jars that are distributed with the code when
checked out from the code repository?
  
  
   Take a look at the system scope:
  
  http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
  
   e.g:
  dependency
groupIdfoo/groupId
artifactIdfoo/artifactId
version1.0.0/version
scopesystem/scope
systemPath${basedir}/foo/foo/1.0.0/foo-1.0.0.jar/systemPath
  /dependency
  
   --
   Cheers,
   Kristian
  
  
 



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



Re: Dependencies Options

2006-04-25 Thread Alexandre Poitras
On 4/25/06, Wayne Fay [EMAIL PROTECTED] wrote:
 Since you're a paying customer, I'd ask your vendor to set up a Maven
 repo protected by HTTPS (or something similar to only allow valid
 customers to access it) that you can utilize. Put the onus back on
 them to handle the Maven repo with upgrading components etc.

 If this isn't realistic, I'd write a little Perl or Ruby script to
 accept a version number and a directory containing the jars, and make
 system calls to install each jar in turn into your corporate repo.
 When it has finished installing them, it could output a dependencies
 xml node that you can cut and paste into your project pom.xml files to
 pull in all the newly installed modules. (Someone actually sent a Ruby
 script to do the first half of this a few weeks ago, check the User
 list archive.)

 As for dependency plugin does not add dependencies... I'm wondering
 where that's coming from... If your third-party jars were proper
 Maven dependencies, they would each have a pom file describing their
 dependencies. So you could include in your pom a dependency on modA,
 which has deps on modB, modC; and modC has deps on modD and modE.
 Simply by adding the modA dep in your project's pom file, you would
 have modA-modE pulled in and used automatically as needed during
 compilation, testing, etc.

 Only because you are not creating proper poms for each module,
 declaring what specifically is dependent on what else etc, Maven
 cannot build a dependency tree to discover these transitive
 dependencies. So instead you have to declare every single module
 individually in your pom, I guess. This is not a fault of Maven,
 rather, it is a failure related to your current usage of the tool.
 (imho)

 We use some commercial toolkit jars as well, but check them into our
 Corporate repo, and just deal with it. Its not that big of a deal for
 us. The 1hr work of one person turns into hours saved not emailing
 jars around to all the various members of different development teams
 to make sure their project lib folders are up to date, dealing with
 large quantities of binary files checked into source control, etc. So
 for us it is an advantage.


Totally agree with you on this one. We did the same and it's worth it.
Save a lot of problems, especially when you want to distribute a new
version.

 Wayne

 On 4/25/06, Martin Cooper [EMAIL PROTECTED] wrote:
  On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
  
   It is *strongly* suggested that you do not utilize scope system. This
   is available for the rare use case which actually requires it.
  
   In general, you should add dependencies to your local repo (or a
   corporate repo, if you are using one) and use dependency in the
   normal manner.
 
 
  So what do people do when they're using commercial libraries that aren't
  just jars? We use a commercial toolkit that comprises just under 5,000
  files, 40 of which are jar files. Right now, just so that I can use the
  Maven repo, I have to manually deploy each of those jar files to our
  internal repo, adding version numbers, creating group and artifact ids, etc.
  Then I have to package the other files up as a few zip files that I can
  download using the Maven dependency plugin, and deploy those to the repo as
  well. This is a painful manual process that needs to be repeated each time
  we get a new version from the vendor.
 
  Things might be simpler if the dependency plugin actually related to
  dependencies. ;-) What I mean is that, in theory, I could just drop the
  whole 3rd party toolkit into the repo as a zip file, use the dependency
  plugin to grap and explode it, and then reference the jar files in my POM.
  But doing that would require the use of system scope, because the dependency
  plugin doesn't actually add dependencies to your build. (Actually, I really
  don't understand why it's called the 'dependency' plugin, unless I've missed
  something quite fundamental about it. ;)
 
  Since I can't imagine that using a commercial toolkit could be considered a
  rare use case, I'm wondering if I'm missing something rather basic. What
  are other people doing in similar circumstances?
 
  --
  Martin Cooper
 
 
  Wayne
  
   On 4/24/06, Kristian Nordal [EMAIL PROTECTED] wrote:
On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:

 Is it a requirement that i use the remote repository for jars? Is
 there a way to reference jars that are distributed with the code when
 checked out from the code repository?
   
   
Take a look at the system scope:
   
   http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
   
e.g:
   dependency
 groupIdfoo/groupId
 artifactIdfoo/artifactId
 version1.0.0/version
 scopesystem/scope
 systemPath${basedir}/foo/foo/1.0.0/foo-1.0.0.jar/systemPath
   /dependency
   
--
Cheers,
Kristian
   
   
  
 
 



Re: Dependencies Options

2006-04-25 Thread Martin Cooper
On 4/25/06, Wayne Fay [EMAIL PROTECTED] wrote:

 Since you're a paying customer, I'd ask your vendor to set up a Maven
 repo protected by HTTPS (or something similar to only allow valid
 customers to access it) that you can utilize. Put the onus back on
 them to handle the Maven repo with upgrading components etc.


I can try, but I won't hold my breath. ;-) In particular, there's no one way
that would make sense for all of their customers to partition the ~5,000
files that are not jars.

If this isn't realistic, I'd write a little Perl or Ruby script to
 accept a version number and a directory containing the jars, and make
 system calls to install each jar in turn into your corporate repo.
 When it has finished installing them, it could output a dependencies
 xml node that you can cut and paste into your project pom.xml files to
 pull in all the newly installed modules. (Someone actually sent a Ruby
 script to do the first half of this a few weeks ago, check the User
 list archive.)


Yeah, that's where I figured I'd end up having to go. One thing that's a bit
annoying on that front, though, is that I found that when I put a bunch of
'mvn foo'  commands in a Windows batch file, only the first one executes,
even if that first one is successful. ;-(

As for dependency plugin does not add dependencies... I'm wondering
 where that's coming from... If your third-party jars were proper
 Maven dependencies, they would each have a pom file describing their
 dependencies. So you could include in your pom a dependency on modA,
 which has deps on modB, modC; and modC has deps on modD and modE.
 Simply by adding the modA dep in your project's pom file, you would
 have modA-modE pulled in and used automatically as needed during
 compilation, testing, etc.


Sorry, that's not what I mean at all. I can use dependency:copy or
dependency:unpack to get artifacts from the repo, but as far as I can
determine, there is zero relationship between those artifacts and my build
dependencies. Certainly anything I obtain that way is not treated as a
dependency for build purposes. So I don't understand why they're in a plugin
called a 'dependency' plugin.

I understand that the '-dependencies' versions of these goals are based on
declared dependencies, but that wasn't what I was referring to. Admittedly,
I wasn't clear about that. Sorry.

--
Martin Cooper


Only because you are not creating proper poms for each module,
 declaring what specifically is dependent on what else etc, Maven
 cannot build a dependency tree to discover these transitive
 dependencies. So instead you have to declare every single module
 individually in your pom, I guess. This is not a fault of Maven,
 rather, it is a failure related to your current usage of the tool.
 (imho)

 We use some commercial toolkit jars as well, but check them into our
 Corporate repo, and just deal with it. Its not that big of a deal for
 us. The 1hr work of one person turns into hours saved not emailing
 jars around to all the various members of different development teams
 to make sure their project lib folders are up to date, dealing with
 large quantities of binary files checked into source control, etc. So
 for us it is an advantage.

 Wayne

 On 4/25/06, Martin Cooper [EMAIL PROTECTED] wrote:
  On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
  
   It is *strongly* suggested that you do not utilize scope system. This
   is available for the rare use case which actually requires it.
  
   In general, you should add dependencies to your local repo (or a
   corporate repo, if you are using one) and use dependency in the
   normal manner.
 
 
  So what do people do when they're using commercial libraries that aren't
  just jars? We use a commercial toolkit that comprises just under 5,000
  files, 40 of which are jar files. Right now, just so that I can use the
  Maven repo, I have to manually deploy each of those jar files to our
  internal repo, adding version numbers, creating group and artifact ids,
 etc.
  Then I have to package the other files up as a few zip files that I can
  download using the Maven dependency plugin, and deploy those to the repo
 as
  well. This is a painful manual process that needs to be repeated each
 time
  we get a new version from the vendor.
 
  Things might be simpler if the dependency plugin actually related to
  dependencies. ;-) What I mean is that, in theory, I could just drop the
  whole 3rd party toolkit into the repo as a zip file, use the dependency
  plugin to grap and explode it, and then reference the jar files in my
 POM.
  But doing that would require the use of system scope, because the
 dependency
  plugin doesn't actually add dependencies to your build. (Actually, I
 really
  don't understand why it's called the 'dependency' plugin, unless I've
 missed
  something quite fundamental about it. ;)
 
  Since I can't imagine that using a commercial toolkit could be
 considered a
  rare use case, I'm wondering if I'm missing something 

Re: Dependencies Options

2006-04-25 Thread Wayne Fay
On 4/25/06, Martin Cooper [EMAIL PROTECTED] wrote:
 Sorry, that's not what I mean at all. I can use dependency:copy or
 dependency:unpack to get artifacts from the repo, but as far as I can
 determine, there is zero relationship between those artifacts and my build
 dependencies. Certainly anything I obtain that way is not treated as a
 dependency for build purposes. So I don't understand why they're in a plugin
 called a 'dependency' plugin.

You're right... Changing the plugin name to Artifact rather than
Dependency might make more sense. ;-)

Wayne


Dependencies Options

2006-04-24 Thread Brandon Goodin
Is it a requirement that i use the remote repository for jars? Is
there a way to reference jars that are distributed with the code when
checked out from the code repository?

Brandon

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



Re: Dependencies Options

2006-04-24 Thread Alexandre Poitras
Well you can use *system* dependencies but you loose tons of
advantages. Instead, maybe you should just populate your local
repository using the install plugin and -o to run mvn offline.

On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
 Is it a requirement that i use the remote repository for jars? Is
 there a way to reference jars that are distributed with the code when
 checked out from the code repository?

 Brandon

 -
 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]



Re: Dependencies Options

2006-04-24 Thread Kristian Nordal
On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:

 Is it a requirement that i use the remote repository for jars? Is
 there a way to reference jars that are distributed with the code when
 checked out from the code repository?


Take a look at the system scope:
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

e.g:
dependency
  groupIdfoo/groupId
  artifactIdfoo/artifactId
  version1.0.0/version
  scopesystem/scope
  systemPath${basedir}/foo/foo/1.0.0/foo-1.0.0.jar/systemPath
/dependency

--
Cheers,
Kristian


Re: Dependencies Options

2006-04-24 Thread Wayne Fay
It is *strongly* suggested that you do not utilize scope system. This
is available for the rare use case which actually requires it.

In general, you should add dependencies to your local repo (or a
corporate repo, if you are using one) and use dependency in the
normal manner.

Wayne

On 4/24/06, Kristian Nordal [EMAIL PROTECTED] wrote:
 On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
 
  Is it a requirement that i use the remote repository for jars? Is
  there a way to reference jars that are distributed with the code when
  checked out from the code repository?


 Take a look at the system scope:
 http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

 e.g:
dependency
  groupIdfoo/groupId
  artifactIdfoo/artifactId
  version1.0.0/version
  scopesystem/scope
  systemPath${basedir}/foo/foo/1.0.0/foo-1.0.0.jar/systemPath
/dependency

 --
 Cheers,
 Kristian




Re: Dependencies Options

2006-04-24 Thread Brandon Goodin
tons of advantages - please quantify this.

Personally, I find the repository to be a nice piece of Maven. But,
I don't see it as a cardinal sin to actually distribute libraries in
your project. If you follow the libary naming convention then who
cares?

Personally, what i find annoying are the copious additional, needless,
and redundant dependencies that i have to download because of the
dependencies defined in the pom of a jar that i need to download. I
also find it annoying to have to manually install several small
libraries to my local repo cuz i can't distribute them as a result of
licensing. It is additionally annoying to have to setup a jar
repository that will be used for jars that will be needed that can
only be distributed privately. All of this... vs. me just referencing
them in my source tree?

I like Maven a lot and really enjoy the standard project layout
features and plugins that are provided. But, the jar repository has
caused me more time and less efficiency. However, i do like ibiblio
for a single one stop shop for grabbing jars i need... to drop in my
source tree ;-)

I like it when people can check out my source from SVN and simply
build. This is possible when i place them in SVN. Heck, I can even
check Sun Jars into my SVN repo! ;)

Thanks to everyone for pointing me in the direction of the system.
I'll be using it. I'm always open to a compelling argument and a tap
on the forehead that helps me to see the light.

Many Thanks,
Brandon

On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
 Well you can use *system* dependencies but you loose tons of
 advantages. Instead, maybe you should just populate your local
 repository using the install plugin and -o to run mvn offline.

 On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
  Is it a requirement that i use the remote repository for jars? Is
  there a way to reference jars that are distributed with the code when
  checked out from the code repository?
 
  Brandon
 
  -
  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]



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



Re: Dependencies Options

2006-04-24 Thread Wayne Fay
Checking Sun Jars into your repo is a violation of the Sun Binary
Compatibility License which you agreed to when you downloaded the
file. (Assuming the file was downloaded from Sun under the Sun BCL
terms, which most files on Sun.com require you to accept prior to
downloading.)

I doubt Sun will chase you down and prosecute you, but realize that
some of us actually care about respecting intellectual property and
license requirements. Complaining about the way these Sun Jars are
handled to the Maven User list is really the wrong place -- complain
directly to Sun, ask them to modify the distribution terms of their
licenses, etc.

Wayne

On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
 tons of advantages - please quantify this.

 Personally, I find the repository to be a nice piece of Maven. But,
 I don't see it as a cardinal sin to actually distribute libraries in
 your project. If you follow the libary naming convention then who
 cares?

 Personally, what i find annoying are the copious additional, needless,
 and redundant dependencies that i have to download because of the
 dependencies defined in the pom of a jar that i need to download. I
 also find it annoying to have to manually install several small
 libraries to my local repo cuz i can't distribute them as a result of
 licensing. It is additionally annoying to have to setup a jar
 repository that will be used for jars that will be needed that can
 only be distributed privately. All of this... vs. me just referencing
 them in my source tree?

 I like Maven a lot and really enjoy the standard project layout
 features and plugins that are provided. But, the jar repository has
 caused me more time and less efficiency. However, i do like ibiblio
 for a single one stop shop for grabbing jars i need... to drop in my
 source tree ;-)

 I like it when people can check out my source from SVN and simply
 build. This is possible when i place them in SVN. Heck, I can even
 check Sun Jars into my SVN repo! ;)

 Thanks to everyone for pointing me in the direction of the system.
 I'll be using it. I'm always open to a compelling argument and a tap
 on the forehead that helps me to see the light.

 Many Thanks,
 Brandon

 On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
  Well you can use *system* dependencies but you loose tons of
  advantages. Instead, maybe you should just populate your local
  repository using the install plugin and -o to run mvn offline.
 
  On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
   Is it a requirement that i use the remote repository for jars? Is
   there a way to reference jars that are distributed with the code when
   checked out from the code repository?
  
   Brandon
  
   -
   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]
 
 

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




Re: Dependencies Options

2006-04-24 Thread Wayne Fay
That should be Checking Sun Jars into your SVN repo. Obviously
anyone is allowed to download the Sun Jars and install them into their
own local Maven repo, or anything else permitted under the Sun BCL
terms.

Checking the jars into a publicly available distribution service ie
Sourceforge CVS/SVN etc is unfortunately not allowed by Sun's
licensing.

You can go to Sun.com and read the specifics of the BCL if you want,
to see what specifically is permitted and what is not.

Wayne

On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
 Checking Sun Jars into your repo is a violation of the Sun Binary
 Compatibility License which you agreed to when you downloaded the
 file. (Assuming the file was downloaded from Sun under the Sun BCL
 terms, which most files on Sun.com require you to accept prior to
 downloading.)

 I doubt Sun will chase you down and prosecute you, but realize that
 some of us actually care about respecting intellectual property and
 license requirements. Complaining about the way these Sun Jars are
 handled to the Maven User list is really the wrong place -- complain
 directly to Sun, ask them to modify the distribution terms of their
 licenses, etc.

 Wayne

 On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
  tons of advantages - please quantify this.
 
  Personally, I find the repository to be a nice piece of Maven. But,
  I don't see it as a cardinal sin to actually distribute libraries in
  your project. If you follow the libary naming convention then who
  cares?
 
  Personally, what i find annoying are the copious additional, needless,
  and redundant dependencies that i have to download because of the
  dependencies defined in the pom of a jar that i need to download. I
  also find it annoying to have to manually install several small
  libraries to my local repo cuz i can't distribute them as a result of
  licensing. It is additionally annoying to have to setup a jar
  repository that will be used for jars that will be needed that can
  only be distributed privately. All of this... vs. me just referencing
  them in my source tree?
 
  I like Maven a lot and really enjoy the standard project layout
  features and plugins that are provided. But, the jar repository has
  caused me more time and less efficiency. However, i do like ibiblio
  for a single one stop shop for grabbing jars i need... to drop in my
  source tree ;-)
 
  I like it when people can check out my source from SVN and simply
  build. This is possible when i place them in SVN. Heck, I can even
  check Sun Jars into my SVN repo! ;)
 
  Thanks to everyone for pointing me in the direction of the system.
  I'll be using it. I'm always open to a compelling argument and a tap
  on the forehead that helps me to see the light.
 
  Many Thanks,
  Brandon
 
  On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
   Well you can use *system* dependencies but you loose tons of
   advantages. Instead, maybe you should just populate your local
   repository using the install plugin and -o to run mvn offline.
  
   On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
Is it a requirement that i use the remote repository for jars? Is
there a way to reference jars that are distributed with the code when
checked out from the code repository?
   
Brandon
   
-
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]
  
  
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 



Re: Dependencies Options

2006-04-24 Thread Brandon Goodin
The sun jars were a minor point. You still didn't answer the larger context.

Brandon

On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
 Checking Sun Jars into your repo is a violation of the Sun Binary
 Compatibility License which you agreed to when you downloaded the
 file. (Assuming the file was downloaded from Sun under the Sun BCL
 terms, which most files on Sun.com require you to accept prior to
 downloading.)

 I doubt Sun will chase you down and prosecute you, but realize that
 some of us actually care about respecting intellectual property and
 license requirements. Complaining about the way these Sun Jars are
 handled to the Maven User list is really the wrong place -- complain
 directly to Sun, ask them to modify the distribution terms of their
 licenses, etc.

 Wayne

 On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
  tons of advantages - please quantify this.
 
  Personally, I find the repository to be a nice piece of Maven. But,
  I don't see it as a cardinal sin to actually distribute libraries in
  your project. If you follow the libary naming convention then who
  cares?
 
  Personally, what i find annoying are the copious additional, needless,
  and redundant dependencies that i have to download because of the
  dependencies defined in the pom of a jar that i need to download. I
  also find it annoying to have to manually install several small
  libraries to my local repo cuz i can't distribute them as a result of
  licensing. It is additionally annoying to have to setup a jar
  repository that will be used for jars that will be needed that can
  only be distributed privately. All of this... vs. me just referencing
  them in my source tree?
 
  I like Maven a lot and really enjoy the standard project layout
  features and plugins that are provided. But, the jar repository has
  caused me more time and less efficiency. However, i do like ibiblio
  for a single one stop shop for grabbing jars i need... to drop in my
  source tree ;-)
 
  I like it when people can check out my source from SVN and simply
  build. This is possible when i place them in SVN. Heck, I can even
  check Sun Jars into my SVN repo! ;)
 
  Thanks to everyone for pointing me in the direction of the system.
  I'll be using it. I'm always open to a compelling argument and a tap
  on the forehead that helps me to see the light.
 
  Many Thanks,
  Brandon
 
  On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
   Well you can use *system* dependencies but you loose tons of
   advantages. Instead, maybe you should just populate your local
   repository using the install plugin and -o to run mvn offline.
  
   On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
Is it a requirement that i use the remote repository for jars? Is
there a way to reference jars that are distributed with the code when
checked out from the code repository?
   
Brandon
   
-
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]
  
  
 
  -
  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]



Re: Dependencies Options

2006-04-24 Thread Brandon Goodin
For your reading pleasure:

1. You may reproduce and use the Software for
Individual, Commercial, or Research and Instructional
Use for the purposes of designing, developing,
testing, and running Your applets and applications
(Programs).

2. Subject to the terms and conditions of this
Agreement and restrictions and exceptions set forth in
the Software's documentation, You may reproduce and
distribute Software, provided that:

(a) you distribute the Software complete and
unmodified and only bundled as part of Your Programs,

(b) your Programs add significant and primary
functionality to the Software,

(c) you distribute Software for the sole purpose of
running your Programs,

(d) you do not distribute additional software intended
to replace any
component(s) of the Software,

(e) you do not remove or alter any proprietary legends
or notices contained in or on the Software.

(f) you only distribute the Software subject to a
license agreement that
protects Sun's interests consistent with the terms
contained in this
Agreement, and

(g) you agree to defend and indemnify Sun and its
licensors from and against any damages, costs,
liabilities, settlement amounts and/or expenses
(including attorneys' fees) incurred in connection
with any claim, lawsuit or action by any third party
that arises or results from the use or distribution of
any and all Programs and/or Software.

On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
 Checking Sun Jars into your repo is a violation of the Sun Binary
 Compatibility License which you agreed to when you downloaded the
 file. (Assuming the file was downloaded from Sun under the Sun BCL
 terms, which most files on Sun.com require you to accept prior to
 downloading.)

 I doubt Sun will chase you down and prosecute you, but realize that
 some of us actually care about respecting intellectual property and
 license requirements. Complaining about the way these Sun Jars are
 handled to the Maven User list is really the wrong place -- complain
 directly to Sun, ask them to modify the distribution terms of their
 licenses, etc.

 Wayne

 On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
  tons of advantages - please quantify this.
 
  Personally, I find the repository to be a nice piece of Maven. But,
  I don't see it as a cardinal sin to actually distribute libraries in
  your project. If you follow the libary naming convention then who
  cares?
 
  Personally, what i find annoying are the copious additional, needless,
  and redundant dependencies that i have to download because of the
  dependencies defined in the pom of a jar that i need to download. I
  also find it annoying to have to manually install several small
  libraries to my local repo cuz i can't distribute them as a result of
  licensing. It is additionally annoying to have to setup a jar
  repository that will be used for jars that will be needed that can
  only be distributed privately. All of this... vs. me just referencing
  them in my source tree?
 
  I like Maven a lot and really enjoy the standard project layout
  features and plugins that are provided. But, the jar repository has
  caused me more time and less efficiency. However, i do like ibiblio
  for a single one stop shop for grabbing jars i need... to drop in my
  source tree ;-)
 
  I like it when people can check out my source from SVN and simply
  build. This is possible when i place them in SVN. Heck, I can even
  check Sun Jars into my SVN repo! ;)
 
  Thanks to everyone for pointing me in the direction of the system.
  I'll be using it. I'm always open to a compelling argument and a tap
  on the forehead that helps me to see the light.
 
  Many Thanks,
  Brandon
 
  On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
   Well you can use *system* dependencies but you loose tons of
   advantages. Instead, maybe you should just populate your local
   repository using the install plugin and -o to run mvn offline.
  
   On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
Is it a requirement that i use the remote repository for jars? Is
there a way to reference jars that are distributed with the code when
checked out from the code repository?
   
Brandon
   
-
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]
  
  
 
  -
  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]



Re: Dependencies Options

2006-04-24 Thread Brandon Goodin
Hey Wayne, I'm sorry if my email tone sounds aggressive... i really am
not trying to come off that way. So please accept my comments purely
as an exercise in conversation.

I totally understand the intellectual property that rights that Sun
attaches to their jars. I fully respect them. I'm just trying to
understand why so much emphasis is placed on the centralized jar repo.
There were plenty of other concerns besides the sun jars that i cited.
I'm just speaking more from my needs. The repo is cool. But, I see an
equally acceptable approach of having jars that you check into your
source code repo. I guess I'm trying more to understand why there is
such an emphasis on central repo over simply presenting the ability to
use either/or.

As an additional note, the centralized repo is only as good as those
willing to post to it. I've run into the problem that the latest and
greatest are not always on ibiblio. I've also ran into the problem
that there are sometimes version gaps. Also, I've seen where there are
the same jars under different (but similar) group ids. I know i can
setup a local repo for jars. But, then i find myself wondering why.
Especially when i already have a versioning repository... SVN.

Many thanks for your time and responses,
Brandon



On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
 That should be Checking Sun Jars into your SVN repo. Obviously
 anyone is allowed to download the Sun Jars and install them into their
 own local Maven repo, or anything else permitted under the Sun BCL
 terms.

 Checking the jars into a publicly available distribution service ie
 Sourceforge CVS/SVN etc is unfortunately not allowed by Sun's
 licensing.

 You can go to Sun.com and read the specifics of the BCL if you want,
 to see what specifically is permitted and what is not.

 Wayne

 On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
  Checking Sun Jars into your repo is a violation of the Sun Binary
  Compatibility License which you agreed to when you downloaded the
  file. (Assuming the file was downloaded from Sun under the Sun BCL
  terms, which most files on Sun.com require you to accept prior to
  downloading.)
 
  I doubt Sun will chase you down and prosecute you, but realize that
  some of us actually care about respecting intellectual property and
  license requirements. Complaining about the way these Sun Jars are
  handled to the Maven User list is really the wrong place -- complain
  directly to Sun, ask them to modify the distribution terms of their
  licenses, etc.
 
  Wayne
 
  On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
   tons of advantages - please quantify this.
  
   Personally, I find the repository to be a nice piece of Maven. But,
   I don't see it as a cardinal sin to actually distribute libraries in
   your project. If you follow the libary naming convention then who
   cares?
  
   Personally, what i find annoying are the copious additional, needless,
   and redundant dependencies that i have to download because of the
   dependencies defined in the pom of a jar that i need to download. I
   also find it annoying to have to manually install several small
   libraries to my local repo cuz i can't distribute them as a result of
   licensing. It is additionally annoying to have to setup a jar
   repository that will be used for jars that will be needed that can
   only be distributed privately. All of this... vs. me just referencing
   them in my source tree?
  
   I like Maven a lot and really enjoy the standard project layout
   features and plugins that are provided. But, the jar repository has
   caused me more time and less efficiency. However, i do like ibiblio
   for a single one stop shop for grabbing jars i need... to drop in my
   source tree ;-)
  
   I like it when people can check out my source from SVN and simply
   build. This is possible when i place them in SVN. Heck, I can even
   check Sun Jars into my SVN repo! ;)
  
   Thanks to everyone for pointing me in the direction of the system.
   I'll be using it. I'm always open to a compelling argument and a tap
   on the forehead that helps me to see the light.
  
   Many Thanks,
   Brandon
  
   On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
Well you can use *system* dependencies but you loose tons of
advantages. Instead, maybe you should just populate your local
repository using the install plugin and -o to run mvn offline.
   
On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
 Is it a requirement that i use the remote repository for jars? Is
 there a way to reference jars that are distributed with the code when
 checked out from the code repository?

 Brandon

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


   
-
To unsubscribe, e-mail: [EMAIL PROTECTED]

Re: Dependencies Options

2006-04-24 Thread Wayne Fay
No worries, Brandon. I have to run now but I'll be happy to continue
the discussion later tonight... ;-)

Wayne

On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
 Hey Wayne, I'm sorry if my email tone sounds aggressive... i really am
 not trying to come off that way. So please accept my comments purely
 as an exercise in conversation.

 I totally understand the intellectual property that rights that Sun
 attaches to their jars. I fully respect them. I'm just trying to
 understand why so much emphasis is placed on the centralized jar repo.
 There were plenty of other concerns besides the sun jars that i cited.
 I'm just speaking more from my needs. The repo is cool. But, I see an
 equally acceptable approach of having jars that you check into your
 source code repo. I guess I'm trying more to understand why there is
 such an emphasis on central repo over simply presenting the ability to
 use either/or.

 As an additional note, the centralized repo is only as good as those
 willing to post to it. I've run into the problem that the latest and
 greatest are not always on ibiblio. I've also ran into the problem
 that there are sometimes version gaps. Also, I've seen where there are
 the same jars under different (but similar) group ids. I know i can
 setup a local repo for jars. But, then i find myself wondering why.
 Especially when i already have a versioning repository... SVN.

 Many thanks for your time and responses,
 Brandon



 On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
  That should be Checking Sun Jars into your SVN repo. Obviously
  anyone is allowed to download the Sun Jars and install them into their
  own local Maven repo, or anything else permitted under the Sun BCL
  terms.
 
  Checking the jars into a publicly available distribution service ie
  Sourceforge CVS/SVN etc is unfortunately not allowed by Sun's
  licensing.
 
  You can go to Sun.com and read the specifics of the BCL if you want,
  to see what specifically is permitted and what is not.
 
  Wayne
 
  On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
   Checking Sun Jars into your repo is a violation of the Sun Binary
   Compatibility License which you agreed to when you downloaded the
   file. (Assuming the file was downloaded from Sun under the Sun BCL
   terms, which most files on Sun.com require you to accept prior to
   downloading.)
  
   I doubt Sun will chase you down and prosecute you, but realize that
   some of us actually care about respecting intellectual property and
   license requirements. Complaining about the way these Sun Jars are
   handled to the Maven User list is really the wrong place -- complain
   directly to Sun, ask them to modify the distribution terms of their
   licenses, etc.
  
   Wayne
  
   On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
tons of advantages - please quantify this.
   
Personally, I find the repository to be a nice piece of Maven. But,
I don't see it as a cardinal sin to actually distribute libraries in
your project. If you follow the libary naming convention then who
cares?
   
Personally, what i find annoying are the copious additional, needless,
and redundant dependencies that i have to download because of the
dependencies defined in the pom of a jar that i need to download. I
also find it annoying to have to manually install several small
libraries to my local repo cuz i can't distribute them as a result of
licensing. It is additionally annoying to have to setup a jar
repository that will be used for jars that will be needed that can
only be distributed privately. All of this... vs. me just referencing
them in my source tree?
   
I like Maven a lot and really enjoy the standard project layout
features and plugins that are provided. But, the jar repository has
caused me more time and less efficiency. However, i do like ibiblio
for a single one stop shop for grabbing jars i need... to drop in my
source tree ;-)
   
I like it when people can check out my source from SVN and simply
build. This is possible when i place them in SVN. Heck, I can even
check Sun Jars into my SVN repo! ;)
   
Thanks to everyone for pointing me in the direction of the system.
I'll be using it. I'm always open to a compelling argument and a tap
on the forehead that helps me to see the light.
   
Many Thanks,
Brandon
   
On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
 Well you can use *system* dependencies but you loose tons of
 advantages. Instead, maybe you should just populate your local
 repository using the install plugin and -o to run mvn offline.

 On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
  Is it a requirement that i use the remote repository for jars? Is
  there a way to reference jars that are distributed with the code 
  when
  checked out from the code repository?
 
  Brandon
 
  

Re: Dependencies Options

2006-04-24 Thread Simon Kitching
Hi,

I agree with much of what Brandon is saying.

For *open source* projects, Maven's repository is really useful; the
minor inconveniences are worth living with. In particular, such projects
need to conserve disk space and network bandwidth; checking in jars for
each project is therefore a bad idea. Brandon: imagine if Apache
projects used the check jars in with project approach; the disk space
needed would multiply 100-fold, with the same jar checked in multiple
times under different projects. It also means that those files are all
downloaded from the apache site, not ibiblio. And it means that users
(who may be on dialup connections) end up downloading the same jars
multiple times even when they already have those jars on their local PC.

For *internal* projects, however, having local jars can be very useful.
Bandwidth is less of an issue; simplicity and reproducable builds are
more important. And as several people have noted on this list (and I've
found from experience too) preventing maven from fetching stuff from
repositories beyond your control is currently *really hard*.

I think it would be really nice if repositories could have a
remotefalse/remote tag; a non-remote repo (using any access
protocol) would be used when offline mode is used. People could then
check a complete maven repository into their project if they wish, and
use a repository declaration with url file://..., remote set to false,
and offline set to true. This wouldn't be recommended for sites that
host large numbers of projects, as disk-space and bandwidth issues would
cause problems, but it's then easy to set up self-contained builds for
smaller sites. It's not *quite* as simple to use as simply checking in a
directory of jars and pointing to that dir, but it's close - while still
supporting much of maven's standard dependency support. Hmm..could the
same effect be achieved by checking in an settings.xml with
localRepository pointing to a checked-in dir, and running maven with
mvn -s ./settings.xml?

Brandon: Note that when using scopesystem/scope, transitive
dependencies aren't supported. It's really meant only for pointing at
files like rt.jar from a locally-installed jdk. That doesn't mean you
can't use it for the purpose you want, but that's not its intent.

Cheers,

Simon

On Mon, 2006-04-24 at 16:13 -0600, Brandon Goodin wrote:
 Hey Wayne, I'm sorry if my email tone sounds aggressive... i really am
 not trying to come off that way. So please accept my comments purely
 as an exercise in conversation.
 
 I totally understand the intellectual property that rights that Sun
 attaches to their jars. I fully respect them. I'm just trying to
 understand why so much emphasis is placed on the centralized jar repo.
 There were plenty of other concerns besides the sun jars that i cited.
 I'm just speaking more from my needs. The repo is cool. But, I see an
 equally acceptable approach of having jars that you check into your
 source code repo. I guess I'm trying more to understand why there is
 such an emphasis on central repo over simply presenting the ability to
 use either/or.
 
 As an additional note, the centralized repo is only as good as those
 willing to post to it. I've run into the problem that the latest and
 greatest are not always on ibiblio. I've also ran into the problem
 that there are sometimes version gaps. Also, I've seen where there are
 the same jars under different (but similar) group ids. I know i can
 setup a local repo for jars. But, then i find myself wondering why.
 Especially when i already have a versioning repository... SVN.
 
 Many thanks for your time and responses,
 Brandon
 
 
 
 On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
  That should be Checking Sun Jars into your SVN repo. Obviously
  anyone is allowed to download the Sun Jars and install them into their
  own local Maven repo, or anything else permitted under the Sun BCL
  terms.
 
  Checking the jars into a publicly available distribution service ie
  Sourceforge CVS/SVN etc is unfortunately not allowed by Sun's
  licensing.
 
  You can go to Sun.com and read the specifics of the BCL if you want,
  to see what specifically is permitted and what is not.
 
  Wayne
 
  On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
   Checking Sun Jars into your repo is a violation of the Sun Binary
   Compatibility License which you agreed to when you downloaded the
   file. (Assuming the file was downloaded from Sun under the Sun BCL
   terms, which most files on Sun.com require you to accept prior to
   downloading.)
  
   I doubt Sun will chase you down and prosecute you, but realize that
   some of us actually care about respecting intellectual property and
   license requirements. Complaining about the way these Sun Jars are
   handled to the Maven User list is really the wrong place -- complain
   directly to Sun, ask them to modify the distribution terms of their
   licenses, etc.
  
   Wayne
  
   On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:

Re: Dependencies Options

2006-04-24 Thread Alexandre Poitras
On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
 tons of advantages - please quantify this.

Well distributing internal corporation dependencies and managing the
version, especially nightly build is way easier using Maven repository
capabilities. Managing your project dependencies version is also
really easier (especially conflicts and snapshots).

All the Maven generated reports also work better with regular
dependencies because they can find some metadatas to work with.


 Personally, I find the repository to be a nice piece of Maven. But,
 I don't see it as a cardinal sin to actually distribute libraries in
 your project. If you follow the libary naming convention then who
 cares?

 Personally, what i find annoying are the copious additional, needless,
 and redundant dependencies that i have to download because of the
 dependencies defined in the pom of a jar that i need to download.

Nothing the exclude tag can't fix.

 I also find it annoying to have to manually install several small
 libraries to my local repo cuz i can't distribute them as a result of
 licensing. It is additionally annoying to have to setup a jar
 repository that will be used for jars that will be needed that can
 only be distributed privately. All of this... vs. me just referencing
 them in my source tree?


You are making this sound like it is a lot of work. Manually
installing files on a corporate repository using install:install-file
usually doesn't take more time then checking them inside SVN. A maven
repository is basically a Jar versionning systems.

 I like Maven a lot and really enjoy the standard project layout
 features and plugins that are provided. But, the jar repository has
 caused me more time and less efficiency. However, i do like ibiblio
 for a single one stop shop for grabbing jars i need... to drop in my
 source tree ;-)

 I like it when people can check out my source from SVN and simply
 build. This is possible when i place them in SVN. Heck, I can even
 check Sun Jars into my SVN repo! ;)

If you have a remote Maven repository on the same server as your SVN
repo, I really don't see the difference.


 Thanks to everyone for pointing me in the direction of the system.
 I'll be using it. I'm always open to a compelling argument and a tap
 on the forehead that helps me to see the light.

 Many Thanks,
 Brandon

 On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
  Well you can use *system* dependencies but you loose tons of
  advantages. Instead, maybe you should just populate your local
  repository using the install plugin and -o to run mvn offline.
 
  On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
   Is it a requirement that i use the remote repository for jars? Is
   there a way to reference jars that are distributed with the code when
   checked out from the code repository?
  
   Brandon
  
   -
   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]
 
 

 -
 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]



Re: Dependencies Options

2006-04-24 Thread Alexandre Poitras
On 4/24/06, Simon Kitching [EMAIL PROTECTED] wrote:
 Hi,

 I agree with much of what Brandon is saying.

 For *open source* projects, Maven's repository is really useful; the
 minor inconveniences are worth living with. In particular, such projects
 need to conserve disk space and network bandwidth; checking in jars for
 each project is therefore a bad idea. Brandon: imagine if Apache
 projects used the check jars in with project approach; the disk space
 needed would multiply 100-fold, with the same jar checked in multiple
 times under different projects. It also means that those files are all
 downloaded from the apache site, not ibiblio. And it means that users
 (who may be on dialup connections) end up downloading the same jars
 multiple times even when they already have those jars on their local PC.

 For *internal* projects, however, having local jars can be very useful.
 Bandwidth is less of an issue; simplicity and reproducable builds are
 more important. And as several people have noted on this list (and I've
 found from experience too) preventing maven from fetching stuff from
 repositories beyond your control is currently *really hard*.


Have you ever used the dependency exclude element? Or run Maven using
the offline switch (-o)?

 I think it would be really nice if repositories could have a
 remotefalse/remote tag; a non-remote repo (using any access
 protocol) would be used when offline mode is used. People could then
 check a complete maven repository into their project if they wish, and
 use a repository declaration with url file://..., remote set to false,
 and offline set to true.

This is already doable mvn -o. You just don't get the jar bundled
with your project. This is the assembly plugin job. But I really don't
get what you are trying to achieve. What is the difference between a
internal corporation Maven repository and a internal corporation SVN
repository setup on the same server? Nothing except Maven repository
is better at handling dependencies then SVN.

 This wouldn't be recommended for sites that
 host large numbers of projects, as disk-space and bandwidth issues would
 cause problems, but it's then easy to set up self-contained builds for
 smaller sites. It's not *quite* as simple to use as simply checking in a
 directory of jars and pointing to that dir, but it's close - while still
 supporting much of maven's standard dependency support. Hmm..could the
 same effect be achieved by checking in an settings.xml with
 localRepository pointing to a checked-in dir, and running maven with
 mvn -s ./settings.xml?

 Brandon: Note that when using scopesystem/scope, transitive
 dependencies aren't supported. It's really meant only for pointing at
 files like rt.jar from a locally-installed jdk. That doesn't mean you
 can't use it for the purpose you want, but that's not its intent.

 Cheers,

 Simon

 On Mon, 2006-04-24 at 16:13 -0600, Brandon Goodin wrote:
  Hey Wayne, I'm sorry if my email tone sounds aggressive... i really am
  not trying to come off that way. So please accept my comments purely
  as an exercise in conversation.
 
  I totally understand the intellectual property that rights that Sun
  attaches to their jars. I fully respect them. I'm just trying to
  understand why so much emphasis is placed on the centralized jar repo.
  There were plenty of other concerns besides the sun jars that i cited.
  I'm just speaking more from my needs. The repo is cool. But, I see an
  equally acceptable approach of having jars that you check into your
  source code repo. I guess I'm trying more to understand why there is
  such an emphasis on central repo over simply presenting the ability to
  use either/or.
 
  As an additional note, the centralized repo is only as good as those
  willing to post to it. I've run into the problem that the latest and
  greatest are not always on ibiblio. I've also ran into the problem
  that there are sometimes version gaps. Also, I've seen where there are
  the same jars under different (but similar) group ids. I know i can
  setup a local repo for jars. But, then i find myself wondering why.
  Especially when i already have a versioning repository... SVN.
 
  Many thanks for your time and responses,
  Brandon
 
 
 
  On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
   That should be Checking Sun Jars into your SVN repo. Obviously
   anyone is allowed to download the Sun Jars and install them into their
   own local Maven repo, or anything else permitted under the Sun BCL
   terms.
  
   Checking the jars into a publicly available distribution service ie
   Sourceforge CVS/SVN etc is unfortunately not allowed by Sun's
   licensing.
  
   You can go to Sun.com and read the specifics of the BCL if you want,
   to see what specifically is permitted and what is not.
  
   Wayne
  
   On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
Checking Sun Jars into your repo is a violation of the Sun Binary
Compatibility License which you agreed to when you 

Re: Dependencies Options

2006-04-24 Thread Alexandre Poitras
On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
 On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
  tons of advantages - please quantify this.

 Well distributing internal corporation dependencies and managing the
 version, especially nightly build is way easier using Maven repository
 capabilities. Managing your project dependencies version is also
 really easier (especially conflicts and snapshots).

 All the Maven generated reports also work better with regular
 dependencies because they can find some metadatas to work with.

 
  Personally, I find the repository to be a nice piece of Maven. But,
  I don't see it as a cardinal sin to actually distribute libraries in
  your project. If you follow the libary naming convention then who
  cares?
 
  Personally, what i find annoying are the copious additional, needless,
  and redundant dependencies that i have to download because of the
  dependencies defined in the pom of a jar that i need to download.

 Nothing the exclude tag can't fix.

  I also find it annoying to have to manually install several small
  libraries to my local repo cuz i can't distribute them as a result of
  licensing. It is additionally annoying to have to setup a jar
  repository that will be used for jars that will be needed that can
  only be distributed privately. All of this... vs. me just referencing
  them in my source tree?
 

 You are making this sound like it is a lot of work. Manually
 installing files on a corporate repository using install:install-file

wanted to say deploy:deploy-file

 usually doesn't take more time then checking them inside SVN. A maven
 repository is basically a Jar versionning systems.

  I like Maven a lot and really enjoy the standard project layout
  features and plugins that are provided. But, the jar repository has
  caused me more time and less efficiency. However, i do like ibiblio
  for a single one stop shop for grabbing jars i need... to drop in my
  source tree ;-)
 
  I like it when people can check out my source from SVN and simply
  build. This is possible when i place them in SVN. Heck, I can even
  check Sun Jars into my SVN repo! ;)

 If you have a remote Maven repository on the same server as your SVN
 repo, I really don't see the difference.

 
  Thanks to everyone for pointing me in the direction of the system.
  I'll be using it. I'm always open to a compelling argument and a tap
  on the forehead that helps me to see the light.
 
  Many Thanks,
  Brandon
 
  On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
   Well you can use *system* dependencies but you loose tons of
   advantages. Instead, maybe you should just populate your local
   repository using the install plugin and -o to run mvn offline.
  
   On 4/24/06, Brandon Goodin [EMAIL PROTECTED] wrote:
Is it a requirement that i use the remote repository for jars? Is
there a way to reference jars that are distributed with the code when
checked out from the code repository?
   
Brandon
   
-
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]
  
  
 
  -
  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]



Re: Dependencies Options

2006-04-24 Thread Alexandre Poitras
Just one more thing I dislike about system dependencies I wanted to
specify. A good practice is usually to do a complete project check out
after a check in. Takes a lot of times when you have several jars
bundled with your projects.

On 4/24/06, Alexandre Poitras [EMAIL PROTECTED] wrote:
 On 4/24/06, Simon Kitching [EMAIL PROTECTED] wrote:
  Hi,
 
  I agree with much of what Brandon is saying.
 
  For *open source* projects, Maven's repository is really useful; the
  minor inconveniences are worth living with. In particular, such projects
  need to conserve disk space and network bandwidth; checking in jars for
  each project is therefore a bad idea. Brandon: imagine if Apache
  projects used the check jars in with project approach; the disk space
  needed would multiply 100-fold, with the same jar checked in multiple
  times under different projects. It also means that those files are all
  downloaded from the apache site, not ibiblio. And it means that users
  (who may be on dialup connections) end up downloading the same jars
  multiple times even when they already have those jars on their local PC.
 
  For *internal* projects, however, having local jars can be very useful.
  Bandwidth is less of an issue; simplicity and reproducable builds are
  more important. And as several people have noted on this list (and I've
  found from experience too) preventing maven from fetching stuff from
  repositories beyond your control is currently *really hard*.
 

 Have you ever used the dependency exclude element? Or run Maven using
 the offline switch (-o)?

  I think it would be really nice if repositories could have a
  remotefalse/remote tag; a non-remote repo (using any access
  protocol) would be used when offline mode is used. People could then
  check a complete maven repository into their project if they wish, and
  use a repository declaration with url file://..., remote set to false,
  and offline set to true.

 This is already doable mvn -o. You just don't get the jar bundled
 with your project. This is the assembly plugin job. But I really don't
 get what you are trying to achieve. What is the difference between a
 internal corporation Maven repository and a internal corporation SVN
 repository setup on the same server? Nothing except Maven repository
 is better at handling dependencies then SVN.

  This wouldn't be recommended for sites that
  host large numbers of projects, as disk-space and bandwidth issues would
  cause problems, but it's then easy to set up self-contained builds for
  smaller sites. It's not *quite* as simple to use as simply checking in a
  directory of jars and pointing to that dir, but it's close - while still
  supporting much of maven's standard dependency support. Hmm..could the
  same effect be achieved by checking in an settings.xml with
  localRepository pointing to a checked-in dir, and running maven with
  mvn -s ./settings.xml?
 
  Brandon: Note that when using scopesystem/scope, transitive
  dependencies aren't supported. It's really meant only for pointing at
  files like rt.jar from a locally-installed jdk. That doesn't mean you
  can't use it for the purpose you want, but that's not its intent.
 
  Cheers,
 
  Simon
 
  On Mon, 2006-04-24 at 16:13 -0600, Brandon Goodin wrote:
   Hey Wayne, I'm sorry if my email tone sounds aggressive... i really am
   not trying to come off that way. So please accept my comments purely
   as an exercise in conversation.
  
   I totally understand the intellectual property that rights that Sun
   attaches to their jars. I fully respect them. I'm just trying to
   understand why so much emphasis is placed on the centralized jar repo.
   There were plenty of other concerns besides the sun jars that i cited.
   I'm just speaking more from my needs. The repo is cool. But, I see an
   equally acceptable approach of having jars that you check into your
   source code repo. I guess I'm trying more to understand why there is
   such an emphasis on central repo over simply presenting the ability to
   use either/or.
  
   As an additional note, the centralized repo is only as good as those
   willing to post to it. I've run into the problem that the latest and
   greatest are not always on ibiblio. I've also ran into the problem
   that there are sometimes version gaps. Also, I've seen where there are
   the same jars under different (but similar) group ids. I know i can
   setup a local repo for jars. But, then i find myself wondering why.
   Especially when i already have a versioning repository... SVN.
  
   Many thanks for your time and responses,
   Brandon
  
  
  
   On 4/24/06, Wayne Fay [EMAIL PROTECTED] wrote:
That should be Checking Sun Jars into your SVN repo. Obviously
anyone is allowed to download the Sun Jars and install them into their
own local Maven repo, or anything else permitted under the Sun BCL
terms.
   
Checking the jars into a publicly available distribution service ie
Sourceforge CVS/SVN