1<!-- 2 3 [The "BSD license"] 4 5 ANTLR - Copyright (c) 2005-2010 Terence Parr 6 Maven Plugin - Copyright (c) 2009 Jim Idle 7 8 All rights reserved. 9 10 Redistribution and use in source and binary forms, with or without 11 modification, are permitted provided that the following conditions 12 are met: 13 1. Redistributions of source code must retain the above copyright 14 notice, this list of conditions and the following disclaimer. 15 2. Redistributions in binary form must reproduce the above copyright 16 notice, this list of conditions and the following disclaimer in the 17 documentation and/or other materials provided with the distribution. 18 3. The name of the author may not be used to endorse or promote products 19 derived from this software without specific prior written permission. 20 21 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 22 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 23 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 24 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 25 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 26 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 32 --> 33 34 35 36<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 37 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 38 39 40 <!-- 41 The ANTLR Maven artifacts are now released via the Sonotype OSS 42 repository, which means that they are synced to Maven central 43 within a few minutes of hitting the release repo for Sonotype. 44 To enable this, we inherit from the Sonotype provided parent 45 pom. However, we must also configure our .m2/settings.xml to include 46 the snapshot and staging server and the sonotype password. This 47 means that only ANTLR developers can released the artifacts, but 48 anyone can build locally. 49 --> 50 <parent> 51 <groupId>org.sonatype.oss</groupId> 52 <artifactId>oss-parent</artifactId> 53 <version>7</version> 54 </parent> 55 56 <!-- Maven model we are inheriting from 57 --> 58 <modelVersion>4.0.0</modelVersion> 59 60 <!-- 61 62 Now that the ANTLR project has adopted Maven with a vengence, 63 all ANTLR tools will be grouped under org.antlr and will be 64 controlled by a project member. 65 --> 66 <groupId>org.antlr</groupId> 67 68 69 <!-- 70 71 This is the ANTLR plugin for ANTLR version 3.1.3 and above. It might 72 have been best to change the name of the plugin as the 3.1.2 plugins 73 behave a little differently, however for the sake of one transitional 74 phase to a much better plugin, it was decided that the name should 75 remain the same. 76 --> 77 <artifactId>antlr3-maven-plugin</artifactId> 78 <packaging>maven-plugin</packaging> 79 80 <!-- Note that as this plugin depends on the ANTLR tool itself 81 we cannot use the paren pom to control the version number 82 and MUST update <version> in this pom manually! 83 --> 84 <version>3.4</version> 85 <name>Maven plugin for ANTLR V3.4</name> 86 <prerequisites> 87 <maven>2.0</maven> 88 </prerequisites> 89 90 <!-- 91 Where does our actual project live on the interwebs. 92 --> 93 <url>http://antlr.org</url> 94 95 <properties> 96 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 97 </properties> 98 99 <description> 100 101This is the brand new, re-written from scratch plugin for ANTLR v3. 102 103Previous valiant efforts all suffered from being unable to modify the ANTLR Tool 104itself to provide support not just for Maven oriented things but any other tool 105that might wish to invoke ANTLR without resorting to the command line interface. 106 107Rather than try to shoe-horn new code into the existing Mojo (in fact I think that 108by incorporating a patch supplied by someone I ended up with tow versions of the 109Mojo, I elected to rewrite everything from scratch, including the documentation, so 110that we might end up with a perfect Mojo that can do everything that ANTLR v3 supports 111such as imported grammar processing, proper support for library directories and 112locating token files from generated sources, and so on. 113 114In the end I decided to also change the the ANTLR Tool.java code so that it 115would be the provider of all the things that a build tool needs, rather than 116delegating things to 5 different tools. So, things like dependencies, dependency 117sorting, option tracking, generating sources and so on are all folded back 118in to ANTLR's Tool.java code, where they belong, and they now provide a 119public interface to anyone that might want to interface with them. 120 121One other goal of this rewrite was to completely document the whole thing 122to death. Hence even this pom has more comments than funcitonal elements, 123in case I get run over by a bus or fall off a cliff while skiing. 124 125Jim Idle - March 2009 126 127 </description> 128 129 <profiles> 130 <profile> 131 <id>release-sign-artifacts</id> 132 <activation> 133 <property> 134 <name>deploy</name> 135 <value>true</value> 136 </property> 137 </activation> 138 <build> 139 <plugins> 140 <plugin> 141 <groupId>org.apache.maven.plugins</groupId> 142 <artifactId>maven-gpg-plugin</artifactId> 143 <version>1.3</version> 144 <executions> 145 <execution> 146 <id>sign-artifacts</id> 147 <phase>verify</phase> 148 <goals> 149 <goal>sign</goal> 150 </goals> 151 </execution> 152 </executions> 153 </plugin> 154 </plugins> 155 </build> 156 </profile> 157 </profiles> 158 159 160 <developers> 161 162 <developer> 163 <name>Jim Idle</name> 164 <url>http://www.temporal-wave.com</url> 165 <roles> 166 <role>Originator, version 3.1.3+</role> 167 </roles> 168 </developer> 169 170 <developer> 171 <name>Terence Parr</name> 172 <url>http://antlr.org/wiki/display/~admin/Home</url> 173 <roles> 174 <role>Project lead - ANTLR</role> 175 </roles> 176 </developer> 177 178 <developer> 179 <name>David Holroyd</name> 180 <url>http://david.holroyd.me.uk/</url> 181 <roles> 182 <role>Originator - prior version</role> 183 </roles> 184 </developer> 185 186 <developer> 187 <name>Kenny MacDermid</name> 188 <url>mailto:kenny "at" kmdconsulting.ca</url> 189 <roles> 190 <role>Contributor - prior versions</role> 191 </roles> 192 </developer> 193 194 </developers> 195 196 <!-- Where do we track bugs for this project? 197 --> 198 <issueManagement> 199 <system>JIRA</system> 200 <url>http://antlr.org/jira/browse/ANTLR</url> 201 </issueManagement> 202 203 <!-- Location of the license description for this project 204 --> 205 <licenses> 206 <license> 207 <distribution>repo</distribution> 208 <name>The BSD License</name> 209 <url>http://www.antlr.org/LICENSE.txt </url> 210 </license> 211 </licenses> 212 213 <!-- Ancilliary information for completeness 214 --> 215 <inceptionYear>2009</inceptionYear> 216 217 <mailingLists> 218 <mailingList> 219 <archive>http://antlr.markmail.org/</archive> 220 <otherArchives> 221 <otherArchive>http://www.antlr.org/pipermail/antlr-interest/</otherArchive> 222 </otherArchives> 223 <name>ANTLR Users</name> 224 <subscribe>http://www.antlr.org/mailman/listinfo/antlr-interest/</subscribe> 225 <unsubscribe>http://www.antlr.org/mailman/options/antlr-interest/</unsubscribe> 226 <post>antlr-interest@antlr.org</post> 227 </mailingList> 228 </mailingLists> 229 230 <organization> 231 <name>ANTLR.org</name> 232 <url>http://www.antlr.org</url> 233 </organization> 234 <!-- ============================================================================= --> 235 236 <!-- 237 238 What are we depedent on for the Mojos to execute? We need the 239 plugin API itself and of course we need the ANTLR Tool and runtime 240 and any of their dependencies, which we inherit. The Tool itself provides 241 us with all the dependencies, so we need only name it here. 242 --> 243 <dependencies> 244 245 <!-- 246 The things we need to build the target language recognizer 247 --> 248 <dependency> 249 <groupId>org.apache.maven</groupId> 250 <artifactId>maven-plugin-api</artifactId> 251 <version>2.0</version> 252 <scope>compile</scope> 253 </dependency> 254 255 <dependency> 256 <groupId>org.apache.maven</groupId> 257 <artifactId>maven-project</artifactId> 258 <version>2.0</version> 259 </dependency> 260 261 <dependency> 262 <groupId>org.codehaus.plexus</groupId> 263 <artifactId>plexus-compiler-api</artifactId> 264 <version>1.5.3</version> 265 </dependency> 266 267 <!-- 268 The version of ANTLR tool that this version of the plugin controls. 269 We have decided that this should be in lockstep with ANTLR itself, other 270 than -1 -2 -3 etc patch releases. 271 --> 272 <dependency> 273 <groupId>org.antlr</groupId> 274 <artifactId>antlr</artifactId> 275 <version>3.4</version> 276 </dependency> 277 278 <!-- 279 Testing requirements... 280 --> 281 <dependency> 282 283 <groupId>junit</groupId> 284 <artifactId>junit</artifactId> 285 <version>4.8.2</version> 286 <scope>test</scope> 287 288 </dependency> 289 290 <dependency> 291 <groupId>org.apache.maven.shared</groupId> 292 <artifactId>maven-plugin-testing-harness</artifactId> 293 <version>1.0</version> 294 <scope>test</scope> 295 </dependency> 296 297 </dependencies> 298 299 <build> 300 301 <defaultGoal>install</defaultGoal> 302 303 <plugins> 304 305 <plugin> 306 <artifactId>maven-compiler-plugin</artifactId> 307 <version>2.0.2</version> 308 <configuration> 309 <source>1.6</source> 310 <target>jsr14</target> 311 </configuration> 312 </plugin> 313 314 <plugin> 315 <groupId>org.apache.maven.plugins</groupId> 316 <artifactId>maven-site-plugin</artifactId> 317 <version>2.0</version> 318 </plugin> 319 320 <plugin> 321 <groupId>org.apache.maven.plugins</groupId> 322 <artifactId>maven-project-info-reports-plugin</artifactId> 323 <version>2.1.1</version> 324 <configuration> 325 <dependencyLocationsEnabled>false</dependencyLocationsEnabled> 326 </configuration> 327 </plugin> 328 329 <plugin> 330 <groupId>org.apache.maven.plugins</groupId> 331 <artifactId>maven-source-plugin</artifactId> 332 <version>2.1.2</version> 333 <executions> 334 <execution> 335 <id>attach-sources</id> 336 <goals> 337 <goal>jar</goal> 338 </goals> 339 </execution> 340 </executions> 341 </plugin> 342 343 <plugin> 344 <groupId>org.apache.maven.plugins</groupId> 345 <artifactId>maven-javadoc-plugin</artifactId> 346 <version>2.8</version> 347 <executions> 348 <execution> 349 <id>attach-javadocs</id> 350 <goals> 351 <goal>jar</goal> 352 </goals> 353 </execution> 354 </executions> 355 </plugin> 356 357 </plugins> 358 359 </build> 360 361</project> 362