In Netbeans, right click in the project -> Show Dependency Graph XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Esteban Aliverti - Developer @ http://www.plugtree.com - Blog @ http://ilesteban.wordpress.com On Fri, May 13, 2011 at 8:47 AM, Geoffrey De Smet <ge0ffrey.s...@gmail.com>wrote: > It's also enabled in your favorite IDE: > > Eclipse: I've your using the m2eclipse plugin, can you also use the > dependency hierarchy overview: > http://screencast.com/t/8i7TJKVlwUz > > IntelliJ: open sidebar "Maven Projects", right click the module and select > menu item "Show dependencies". > > Op 12-05-11 05:54, Mark Proctor schreef: > > On 11/05/2011 15:22, Michael Anstis wrote: > > *> Incident* 3: Wierd that drools-compiler would need jetty to test > something? > > If I am not mistaken jetty is used for some of the KnowledgeAgent tests. > > *> Incident* 4: Wierd that drools-compiler would need a swing framework to > test something? > > I know Mark did some work integrating glazed-lists with live queries, or > something around that area a while ago... > > yes to both. > > Mark > > > On 11 May 2011 14:37, Geoffrey De Smet <ge0ffrey.s...@gmail.com> wrote: > >> Hi guys, >> >> We should actively notify/teach each other about tips and tricks. >> There's a lot we can learn from each other. >> I'll start with a build tip: >> >> >> The problem >> ======== >> - How bloated is the dependency tree of my module? This affects the >> download zip size, but also the minimal jars needed to run. >> - Are there dead dependency left in my module? >> >> The solution >> ======== >> - First thing to understand is that it has to reviewed module by module >> (focus on end-user modules such as drools-compiler, drools-camel-server, >> guvnor-webapp, ...). >> - Use the command *mvn dependency:tree* >> >> Example >> ===== >> >> Here's the output on drools-compiler. >> I've annotated a couple of possible incidents which might or might not be >> a problem. >> It's hard to tell without someone with extensive drools-compiler >> experience looking further into it. >> >> drools-compiler [master] $ mvn dependency:tree >> [INFO] Scanning for projects... >> [INFO] >> >> [INFO] >> ------------------------------------------------------------------------ >> [INFO] Building Drools :: Compiler 5.3.0-SNAPSHOT >> [INFO] >> ------------------------------------------------------------------------ >> [INFO] >> [INFO] --- maven-dependency-plugin:2.2:tree (default-cli) @ >> drools-compiler --- >> [INFO] org.drools:drools-compiler:jar:5.3.0-SNAPSHOT >> [INFO] +- org.drools:drools-core:jar:5.3.0-SNAPSHOT:compile >> [INFO] | \- org.drools:knowledge-api:jar:5.3.0-SNAPSHOT:compile >> [INFO] +- org.drools:drools-core:test-jar:tests:5.3.0-SNAPSHOT:test >> [INFO] +- org.apache.felix:org.osgi.core:jar:1.4.0:provided >> [INFO] +- org.apache.felix:org.osgi.compendium:jar:1.4.0:provided >> [INFO] +- org.antlr:*antlr-runtime:jar:3.3*:compile >> [INFO] +- org.antlr:*antlr:jar:3.3*:compile >> *Incident* 1: maybe org.antlr:antlr-runtime:jar:3.3 is a subset of >> org.antlr:antlr-runtime:jar:3.3 ? (antlr is wierd IIRC - so this is probably >> not in this case) >> [INFO] +- org.antlr:stringtemplate:jar:3.2.1:compile >> [INFO] +- antlr:*antlr:jar:2.7.7*:compile >> *Incident* 2: maybe antlr:antlr:jar:2.7.7 is a subset of >> org.antlr:antlr-runtime:jar:3.3 ? (antlr is wierd IIRC - so this is probably >> not in this case) >> In general, dependencies with a non-namespaced groupId need to be >> upgraded if possible. >> [INFO] +- org.antlr:gunit:jar:3.3:test >> [INFO] +- org.eclipse.jdt.core.compiler:ecj:jar:3.5.1:compile >> [INFO] +- janino:janino:jar:2.5.15:compile >> Note that janino is optional (output doesn't show that :( ) - no >> problem here >> [INFO] +- org.mvel:mvel2:jar:2.1-SNAPSHOT:compile >> [INFO] +- com.thoughtworks.xstream:xstream:jar:1.3.1:test >> [INFO] | \- xpp3:xpp3_min:jar:1.1.4c:test >> [INFO] +- org.mortbay.*jetty*:jetty-embedded:jar:6.1.15:test >> *Incident* 3: Wierd that drools-compiler would need jetty to test >> something? >> [INFO] | +- org.mortbay.jetty:jetty:jar:6.1.15:test >> [INFO] | | +- org.mortbay.jetty:jetty-util:jar:6.1.15:test >> [INFO] | | \- org.mortbay.jetty:servlet-api:jar:2.5-20081211:test >> [INFO] | \- javax.servlet.jsp:jsp-api:jar:2.1:test >> [INFO] +- org.opensymphony.quartz:quartz:jar:1.6.1:test >> [INFO] +- com.sun.xml.bind:jaxb-xjc:jar:2.2.1.1:provided >> [INFO] +- com.sun.xml.bind:jaxb-impl:jar:2.2.1.1:provided >> [INFO] +- javax.xml.bind:jaxb-api:jar:2.2.1:provided >> [INFO] +- javax.xml.stream:stax-api:jar:1.0-2:provided >> [INFO] +- javax.activation:activation:jar:1.1:provided >> [INFO] +- net.java.dev.*glazedlists*:glazedlists_java15:jar:1.8.0:test >> *Incident* 4: Wierd that drools-compiler would need a swing framework >> to test something? >> [INFO] +- junit:junit:jar:4.8.1:test >> [INFO] \- org.mockito:mockito-all:jar:1.8.2:test >> [INFO] >> ------------------------------------------------------------------------ >> [INFO] BUILD >> SUCCESS >> & >> nbsp; &nbs >> p; >> [INFO] >> ------------------------------------------------------------------------ >> >> &n >> bsp; ; >> [INFO] Total time: >> 1.951s >> &n >> bsp; >> ; >> [INFO] Finished at: Wed May 11 15:09:09 CEST >> 2011 >> &nbs >> p; & nbsp; >> [INFO] Final Memory: >> 10M/309M >> &nb >> sp; >> [INFO] >> ------------------------------------------------------------------------ >> >> Here's another example showing another type of incident: >> >> drools-camel-server [master] $ mvn dependency:tree >> ... >> [INFO] +- org.drools:drools-grid-impl:jar:5.3.0-SNAPSHOT:compile >> [INFO] | +- org.apache.mina:mina-core:jar:2.0.1:compile (version managed >> from 2.0.0-M6) >> [INFO] | \- com.hazelcast:hazelcast:jar:1.8.5:compile >> ... >> [INFO] +- org.apache.camel:camel-cxf:jar:2.4.0:compile >> [INFO] | \- org.apache.cxf:*cxf-rt-frontend-jaxrs*:jar:2.2.9:compile >> [INFO] | +- org.apache.cxf:cxf-common-utilities:jar:2.2.9:compile >> [INFO] | +- org.apache.cxf:cxf-rt-transports-http:jar:2.2.9:compile >> [INFO] | +- org.apache.cxf:cxf-rt-databinding-aegis:jar:2.2.9:compile >> [INFO] | +- jaxen:jaxen:jar:1.1.1:compile >> [INFO] | \- org.apache.xmlbeans:xmlbeans:jar:2.4.0:compile >> ... >> [INFO] +- org.apache.cxf:*cxf-bundle-jaxrs*:jar:2.2.9:compile >> *Incident* A: This cxf-bundle-jaxrs is an uber jar. *Uber jars (as >> dependencies) are evil.* >> An uber jar extracts the classes from other jars and zips them >> (=aggregate) in itself. >> This effectively kills maven's ability to only have 1 class of >> something in your classpath. >> It turns your classpath into box of chocolates: *you never know what >> version of class file you'll get*. >> Also, it bloats the classpath with things you don't need (like jetty >> in this case) >> and those cause havoc if you deploy it to some app servers. >> [INFO] | +- aopalliance:aopalliance:jar:1.0:compile >> [INFO] | +- >> org.apache.geronimo.specs:geronimo-annotation_1.0_spec:jar:1.1.1:compile >> [INFO] | +- >> org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile >> [INFO] | +- wsdl4j:wsdl4j:jar:1.6.2:compile >> [INFO] | +- org.apache.ws.commons.schema:XmlSchema:jar:1.4.5:compile >> [INFO] | +- commons-lang:commons-lang:jar:2.4:compile >> [INFO] | +- >> org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.0.2:compile >> [INFO] | +- org.codehaus.woodstox:wstx-asl:jar:3.2.9:compile >> [INFO] | +- org.apache.neethi:neethi:jar:2.0.4:compile >> [INFO] | +- >> org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.6:compile >> [INFO] | +- org.springframework:spring-web:jar:2.5.6:compile >> [INFO] | +- org.mortbay.jetty:*jetty*:jar:6.1.21:compile >> [INFO] | +- org.mortbay.jetty:jetty-util:jar:6.1.21:compile >> [INFO] | +- javax.ws.rs:jsr311-api:jar:1.0:compile >> [INFO] | +- org.apache.abdera:abdera-core:jar:1.0:compile >> [INFO] | +- org.apache.abdera:abdera-i18n:jar:1.0:compile >> [INFO] | +- commons-codec:commons-codec:jar:1.3:compile >> [INFO] | +- org.apache.abdera:abdera-parser:jar:1.0:compile >> [INFO] | +- org.apache.ws.commons.axiom:axiom-impl:jar:1.2.7:compile >> [INFO] | +- org.apache.ws.commons.axiom:axiom-api:jar:1.2.7:compile >> [INFO] | +- org.apache.abdera:abdera-extensions-json:jar:1.0:compile >> [INFO] | \- org.apache.abdera:abdera-extensions-main:jar:1.0:compile >> ... >> >> Also, if you're trying to solve such things on master, try upgrading the >> dependencies first (not on a release branch - upgrading is risky!): >> many issues in the poms tend to be identified and fixed in newer versions. >> >> -- >> With kind regards, >> Geoffrey De Smet >> >> >> _______________________________________________ >> rules-dev mailing list >> rules-dev@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-dev >> >> > > _______________________________________________ > rules-dev mailing > listrules-dev@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-dev > > > > _______________________________________________ > rules-dev mailing > listrules-dev@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-dev > > > -- > With kind regards, > Geoffrey De Smet > > > _______________________________________________ > rules-dev mailing list > rules-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-dev > >
_______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev