<?xml version="1.0" encoding="UTF-8"?>
<!--
This file defines what goes in to ANTLR Uber jar, which includes
all of the classes we need to run an executable jar in standalone
mode.
-->
<assembly>
<!--
This is the suffix that will be used to name the uber jar
once it is jared up.
-->
<id>completejar</id>
<!--
The only output format we need is the executable jar file
-->
<formats>
<format>jar</format>
</formats>
<!--
Make all jars unpack at the same level and don't include
any extraneous directories.
-->
<includeBaseDirectory>false</includeBaseDirectory>
<!--
Which of the modules that the master pom builds do we
wish to include in the uber jar. We are including
dependencies, so we only need to name the Tool module
and the gunit module.
-->
<moduleSets>
<moduleSet>
<includes>
<include>org.antlr:antlr</include>
</includes>
<!--
Of the binaries, such as the dependencies that the
above modules need, which do we want and which do we not.
Currently we want all the dependencies in the Tool jar.
-->
<binaries>
<dependencySets>
<dependencySet>
<!--
Exclude the antlr-master pom from the jar - we don't need it
and it causes silly things to happen.
-->
<useProjectArtifact>false</useProjectArtifact>
<!--
Unpack the binary dependencies so we have a nice
uber jar that can run with java -jar and need not have
CLASSPATH configured and so on.
-->
<unpack>true</unpack>
</dependencySet>
</dependencySets>
</binaries>
</moduleSet>
</moduleSets>
<!--
What do we want to include in the jar from each project
-->
<fileSets>
<fileSet>
<!--
We need the output classes and resources etc.
-->
<directory>${project.build.outputDirectory}</directory>
</fileSet>
</fileSets>
</assembly>