On Wednesday, 6 July 2016 at 22:17, Christian Schulte wrote: > Am 07/06/16 um 23:08 schrieb Stuart McCulloch: > > On Wednesday, 6 July 2016 at 21:53, Christian Schulte wrote: > > > Am 07/06/16 um 22:21 schrieb Ralph Goers: > > > > This is an interesting situation. The classes that use Jackson are all > > > > considered optional in Log4j, so having optional set to true is indeed > > > > what is desired. However, we require those dependencies to compile and > > > > to run the unit tests. With scope set to test I would expect that the > > > > non-test classes that need them would fail to compile. So it sounds > > > > like we have to make sure all transitive dependencies needed for > > > > testing are also specified with optional set to true? > > > > > > > > Ralph > > > > > > > > > > > > > Not sure I understand the situation correctly. If the scope is set to > > > test, it's not available in any other scope than test. Could you please > > > point me at the POM in question? So I can 'mvn compile' that project > > > successfully and you would expect it to not compile due to some optional > > > transitive dependency? > > > > > > > > > > > > > > > Hi Christian, > > > > Gary posted a link to the build in his original post. > > > > Basically at the moment it has a dependencyManagement section in the > > top-level pom that declares various jackson dependencies as optional, > > including jackson-module-jaxb-annotations. The log4j-core sub-project > > declares a direct dependency to jackson-dataformat-xml with compile scope, > > marked as optional (also note that jackson-module-jaxb-annotations is a > > transitive dependency of jackson-dataformat-xml). > > > > With the fix for MNG-5227 the transitive dependency to > > jackson-module-jaxb-annotations is managed as optional and is removed from > > the compile and test classpath. Because the code doesn’t directly depend on > > jackson-module-jaxb-annotations then it compiles ok. However, the tests > > fail because both jackson-dataformat-xml and > > jackson-module-jaxb-annotations are needed at test time. > > > > Without the fix for MNG-5227 the optional flags in the dependencyManagement > > section are ignored, and jackson-module-jaxb-annotations is included on the > > compile and test classpath (because the optional jackson-dataformat-xml > > dependency is selected and jackson-module-jaxb-annotations is now seen as a > > non-optional transitive dependency of jackson-dataformat-xml). > Ok. That's MNG-5935. > >
But also related to MNG-5227 right? Since the build fails with the old maven snapshot that had the fix for MNG-5227 (and the fix for MNG-5935) but passes with the more recent snapshot where MNG-5227 was reverted (but still contains the fix for MNG-5935) > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > (mailto:[email protected]) > For additional commands, e-mail: [email protected] > (mailto:[email protected]) > >
