Return-Path: X-Original-To: apmail-hadoop-yarn-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-yarn-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0B81510CF3 for ; Thu, 9 Jan 2014 17:53:28 +0000 (UTC) Received: (qmail 51065 invoked by uid 500); 9 Jan 2014 17:51:02 -0000 Delivered-To: apmail-hadoop-yarn-issues-archive@hadoop.apache.org Received: (qmail 50911 invoked by uid 500); 9 Jan 2014 17:50:55 -0000 Mailing-List: contact yarn-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: yarn-issues@hadoop.apache.org Delivered-To: mailing list yarn-issues@hadoop.apache.org Received: (qmail 50899 invoked by uid 99); 9 Jan 2014 17:50:55 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Jan 2014 17:50:55 +0000 Date: Thu, 9 Jan 2014 17:50:55 +0000 (UTC) From: "Alejandro Abdelnur (JIRA)" To: yarn-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (YARN-888) clean up POM dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/YARN-888?page=3Dcom.atlassian.j= ira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D138668= 45#comment-13866845 ]=20 Alejandro Abdelnur commented on YARN-888: ----------------------------------------- [~vinodvk],=20 While having dependencies in non-leaf POMs may reduce the size of leaf POMs= , it drags non-required dependencies (unless you only put in non-leaf POMs = dependencies that are common to all the leaf modules). Yes IntelliJ seems to get funny with dependencies in non-leaf modules. That= is one of the motivations (agree it is an IntelliJ issue, on the other han= d the change does not affect the project built at all and allows IntelliJ u= sers to build/debug from the IDE out of the box without doing funny voodoo)= . The other motivation, and IMO is more important, is to clean up the depende= ncies modules like yarn-api and yarn-client have. Restricting them to what = is used on the client side. Using the dependency:tree and dependency:analyz= e plugins I=E2=80=99ve reduced the 3rd party JARs required by the clients s= ignificantly. As [~stevel@apache.org] pointed out there is much more work w= e should do in this direction, this is a first non-intrusive baby step in t= hat direction. To give you and idea, before the this patch *hadoop-yarn-api* reports as re= quired dependencies by itself: {code} +- org.slf4j:slf4j-api:jar:1.7.5:compile +- org.slf4j:slf4j-log4j12:jar:1.7.5:compile | \- log4j:log4j:jar:1.2.17:compile +- org.apache.hadoop:hadoop-annotations:jar:3.0.0-SNAPSHOT:compile | +- tomcat:jasper-compiler:jar:5.5.23:test +- com.google.inject.extensions:guice-servlet:jar:3.0:compile +- io.netty:netty:jar:3.6.2.Final:compile +- com.google.protobuf:protobuf-java:jar:2.5.0:compile +- commons-io:commons-io:jar:2.4:compile +- com.google.inject:guice:jar:3.0:compile | +- javax.inject:javax.inject:jar:1:compile | \- aopalliance:aopalliance:jar:1.0:compile +- com.sun.jersey:jersey-server:jar:1.9:compile | +- asm:asm:jar:3.2:compile | \- com.sun.jersey:jersey-core:jar:1.9:compile +- com.sun.jersey:jersey-json:jar:1.9:compile | +- org.codehaus.jettison:jettison:jar:1.1:compile | | \- stax:stax-api:jar:1.0.1:compile | +- com.sun.xml.bind:jaxb-impl:jar:2.2.3-1:compile | | \- javax.xml.bind:jaxb-api:jar:2.2.2:compile | | \- javax.activation:activation:jar:1.1:compile | +- org.codehaus.jackson:jackson-core-asl:jar:1.8.8:compile | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.8.8:compile | +- org.codehaus.jackson:jackson-jaxrs:jar:1.8.8:compile (version manage= d from 1.8.3) | \- org.codehaus.jackson:jackson-xc:jar:1.8.8:compile (version managed f= rom 1.8.3) \- com.sun.jersey.contribs:jersey-guice:jar:1.9:compile {code} With the patch, the required dependencies by itself are down to: {code} +- commons-lang:commons-lang:jar:2.6:compile +- com.google.guava:guava:jar:11.0.2:compile | \- com.google.code.findbugs:jsr305:jar:1.3.9:compile +- commons-logging:commons-logging:jar:1.1.3:compile +- org.apache.hadoop:hadoop-annotations:jar:3.0.0-SNAPSHOT:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile {code} Does this address your concerns? > clean up POM dependencies > ------------------------- > > Key: YARN-888 > URL: https://issues.apache.org/jira/browse/YARN-888 > Project: Hadoop YARN > Issue Type: Bug > Affects Versions: 2.1.0-beta > Reporter: Alejandro Abdelnur > Assignee: Alejandro Abdelnur > Attachments: YARN-888.patch, YARN-888.patch, yarn-888-2.patch > > > Intermediate 'pom' modules define dependencies inherited by leaf modules. > This is causing issues in intellij IDE. > We should normalize the leaf modules like in common, hdfs and tools where= all dependencies are defined in each leaf module and the intermediate 'pom= ' module do not define any dependency. -- This message was sent by Atlassian JIRA (v6.1.5#6160)