Re: Wicketstuff Core Dependency Management...
Well, I went ahead and checked in my changes to the pom files to fix this issue. I would urge all of the project owners out there to make sure everything looks okay to them. I did change one library's code to get stuff working. One library was directly using the Log4J API for logging and I considered that bad style, especially since the wicket community has the opportunity to use the slf4j to adapt to any logging environment. On Sat, Mar 21, 2009 at 12:55 PM, James Carman jcar...@carmanconsulting.com wrote: I don't mind fixing it at all, but I do believe it should be fixed. I spent a LONG time trying to figure out why my dependencies were showing up as provided when I clearly set them up in my pom as the default scope (compile). On Sat, Mar 21, 2009 at 12:27 PM, Jeremy Thomerson jer...@wickettraining.com wrote: I'm totally in favor of anyone who knows more about Maven than me to fix it. I didn't know about the transitive dependency issue. Here are two things that I would add, though: - other than wicket itself, I don't think the parent should add any required dependencies - many subprojects may not need them - you should only make the change if you're willing to fix anything that you break. That's part of the deal. Running a mvn clean install and a mvn site:deploy (it's not deploy, but I can't remember - anyway the site generation is working and should be tested) Jeremy Thomerson http://www.wickettraining.com -- sent from a wireless device -Original Message- From: James Carman jcar...@carmanconsulting.com Sent: Saturday, March 21, 2009 10:17 AM To: users@wicket.apache.org Subject: Re: Wicketstuff Core Dependency Management... Wicket itself doesn't declare the dependencies this way. So, why should wicketstuff-core? On Sat, Mar 21, 2009 at 11:11 AM, James Carman jcar...@carmanconsulting.com wrote: But, I shouldn't *have* to do that, Brill. That's the whole point. Breaking transitive dependency resolution is a bad thing in the maven world. We're handing dependencies the wrong way if we're breaking stuff. On Sat, Mar 21, 2009 at 11:07 AM, Brill Pappin br...@pappin.ca wrote: Actually that might mess up the rest of us :) If you need those lobs to be includes, simply add them to you pom and change their scope so they are included... The build should then override the provided scope in the parent. - Brill Pappin Sent from my mobile. On 21-Mar-09, at 9:01 AM, James Carman ja...@carmanconsulting.com wrote: The dependencies in the main wicketstuff-core are scoped for stuff like slf4j and jetty to be provided. This totally screwed me up when I was trying to write an example application (the log4j stuff wasn't showing up because it was marked as provided by the parent pom). Does anyone care if I remove the scope declarations from the dependencyManagement section in the wicketstuff-core parent pom? It fixed my problem when I did. James - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Wicketstuff Core Dependency Management...
The dependencies in the main wicketstuff-core are scoped for stuff like slf4j and jetty to be provided. This totally screwed me up when I was trying to write an example application (the log4j stuff wasn't showing up because it was marked as provided by the parent pom). Does anyone care if I remove the scope declarations from the dependencyManagement section in the wicketstuff-core parent pom? It fixed my problem when I did. James - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: Wicketstuff Core Dependency Management...
I'm no Maven expert, but I believe we ended up doing it that way because it allowed subprojects to override those dependencies. I think if your subproject specifically needs it, you simply add it as a dependency to your pom and change it to required. You don't have to define a version - that should come from the parent. The reason to have it in the parent was to standardize the versions, but not define many required dependencies. If you do make any change, please build and test the entire tree to mae sure it doesn't break something else. Jeremy Thomerson http://www.wickettraining.com -- sent from a wireless device -Original Message- From: James Carman ja...@carmanconsulting.com Sent: Saturday, March 21, 2009 8:01 AM To: d...@wicket.apache.org; users@wicket.apache.org Subject: Wicketstuff Core Dependency Management... The dependencies in the main wicketstuff-core are scoped for stuff like slf4j and jetty to be provided. This totally screwed me up when I was trying to write an example application (the log4j stuff wasn't showing up because it was marked as provided by the parent pom). Does anyone care if I remove the scope declarations from the dependencyManagement section in the wicketstuff-core parent pom? It fixed my problem when I did. James - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicketstuff Core Dependency Management...
Well, it does break some things and I plan on fixing those. The problem with dictating the provided scope in the parent is that it totally screws up the transitive dependencies. So, in my example (which was generated from a quickstart), I've got slf4j-log4j declared as a dependency. But, since the parent declares it as provided and I don't specifically override the scope, it stays provided and doesn't show up in my WEB-INF/lib. Even worse, suppose I do override the scope to compile, the transitive dependencies (slf4j-api and log4j) still remain provided because the parent declared them that way. If I want to fix it in my project, I've got to specifically declare all of the transitive dependencies with compile scope, which kind of defeats the purpose of having transitive dependencies in maven. The thing that my fix breaks is that now, when a library like inmethod-grid declares slf4j-log4j as a dependency (why it does so, I have no idea), it shows up as compile (which is the default), meaning that any project that uses inmethod-grid will get the log4j implementation of slf4j as a transitive dependency. OUCH! So, I have to take out those dependency declarations because they're invalid. The inmethod-grid library should declare a dependency on the slf4j-api and the example should declare a dependency on the slf4j-log4j implementation. I don't mind fixing all of those places, but I'd rather spend my time working on my pet projects (like the webbeans integration piece I'm trying to finish). If anyone would be willing to help me by fixing their own projects, that would be greatly appreciated. On Sat, Mar 21, 2009 at 9:41 AM, Jeremy Thomerson jer...@wickettraining.com wrote: I'm no Maven expert, but I believe we ended up doing it that way because it allowed subprojects to override those dependencies. I think if your subproject specifically needs it, you simply add it as a dependency to your pom and change it to required. You don't have to define a version - that should come from the parent. The reason to have it in the parent was to standardize the versions, but not define many required dependencies. If you do make any change, please build and test the entire tree to mae sure it doesn't break something else. Jeremy Thomerson http://www.wickettraining.com -- sent from a wireless device -Original Message- From: James Carman ja...@carmanconsulting.com Sent: Saturday, March 21, 2009 8:01 AM To: d...@wicket.apache.org; users@wicket.apache.org Subject: Wicketstuff Core Dependency Management... The dependencies in the main wicketstuff-core are scoped for stuff like slf4j and jetty to be provided. This totally screwed me up when I was trying to write an example application (the log4j stuff wasn't showing up because it was marked as provided by the parent pom). Does anyone care if I remove the scope declarations from the dependencyManagement section in the wicketstuff-core parent pom? It fixed my problem when I did. James - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicketstuff Core Dependency Management...
Actually that might mess up the rest of us :) If you need those lobs to be includes, simply add them to you pom and change their scope so they are included... The build should then override the provided scope in the parent. - Brill Pappin Sent from my mobile. On 21-Mar-09, at 9:01 AM, James Carman ja...@carmanconsulting.com wrote: The dependencies in the main wicketstuff-core are scoped for stuff like slf4j and jetty to be provided. This totally screwed me up when I was trying to write an example application (the log4j stuff wasn't showing up because it was marked as provided by the parent pom). Does anyone care if I remove the scope declarations from the dependencyManagement section in the wicketstuff-core parent pom? It fixed my problem when I did. James - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicketstuff Core Dependency Management...
But, I shouldn't *have* to do that, Brill. That's the whole point. Breaking transitive dependency resolution is a bad thing in the maven world. We're handing dependencies the wrong way if we're breaking stuff. On Sat, Mar 21, 2009 at 11:07 AM, Brill Pappin br...@pappin.ca wrote: Actually that might mess up the rest of us :) If you need those lobs to be includes, simply add them to you pom and change their scope so they are included... The build should then override the provided scope in the parent. - Brill Pappin Sent from my mobile. On 21-Mar-09, at 9:01 AM, James Carman ja...@carmanconsulting.com wrote: The dependencies in the main wicketstuff-core are scoped for stuff like slf4j and jetty to be provided. This totally screwed me up when I was trying to write an example application (the log4j stuff wasn't showing up because it was marked as provided by the parent pom). Does anyone care if I remove the scope declarations from the dependencyManagement section in the wicketstuff-core parent pom? It fixed my problem when I did. James - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicketstuff Core Dependency Management...
Wicket itself doesn't declare the dependencies this way. So, why should wicketstuff-core? On Sat, Mar 21, 2009 at 11:11 AM, James Carman jcar...@carmanconsulting.com wrote: But, I shouldn't *have* to do that, Brill. That's the whole point. Breaking transitive dependency resolution is a bad thing in the maven world. We're handing dependencies the wrong way if we're breaking stuff. On Sat, Mar 21, 2009 at 11:07 AM, Brill Pappin br...@pappin.ca wrote: Actually that might mess up the rest of us :) If you need those lobs to be includes, simply add them to you pom and change their scope so they are included... The build should then override the provided scope in the parent. - Brill Pappin Sent from my mobile. On 21-Mar-09, at 9:01 AM, James Carman ja...@carmanconsulting.com wrote: The dependencies in the main wicketstuff-core are scoped for stuff like slf4j and jetty to be provided. This totally screwed me up when I was trying to write an example application (the log4j stuff wasn't showing up because it was marked as provided by the parent pom). Does anyone care if I remove the scope declarations from the dependencyManagement section in the wicketstuff-core parent pom? It fixed my problem when I did. James - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicketstuff Core Dependency Management...
I thought you were talking about the the jetty dependencies (which I think slf4j is part of)? If they are not marked as provided, then won't everyone have to override them in order to exclude them? - Brill On 21-Mar-09, at 11:11 AM, James Carman wrote: But, I shouldn't *have* to do that, Brill. That's the whole point. Breaking transitive dependency resolution is a bad thing in the maven world. We're handing dependencies the wrong way if we're breaking stuff. On Sat, Mar 21, 2009 at 11:07 AM, Brill Pappin br...@pappin.ca wrote: Actually that might mess up the rest of us :) If you need those lobs to be includes, simply add them to you pom and change their scope so they are included... The build should then override the provided scope in the parent. - Brill Pappin Sent from my mobile. On 21-Mar-09, at 9:01 AM, James Carman ja...@carmanconsulting.com wrote: The dependencies in the main wicketstuff-core are scoped for stuff like slf4j and jetty to be provided. This totally screwed me up when I was trying to write an example application (the log4j stuff wasn't showing up because it was marked as provided by the parent pom). Does anyone care if I remove the scope declarations from the dependencyManagement section in the wicketstuff-core parent pom? It fixed my problem when I did. James - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: Wicketstuff Core Dependency Management...
I'm totally in favor of anyone who knows more about Maven than me to fix it. I didn't know about the transitive dependency issue. Here are two things that I would add, though: - other than wicket itself, I don't think the parent should add any required dependencies - many subprojects may not need them - you should only make the change if you're willing to fix anything that you break. That's part of the deal. Running a mvn clean install and a mvn site:deploy (it's not deploy, but I can't remember - anyway the site generation is working and should be tested) Jeremy Thomerson http://www.wickettraining.com -- sent from a wireless device -Original Message- From: James Carman jcar...@carmanconsulting.com Sent: Saturday, March 21, 2009 10:17 AM To: users@wicket.apache.org Subject: Re: Wicketstuff Core Dependency Management... Wicket itself doesn't declare the dependencies this way. So, why should wicketstuff-core? On Sat, Mar 21, 2009 at 11:11 AM, James Carman jcar...@carmanconsulting.com wrote: But, I shouldn't *have* to do that, Brill. That's the whole point. Breaking transitive dependency resolution is a bad thing in the maven world. We're handing dependencies the wrong way if we're breaking stuff. On Sat, Mar 21, 2009 at 11:07 AM, Brill Pappin br...@pappin.ca wrote: Actually that might mess up the rest of us :) If you need those lobs to be includes, simply add them to you pom and change their scope so they are included... The build should then override the provided scope in the parent. - Brill Pappin Sent from my mobile. On 21-Mar-09, at 9:01 AM, James Carman ja...@carmanconsulting.com wrote: The dependencies in the main wicketstuff-core are scoped for stuff like slf4j and jetty to be provided. This totally screwed me up when I was trying to write an example application (the log4j stuff wasn't showing up because it was marked as provided by the parent pom). Does anyone care if I remove the scope declarations from the dependencyManagement section in the wicketstuff-core parent pom? It fixed my problem when I did. James - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicketstuff Core Dependency Management...
I don't mind fixing it at all, but I do believe it should be fixed. I spent a LONG time trying to figure out why my dependencies were showing up as provided when I clearly set them up in my pom as the default scope (compile). On Sat, Mar 21, 2009 at 12:27 PM, Jeremy Thomerson jer...@wickettraining.com wrote: I'm totally in favor of anyone who knows more about Maven than me to fix it. I didn't know about the transitive dependency issue. Here are two things that I would add, though: - other than wicket itself, I don't think the parent should add any required dependencies - many subprojects may not need them - you should only make the change if you're willing to fix anything that you break. That's part of the deal. Running a mvn clean install and a mvn site:deploy (it's not deploy, but I can't remember - anyway the site generation is working and should be tested) Jeremy Thomerson http://www.wickettraining.com -- sent from a wireless device -Original Message- From: James Carman jcar...@carmanconsulting.com Sent: Saturday, March 21, 2009 10:17 AM To: users@wicket.apache.org Subject: Re: Wicketstuff Core Dependency Management... Wicket itself doesn't declare the dependencies this way. So, why should wicketstuff-core? On Sat, Mar 21, 2009 at 11:11 AM, James Carman jcar...@carmanconsulting.com wrote: But, I shouldn't *have* to do that, Brill. That's the whole point. Breaking transitive dependency resolution is a bad thing in the maven world. We're handing dependencies the wrong way if we're breaking stuff. On Sat, Mar 21, 2009 at 11:07 AM, Brill Pappin br...@pappin.ca wrote: Actually that might mess up the rest of us :) If you need those lobs to be includes, simply add them to you pom and change their scope so they are included... The build should then override the provided scope in the parent. - Brill Pappin Sent from my mobile. On 21-Mar-09, at 9:01 AM, James Carman ja...@carmanconsulting.com wrote: The dependencies in the main wicketstuff-core are scoped for stuff like slf4j and jetty to be provided. This totally screwed me up when I was trying to write an example application (the log4j stuff wasn't showing up because it was marked as provided by the parent pom). Does anyone care if I remove the scope declarations from the dependencyManagement section in the wicketstuff-core parent pom? It fixed my problem when I did. James - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org