[ https://issues.apache.org/jira/browse/SENTRY-2074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16334651#comment-16334651 ]
Hadoop QA commented on SENTRY-2074: ----------------------------------- Here are the results of testing the latest attachment https://issues.apache.org/jira/secure/attachment/12907143/SENTRY-2074.03.patch against master. {color:red}Overall:{color} -1 due to an error {color:red}ERROR:{color} mvn test exited 1 Console output: https://builds.apache.org/job/PreCommit-SENTRY-Build/3634/console This message is automatically generated. > Fix maven dependencies to have all directly used libraries defined > ------------------------------------------------------------------ > > Key: SENTRY-2074 > URL: https://issues.apache.org/jira/browse/SENTRY-2074 > Project: Sentry > Issue Type: Improvement > Components: Build > Affects Versions: 2.0.0 > Reporter: Brian Towles > Assignee: Brian Towles > Priority: Major > Fix For: 2.1.0 > > Attachments: SENTRY-2074.01.patch, SENTRY-2074.02.patch, > SENTRY-2074.03.patch > > > Using the maven dependency plugin to analyze the dependency usage for each > module and put all directly used libraries in the pom. Clean-up the unused > ones and adjust the scope of libraries only used for tests and provided > libraries for plugins. > > The one of the primary motivations for this patch is to help on its way to > cleaning up the distribution. Currently the dist module reads all > dependencies no mater what scope they are and drops them into the distributed > libs. This causes things like junit and ant to be pushed into the libs that > are being distributed. With the changes to have direct dependencies always > defined it allows us to take compile and runtime scopes only into account > when dropping the libs needed. > As well this identifies which libraries are provided already by environments > where the plugins/bindings are going into. For example in the hive bindings, > the hive and hadoop libraries need only be defined with "provided" scope, > since with those application we want to use the hadoop and hive libraries > that the applications already provide. > This makes it a lot easier for shading and package shifting of the binding > and plugins for libraries and versions of those libraries that are needed by > the binding and might conflict with versions already in the application which > the binding or plugin is going into. Guava is a major issue with this. Doing > this short of shading based on the cleanup would allow us to rev Guava and > use newer Guava features while not conflicting with the Guava version the > application is using. By having the directly used dependency defined it gives > us control over the exact version we are using and not be dependent on and > having conflicts with the transitive dependencies of the application being > embedded in. > This patch will not really make the development process harder since the > analysis of the dependencies needed automatically runs as part of the build > and a failure occurs telling you which "used but undefined" and which > "defined but unused" libraries are missing or in the pom. There is even an > xml dump of the dependencies part need to put right into the pom. No > additional runs or dependency analysis needs to take place. -- This message was sent by Atlassian JIRA (v7.6.3#76005)