summaryrefslogtreecommitdiffstats
path: root/tags/java/sca/1.5.1-RC3/tools/maven/maven-dependency-lister/README
blob: d53760029f7f49ab86304499c7044261bdabe31a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Tuscany SCA Dependency Lister
=============================

Makes use of the extension Maven dependency support to list out all of the 
dependencis in the module where the plugin is used. The module is
analysed and a report (dependency.txt) is written into the modules directory including
each dependency and the path through the maven transitive dependencies that caused
the original dependency to be included. For example, Here is a line which lists
a a jar dependency, the phase in which it was found, the module being processed 
and he path that causes the dependency

DEPENDENCY              PHASE   MODULE                                                          PATH TO DEPENDENCY
jaxb-api-2.1.jar	compile	Apache Tuscany SCA Atom+RSS Feed Aggregator Sample Webapp	tuscany-host-webapp-1.1-incubating-SNAPSHOT	tuscany-host-embedded-1.1-incubating-SNAPSHOT	tuscany-core-databinding-1.1-incubating-SNAPSHOT	tuscany-databinding-jaxb-1.1-incubating-SNAPSHOT	jaxb-api-2.1

It is often convenient to further analyse these entries using the spreadsheet of your
choice so the columns are tab separated to allow for easy conversion.

The plugin can be included in a module using the following,

<plugin>
    <groupId>org.apache.tuscany.sca</groupId>
    <artifactId>tuscany-maven-dependency-lister</artifactId>
    <version>1.1-incubating-SNAPSHOT</version>
    <executions>
        <execution>
            <goals>
                <goal>execute</goal>
            </goals>
        </execution>
    </executions>
</plugin>  

If you include this at the top level of you project and have it run for each model you
will get a report for each model independently. For example, in the Tuscany SCA project
the plugin is included in the pom.xml files at the sca level under the profile 
"dependecies" so to generate a dependencies report for the Tuscany SCA project:

cd sca
mvn -o -Pdependencies -Dmaven.test.skip=true 

Once you have dependency.txt files in your modules
the you favourite command line tools can be used to concatenate and sort them
to get a full picture of the dependencies in you project, for example, with linux you
could do,

find . -name dependency.txt -exec cat '{}' >> deptotal.txt \;