• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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