1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3 4 <parent> 5 <groupId>org.sonatype.oss</groupId> 6 <artifactId>oss-parent</artifactId> 7 <version>9</version> 8 </parent> 9 10 <modelVersion>4.0.0</modelVersion> 11 <groupId>org.antlr</groupId> 12 <artifactId>antlr-master</artifactId> 13 <packaging>pom</packaging> 14 <version>3.5.2</version> 15 <name>ANTLR 3 Master build control POM</name> 16 <description>Master build POM for ANTLR 3</description> 17 <url>http://antlr.org</url> 18 <inceptionYear>1992</inceptionYear> 19 <organization> 20 <name>ANTLR</name> 21 <url>http://www.antlr.org</url> 22 </organization> 23 24 <!-- 25 What version of ANTLR are we building? This sets the 26 the version number for all other things that are built 27 as part of an ANTLR release, unless they override or 28 ignore it. We do this via a properites file for this 29 pom. 30 --> 31 32 <!-- 33 This is the master pom for building the ANTLR 34 toolset and runtime (Java) at the specific level 35 defined above. Hence we specify here the modules that 36 this pom will build when we build this pom 37 --> 38 39 <modules> 40 <module>runtime/Java</module> 41 <module>tool</module> 42 <module>antlr3-maven-plugin</module> 43 <module>gunit</module> 44 <module>gunit-maven-plugin</module> 45 <module>antlr3-maven-archetype</module> 46 <module>antlr-complete</module> 47 </modules> 48 49 <!-- 50 Make sure that the build is not platform dependent (I.E show that 51 all the files in the source tree are in UTF-8 format. 52 --> 53 <properties> 54 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 55 <java5.home>${env.JAVA5_HOME}</java5.home> 56 <java6.home>${env.JAVA6_HOME}</java6.home> 57 <bootclasspath.java5>${java5.home}/lib/rt.jar</bootclasspath.java5> 58 <bootclasspath.java6>${java6.home}/lib/rt.jar</bootclasspath.java6> 59 <bootclasspath.compile>${bootclasspath.java5}</bootclasspath.compile> 60 <bootclasspath.testCompile>${bootclasspath.java6}</bootclasspath.testCompile> 61 </properties> 62 63 <licenses> 64 <license> 65 <name>BSD licence</name> 66 <url>http://antlr.org/license.html</url> 67 <distribution>repo</distribution> 68 </license> 69 </licenses> 70 71 <issueManagement> 72 <system>GitHub Issues</system> 73 <url>https://github.com/antlr/antlr3/issues</url> 74 </issueManagement> 75 76 <mailingLists> 77 <mailingList> 78 <name>antlr-discussion</name> 79 <archive>https://groups.google.com/forum/?fromgroups#!forum/antlr-discussion</archive> 80 </mailingList> 81 </mailingLists> 82 83 <scm> 84 <url>https://github.com/antlr/antlr3/tree/master</url> 85 <connection>scm:git:git://github.com/antlr/antlr3.git</connection> 86 <developerConnection>scm:git:git@github.com:antlr/antlr3.git</developerConnection> 87 <tag>3.5.2</tag> 88 </scm> 89 <!-- 90 91 Tell Maven which other artifacts we need in order to 92 build, run and test the ANTLR jars. 93 This is the master pom, and so it only contains those 94 dependencies that are common to all the modules below 95 or are just included for test 96 --> 97 <dependencyManagement> 98 99 <dependencies> 100 101 <dependency> 102 <groupId>junit</groupId> 103 <artifactId>junit</artifactId> 104 <version>4.10</version> 105 <scope>test</scope> 106 </dependency> 107 108 <dependency> 109 <groupId>antlr</groupId> 110 <artifactId>antlr</artifactId> 111 <version>2.7.7</version> 112 <scope>compile</scope> 113 </dependency> 114 115 <dependency> 116 <groupId>org.antlr</groupId> 117 <artifactId>stringtemplate</artifactId> 118 <version>3.2.1</version> 119 <scope>compile</scope> 120 </dependency> 121 122 <dependency> 123 <groupId>org.antlr</groupId> 124 <artifactId>ST4</artifactId> 125 <version>4.0.8</version> 126 <scope>compile</scope> 127 </dependency> 128 129 </dependencies> 130 131 </dependencyManagement> 132 133 <profiles> 134 <profile> 135 <id>sonatype-oss-release</id> 136 <modules> 137 <module>antlr-complete</module> 138 </modules> 139 <build> 140 <plugins> 141 <plugin> 142 <groupId>org.apache.maven.plugins</groupId> 143 <artifactId>maven-compiler-plugin</artifactId> 144 <executions> 145 <execution> 146 <id>default-compile</id> 147 <configuration> 148 <source>1.5</source> 149 <target>1.5</target> 150 <compilerArgs> 151 <arg>-Xlint</arg> 152 <arg>-Xlint:-serial</arg> 153 <arg>-bootclasspath</arg> 154 <arg>${bootclasspath.compile}</arg> 155 </compilerArgs> 156 </configuration> 157 </execution> 158 <execution> 159 <id>default-testCompile</id> 160 <configuration> 161 <source>1.6</source> 162 <target>1.6</target> 163 <compilerArgs> 164 <arg>-Xlint</arg> 165 <arg>-Xlint:-serial</arg> 166 <arg>-bootclasspath</arg> 167 <arg>${bootclasspath.testCompile}</arg> 168 </compilerArgs> 169 </configuration> 170 </execution> 171 </executions> 172 </plugin> 173 </plugins> 174 </build> 175 </profile> 176 </profiles> 177 178 <build> 179 180 <defaultGoal>install</defaultGoal> 181 182 <!-- 183 The following filter definition means that both the master 184 project and the sub projects will read in a file in the same 185 directory as the pom.xml is located and set any properties 186 that are defined there in the standard x=y format. These 187 properties can then be referenced via ${x} in any resource 188 file specified in any pom. So, there is a master antlr.config 189 file in the same location as this pom.xml file and here you can 190 define anything that is relevant to all the modules that we 191 build here. However each module also has an antlr.config file 192 where you can override property values from the master file or 193 define things that are only relevant to that module. 194 --> 195 <filters> 196 <filter>antlr.config</filter> 197 </filters> 198 199 <resources> 200 <resource> 201 <directory>src/main/resources</directory> 202 <filtering>true</filtering> 203 </resource> 204 </resources> 205 206 <plugins> 207 <plugin> 208 <groupId>org.apache.maven.plugins</groupId> 209 <artifactId>maven-jar-plugin</artifactId> 210 <version>2.4</version> 211 <configuration> 212 <archive> 213 <manifest> 214 <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 215 </manifest> 216 </archive> 217 </configuration> 218 </plugin> 219 220 <plugin> 221 <groupId>org.apache.maven.plugins</groupId> 222 <artifactId>maven-compiler-plugin</artifactId> 223 <version>3.1</version> 224 <configuration> 225 <sourceDirectory>src</sourceDirectory> 226 <showWarnings>true</showWarnings> 227 <showDeprecation>true</showDeprecation> 228 <compilerArgs> 229 <arg>-Xlint</arg> 230 <arg>-Xlint:-serial</arg> 231 </compilerArgs> 232 </configuration> 233 234 <executions> 235 <execution> 236 <id>default-compile</id> 237 <configuration> 238 <source>1.5</source> 239 <target>1.5</target> 240 </configuration> 241 </execution> 242 <execution> 243 <id>default-testCompile</id> 244 <configuration> 245 <source>1.6</source> 246 <target>1.6</target> 247 </configuration> 248 </execution> 249 </executions> 250 </plugin> 251 252 <plugin> 253 <groupId>org.apache.maven.plugins</groupId> 254 <artifactId>maven-release-plugin</artifactId> 255 <!-- override the version inherited from the parent --> 256 <version>2.5</version> 257 <configuration> 258 <arguments>-Psonatype-oss-release ${release.arguments}</arguments> 259 </configuration> 260 </plugin> 261 262 <plugin> 263 <groupId>org.apache.maven.plugins</groupId> 264 <artifactId>maven-surefire-plugin</artifactId> 265 <!-- override the version inherited from the parent --> 266 <version>2.17</version> 267 </plugin> 268 269 <plugin> 270 <groupId>org.codehaus.mojo</groupId> 271 <artifactId>findbugs-maven-plugin</artifactId> 272 <!-- override the version inherited from the parent --> 273 <version>2.5.3</version> 274 <configuration> 275 <findbugsXmlOutput>true</findbugsXmlOutput> 276 <xmlOutput>true</xmlOutput> 277 </configuration> 278 </plugin> 279 280 <plugin> 281 <groupId>org.apache.maven.plugins</groupId> 282 <artifactId>maven-source-plugin</artifactId> 283 <!-- override the version inherited from the parent --> 284 <version>2.2.1</version> 285 </plugin> 286 287 <plugin> 288 <groupId>org.apache.maven.plugins</groupId> 289 <artifactId>maven-javadoc-plugin</artifactId> 290 <!-- override the version inherited from the parent --> 291 <version>2.9.1</version> 292 <configuration> 293 <quiet>true</quiet> 294 </configuration> 295 </plugin> 296 297 <plugin> 298 <groupId>org.apache.maven.plugins</groupId> 299 <artifactId>maven-gpg-plugin</artifactId> 300 <!-- override the version inherited from the parent --> 301 <version>1.5</version> 302 </plugin> 303 304 </plugins> 305 306 </build> 307 308 <reporting> 309 <plugins> 310 <plugin> 311 <groupId>org.apache.maven.plugins</groupId> 312 <artifactId>maven-javadoc-plugin</artifactId> 313 <version>2.9.1</version> 314 </plugin> 315 316 <plugin> 317 <groupId>org.apache.maven.plugins</groupId> 318 <artifactId>maven-jxr-plugin</artifactId> 319 <version>2.3</version> 320 </plugin> 321 </plugins> 322 </reporting> 323 324</project> 325