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 101 This is the brand new, re-written from scratch plugin for ANTLR v3. 102 103 Previous valiant efforts all suffered from being unable to modify the ANTLR Tool 104 itself to provide support not just for Maven oriented things but any other tool 105 that might wish to invoke ANTLR without resorting to the command line interface. 106 107 Rather than try to shoe-horn new code into the existing Mojo (in fact I think that 108 by incorporating a patch supplied by someone I ended up with tow versions of the 109 Mojo, I elected to rewrite everything from scratch, including the documentation, so 110 that we might end up with a perfect Mojo that can do everything that ANTLR v3 supports 111 such as imported grammar processing, proper support for library directories and 112 locating token files from generated sources, and so on. 113 114 In the end I decided to also change the the ANTLR Tool.java code so that it 115 would be the provider of all the things that a build tool needs, rather than 116 delegating things to 5 different tools. So, things like dependencies, dependency 117 sorting, option tracking, generating sources and so on are all folded back 118 in to ANTLR's Tool.java code, where they belong, and they now provide a 119 public interface to anyone that might want to interface with them. 120 121 One other goal of this rewrite was to completely document the whole thing 122 to death. Hence even this pom has more comments than funcitonal elements, 123 in case I get run over by a bus or fall off a cliff while skiing. 124 125 Jim 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 (a] 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