[jira] Commented: (MNG-1977) Global dependency exclusions
[ https://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=281661#comment-281661 ] Jean-Noel Rouvignac commented on MNG-1977: -- Thanks for the feedback guys. My use case is as simple as that: I want to exclude some transitive dependencies accross all dependencies to allow compiling GWT code. Otherwise I get the error the input line is too long on windows. So far we have to exclude the same transitive dependencies for all the dependencies where they exist which can be as many as 8 today. Not nice :-/, hence why I am looking at this solution. A simple global exclude would solve the problem for us. It looks to me the code I did is good enough to handle my use case. I just need to know how the Maven team wants this configuration to look in the pom.xml file and then I can look at doing it. Global dependency exclusions Key: MNG-1977 URL: https://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 Attachments: global_excls_it-test_v2.patch, global_excls_maven3_v2.patch I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ https://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=281538#comment-281538 ] Morten Kristiansen commented on MNG-1977: - Might be that this is already commented, but here's what we need: * Possibility to exclude transitive dependencies using groupId only (meaning all artifacts/versions within that groupId) * Another nice feature would be, a global pom setting that says: Use transitive dependencies during compile, but not during packaging. Meaning: You can quickly get up developing code (getting all dependencies needed), but when bundling ex a war file, exclude trans. dep. because you want to control the war content. * Also a nice feature would be to turn off transitive dependencies all together :) Global dependency exclusions Key: MNG-1977 URL: https://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 Attachments: global_excls_it-test_v2.patch, global_excls_maven3_v2.patch I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ https://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=281539#comment-281539 ] Neale commented on MNG-1977: I think there's some allusion to a version 5 of pom.xml, which would be interesting. If nothing else, I certainly support the idea of scopeexclude/scope. It is time that we got a release that solved some of the longest standing issues and gave us an opportunity to move forwards rather than to live with backwards compatibility that kills us. I love the idea of allowing a switch to change compile - compile = compile to what was originally intended, that compile - compile = runtime This would make many builds far more robust to changes in child dependencies. Global dependency exclusions Key: MNG-1977 URL: https://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 Attachments: global_excls_it-test_v2.patch, global_excls_maven3_v2.patch I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ https://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=281577#comment-281577 ] Sergei Ivanov commented on MNG-1977: @Morten: I think that Include transitive dependencies during packaging should rather be a feature of war, shade and other packaging plugins. There must already be enough information available to plugins through project meta-data, because maven-assembly-plugin has already got an option to filter out transitive dependencies. Global dependency exclusions Key: MNG-1977 URL: https://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 Attachments: global_excls_it-test_v2.patch, global_excls_maven3_v2.patch I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ https://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=281578#comment-281578 ] Sergei Ivanov commented on MNG-1977: @Neale: I agree that it would make a lot of sense to promote transitive compile dependencies into runtime scope, but unfortunately that does not solve the problem of polluting the runtime scope with unwanted transitive dependencies. More flexible exclusion mechanism using patterns or some other configuration is still needed. Global dependency exclusions Key: MNG-1977 URL: https://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 Attachments: global_excls_it-test_v2.patch, global_excls_maven3_v2.patch I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ https://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=281586#comment-281586 ] Joerg Schaible commented on MNG-1977: - bq. compile - compile = runtime bq. This would make many builds far more robust to changes in child dependencies. You can simulate this if you use a global master pom. Then you would not only set the version in the depMgmt, but also the scope of all deps to runtime. That will have the same effect, you would have to set compile scope explicitly everywhere in our project. Been there and reverted it ... you'll see yourself, if you try ;-) Global dependency exclusions Key: MNG-1977 URL: https://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 Attachments: global_excls_it-test_v2.patch, global_excls_maven3_v2.patch I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ https://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=279834#comment-279834 ] Jean-Noel Rouvignac commented on MNG-1977: -- Hi Arnaud, You were right, using scopeexcluded/scope with older versions of maven (I used v2.2.1) gives the opposite result to what is intended. The excluded scope is ignored and replaced with a compile scope. How do you want to proceed now? I suppose we now need to do a pom.xml format change. If I understood correctly , this is scheduled for maven 3.1. Do you want to go for the solution I suggested in my last comment? http://jira.codehaus.org/browse/MNG-1977?focusedCommentId=277793page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-277793 Or do you want to do it differently? Please let me know your suggestions and I will try to implement it. Thanks, Jean-Noël Global dependency exclusions Key: MNG-1977 URL: https://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 Attachments: global_excls_it-test_v2.patch, global_excls_maven3_v2.patch I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ https://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=277793#comment-277793 ] Jean-Noel Rouvignac commented on MNG-1977: -- @Arnaud Sorry, I went for the easiest to implement. If you do not like it this way, fair enough, we can do it otherwise. I originally started with such change to the pom.xml: project dependencies exclusions exclusion groupIdcom.mycompany/groupId artifactIdmyproject/artifactId classifieroptional/classifier /exclusion /exclusions dependency ... /dependency ... /dependencies ... /project No I did not test with older versions of maven. I saw that maven-3 has got some validation mechanism for the scope so I think it would reject it. For maven-2 I need to check. Indeed the following scenario would be catastrophic: And when a maven version ignores it, what does it do ? It uses the compile scope ? #fail in that case, instead of excluding it, you explicitely add it (transitively). I will test both of these and let you know. Same, it does not really matter to me which mechanism you prefer to use. Just tell me how you want it to look in the pom.xml and I can have a look at doing it. Jean-Noel Global dependency exclusions Key: MNG-1977 URL: https://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 Attachments: global_excls_it-test_v2.patch, global_excls_maven3_v2.patch I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ https://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=277686#comment-277686 ] Pierre-Antoine Grégoire commented on MNG-1977: -- Hello, BTW the scopeexcluded/scope solution doesn't really helps in any way to deal easily with excludes. It looks like a hard-wired work-around. Adding a transitivetrue|false/transitive or a handlingtransitive|simple/handling (maybe better to allow further unforeseen improvements) both at the level of all dependencies/dependencies or at the level of a single dependency/dependency wouldn't be hard to deal with (just a test to trigger the transitive search of the underlying tree) and would achieve the expected result. I thought that the pom model was supposed to evolve from version 3.0.x on? Regards. Pierre-Antoine. Global dependency exclusions Key: MNG-1977 URL: https://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 Attachments: global_excls_it-test_v2.patch, global_excls_maven3_v2.patch I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ https://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=277621#comment-277621 ] Arnaud Heritier commented on MNG-1977: -- Hi, I didn't review your patch thus I won't judge about it. I really dislike this idea to continue to play with the lake of control in old maven versions which will ignore things they don't know in the POM. For me such change must be done only in a new POM version and with all mechanisms to be used with previous and future maven versions. Did you test such POM with Maven 3.0.x ? I think it at least display a warning if there is a scope it doesn't know (I don't remember but perhaps it breaks the build). And when a maven version ignores it, what does it do ? It uses the compile scope ? #fail in that case, instead of excluding it, you explicitely add it (transitively) Cheers Global dependency exclusions Key: MNG-1977 URL: https://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 Attachments: global_excls_it-test_v2.patch, global_excls_maven3_v2.patch I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=261611#action_261611 ] Ceki Gulcu commented on MNG-1977: - Hi Robert, You are right to observe that the provided scope has the inconvenience of placing the thus excluded artifact on the project's class path within the IDE, in particular Eclipse. However, as far as I know, the artifact is effectively excluded during build time by Maven. The provided scope is unsatisfactory during development time within the IDE, i.e. within Eclipse or IDEA. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=261614#action_261614 ] Rob Elliot commented on MNG-1977: - Maven definitely makes provided scope dependencies available at compile time - otherwise no library compiled against the servlet api would compile. A good example in the logging context would be someone who desired to use slf4j-over-log4j instead of log4j. Making log4j itself have scope provided would have the desired runtime behaviour of excluding the log4j jar if any transitive dependency brought it in, thereby preventing any non-determinate behaviour depending on which version of the log4j classes the classloader loaded first; however, at compile time Maven would happily be able to compile code dependent on classes that are included in log4j but are not in slf4j-over-log4j, and the user would only discover the problem at runtime. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=261617#action_261617 ] Ceki Gulcu commented on MNG-1977: - D'oh! Thanks for the explanation. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=261031#action_261031 ] Rob Elliot commented on MNG-1977: - Could this not be achieved via a new scope? I'm thinking: dependency groupIdcommons-logging/groupId artifactIdcommons-logging/artifactId version1.1.1/version scopeexcluded/scope /dependency Semantics would be that any artifactId declared in this way would be guaranteed not to be on either the test or main runtime or compile time classpath, and neither would any of its transitive dependencies, and its transitive dependencies would not be added to the declaring pom's transitive dependencies, regardless of version number or where in the transitive dependency tree it occurred. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=261034#action_261034 ] Rob Elliot commented on MNG-1977: - (This is effectively how people are achieving the desired effect already, by using scope provided - but that has the negative that the artifact and all of its transitive dependencies are still on the compile classpath raising the possibility of errors only discovered at runtime.) Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 3 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.1 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=194430#action_194430 ] Neale commented on MNG-1977: For those needing aliasing/substitution, there is a proposal at MNG-4391. I note that David and Kees were suggesting this a year back. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.x I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=178253#action_178253 ] Pierre-Antoine Grégoire commented on MNG-1977: -- It's a sad thing that this will never be available for backports because the pom model cannot be changed.. This is a very much awaited feature. And though I like a lot tools of the like of Nexus (Artifactory is also very nice BTW), I think Maven should provide these mechanisms and that maybe 2.1 release was a bit rushed in this prospect. Is there a timeframe for 3.0 already? Why is this not planned for 2.2 for example? Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.x I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=178256#action_178256 ] Brian Fox commented on MNG-1977: Pierre, The pom format can't be changed until Maven 3.x. The alphas of 3.x are close by, but currently it's focused on 2.x compatibility with the new code and a process to handle pom model changes hasn't been built yet. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.x I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=154004#action_154004 ] Brian Fox commented on MNG-1977: That's a lovely development. If you use Nexus, you can control which artifacts come from a given repo so you can prevent the springsource repo from polluting your team. There's nothing that can be done inside maven for global exclusions until 3.0 since it requires a model change in the pom. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.0 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=153862#action_153862 ] Holger Hoffstätte commented on MNG-1977: This just became a total showstopper with SpringSource effectively cloning the entire maven dependency set in their enterprise repo. :-( I know that's not maven's fault, but both global exclusions (e.g. as protections again known bad poms) and aliasing (to always substitute slf4j for clogging) would really fix a lot of problems that this has caused. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.0 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=147714#action_147714 ] Barry Kaplan commented on MNG-1977: --- Aliasing would be nice. But I would also like to be able to specify that, for example, junit-3.8.1 should NEVER be downloaded and never be resolved as a dependency for my projects. I don't ever want junit-3.8.1 and junit-4.5 to both be in the same classpath. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.0 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=145259#action_145259 ] Kees de Kooter commented on MNG-1977: - You are right David, that would solve the original problem in an elegant way. Is this an existing feature I missed or should we submit a new jira issue for this? Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.0 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=144971#action_144971 ] David Jencks commented on MNG-1977: --- It seems to me that the original problem would be solved better by artifact substitution or aliasing rather than more exclusions. e.g if you want to use something reasonable such as slf4j to imitate commons logging usage you want to replace any dependency on commons-logging with one on jcl-over-slf4j. Similarly you might want to swap spec implementations, say to use the geronimo ones no matter which copies the original projects were built against, or use geronimo's activation implementation instead of sun's. This isn't quite the same as what osgi gives you but is quite powerful. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 3.0 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=140936#action_140936 ] Clive Jevons commented on MNG-1977: --- I'm currently also suffering from the lack of this feature and would be extremely grateful to see this one added :) Cheers, C Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 2.1 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_114464 ] Wolfgang Nagele commented on MNG-1977: -- I can just agree to others here, this is indeed a VERY important feature. It would ease the development a lot. As if you currently have such a bogus dependency you'll have to copy and paste every possible exclusion to every dependency. This is really ugly and costs a lot of time. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 2.1 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_112122 ] Dan Allen commented on MNG-1977: I don't know, I will miss all of the late nights and long weekends I spend analyzing the dependency tree trying to get rid of one stupid JAR file that causes the application not to run properly. What will I do with all my extra time? Wow, maybe I can actually DEVELOP something. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 2.1 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_101393 ] Stephan Niedermeier commented on MNG-1977: -- Hi, I'm wondering why this, in my eyes, important feature won't be fixed in 2.0x but in 2.1 (next year)? The initial request is more than one year old! My project depends on some jars but NOT on their dependencies. Neither at compile nor at test or runtime. Therefore it makes no sense to download these dependecies at all. With the current mechanism of using the exclusions/ element within each dependency separately causes a lot of boilerplate configuration steps. In my case for over 30(!) dependencies! I like the idea of having a global exclusion/ element within dependencyManagement/ or allowing wildcards for artifactId and groupId or intrdoucing an attribute transitive=false on the dependency/ element. Please make this a higher prio, thanks! Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 2.1.x I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_101400 ] Brian Fox commented on MNG-1977: The main issue it that it can't be specified in the current pom model (4.0.0) and updates to the pom model require the next version aka 2.1. There is a way to detect these creeping in, in dependency:analyze-dep-mgt and in the next enforcer release, there will be a rule that can fail the build when any excluded dependencies are found in the build. Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 2.1.x I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=comments#action_72122 ] Marc Portier commented on MNG-1977: --- Adding another possibly featured way to configure: * disable all transitive deps for certain scopes (e.g.: I'ld like transitive deps marked for 'runtime' and 'compile', but not for 'test') Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Issue Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 2.1 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (MNG-1977) Global dependency exclusions
[ http://jira.codehaus.org/browse/MNG-1977?page=comments#action_65750 ] Carlos Sanchez commented on MNG-1977: - From MNG-1977 Transitive dependencies are cool, however, the limitations are very difficult to work around. * specification dependencies * jarjar dependencies (spring.jar includes all spring-xxx.jar, so no need to include them) * remove warning on relocations for transitive dependencies (it's always difficult to tell users: that's not an error, and we can not do anything) * poms on ibiblio are all in m2 and never change * exclusions for transitive deps can be overriden if manually included One cool feature would be to allow disabling transitive dependencies in the following ways: * disable all transitive deps * enable transitive dependencies only for modules of the same project * enable transitive deps for specific groupIds * disable transitive deps for specific groupIds * have a tag/attribute to exclude all transitive deps for one dependency (instead of having list all exclusions) Global dependency exclusions Key: MNG-1977 URL: http://jira.codehaus.org/browse/MNG-1977 Project: Maven 2 Type: New Feature Components: POM Reporter: Kees de Kooter Fix For: 2.1 I depend on some libraries, which in turn depend on something (which in turn depend on something) that I don't want, because I declare some other artifact in my pom.xml. A concrete example: I don't want that the artifact xerces is imported in my project because I declare to depend on xercesImpl which ships newer libraries but with the same namespaces. I guess I would need an exclude transitive dependency at all, either globally or from this and that artifact. I saw the exclusions tag, but it forces me to be very verbose and have exact control on what is required by a dependency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira