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