1<?xml version="1.0" encoding="UTF-8"?>
2
3<!--
4    This file defines what goes in to ANTLR Uber jar, which includes
5    all of the classes we need to run an executable jar in standalone
6    mode.
7  -->
8<assembly>
9
10    <!--
11        This is the suffix that will be used to name the uber jar
12        once it is jared up.
13      -->
14    <id>completejar</id>
15
16    <!--
17        The only output format we need is the executable jar file
18      -->
19    <formats>
20        <format>jar</format>
21    </formats>
22
23    <!--
24        Make all jars unpack at the same level and don't include
25        any extraneous directories.
26      -->
27    <includeBaseDirectory>false</includeBaseDirectory>
28
29    <!--
30        Which of the modules that the master pom builds do we
31        wish to include in the uber jar. We are including
32        dependencies, so we only need to name the Tool module
33        and the gunit module.
34      -->
35    <moduleSets>
36
37        <moduleSet>
38            
39            <includes>
40                
41                <include>org.antlr:antlr</include>
42          
43            </includes>
44            <!--
45                Of the binaries, such as the dependencies that the
46                above modules need, which do we want and which do we not.
47                Currently we want all the dependencies in the Tool jar.
48              -->
49            <binaries>
50
51                <dependencySets>
52                    <dependencySet>
53                        <!--
54                            Exclude the antlr-master pom from the jar - we don't need it
55                            and it causes silly things to happen.
56                          -->
57                        <useProjectArtifact>false</useProjectArtifact>
58                    
59                        <!--
60                            Unpack the binary dependencies so we have a nice
61                            uber jar that can run with java -jar and need not have
62                            CLASSPATH configured and so on.
63                          -->
64                        <unpack>true</unpack>
65                    </dependencySet>
66                </dependencySets>
67
68
69            </binaries>
70
71        </moduleSet>
72       
73    </moduleSets>
74
75    <!--
76        What do we want to include in the jar from each project
77      -->
78    <fileSets>
79        <fileSet>
80
81            <!--
82                We need the output classes and resources etc.
83              -->
84            <directory>${project.build.outputDirectory}</directory>
85        </fileSet>
86    </fileSets>
87
88</assembly>
89