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