Stephen and Wayne, I agree that using system scope is undesirable. However, there is a reason why maven has had this support - it is needed in real life. In my case, I use Weblogic. When first trying to migrate our old ant based build system to maven, I started out by trying to put the Weblogic jar:s in the maven repo. It just wasn't doable. They have split the big, all encompassing, jar file from previous versions into hundreds of individual jar files. I gave up after a while. I guess if I could find a tool that could convert all these jars into one "super jar" then I could put that jar in the maven repo. I'm not sure that Oracle's licensing rules would allow it though.
Dropping support like this because you don't think it's the best way to handle things will not give you a loyal user base. We need to solve these kind of issues somehow. Before you remove support you must provide an alternate solution. Requiring that hundreds of proprietary jars have to be put in the maven repo (and updated each time we upgrade Weblogic) is just not realistic. I've been searching for a good tool that can traverse the manifest classpath's and create a single jar from all individual jars. Do you know of any such tool? The transitive dependency problem is not exactly the way you describe it Stephen. I don't need transitive dependencies from a system scoped dependency but I want the transitive dependencies to work up to the system scoped dependency: If A depends on B that depends on S (via a system scoped dependency), then maven should be able to include S on A's build classpath. The way maven works right now I tend to agree that system scoped dependencies are useless. This is because their location must be hard coded in the POM. Naturally system scoped dependencies reside in different places in different environments. In our case it resides where the user has installed Weblogic. /Bengt 2011/11/11 Stephen Connolly <[email protected]> > On 11 November 2011 16:31, Wayne Fay <[email protected]> wrote: > >> System scoped dependencies are dead. Ignore their zombie like walking > >> about. Stop fighting maven and just install the jars into a repo > > > > I agree, but shouldn't we kill system entirely at some point (I mean > > in the code) -- if we see a system-scoped dependency, we just fail the > > build with an appropriate error message? It is a dead concept IMO and > > is simply confusing to users who try to use it. > > Yes I agree... but lets get 3.0.4 out first ;-) > > To answer the OP > > Think of it like this, when you specify a "system" scope dependency > then you are stating that the system is responsible for providing that > dependency _and_ all its dependencies -> transitive stops at system > > Similarly, with provided scope, you are saying that somebody else is > taking care of providing that dependency at run time, and so therefore > maven doesn't have to worry about it or its dependencies. > > > > Wayne > > > > --------------------------------------------------------------------- > > 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] > >
