blob: 6c1ba3cf9094376bbcd278bdcbde09fd03adc2cc [file] [log] [blame]
Stephan Herrmann2feba952012-05-26 15:02:07 +02001<?xml version="1.0" encoding="UTF-8"?>
2<!--
Stephan Herrmann86daa502020-01-12 16:33:35 +01003 Copyright (c) 2012, 2020 Eclipse Foundation and others.
Stephan Herrmann2feba952012-05-26 15:02:07 +02004 All rights reserved. This program and the accompanying materials
5 are made available under the terms of the Eclipse Distribution License v1.0
6 which accompanies this distribution, and is available at
7 http://www.eclipse.org/org/documents/edl-v10.php
Stephan Herrmann34106802019-02-02 13:45:17 +01008
Stephan Herrmann2feba952012-05-26 15:02:07 +02009 Contributors:
10 Igor Fedorenko - initial implementation
11-->
Stephan Herrmannc7600d82013-04-28 22:48:05 +020012<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/xsd/maven-4.0.0.xsd">
Stephan Herrmann2feba952012-05-26 15:02:07 +020013 <modelVersion>4.0.0</modelVersion>
14 <parent>
15 <artifactId>eclipse.jdt.core</artifactId>
16 <groupId>eclipse.jdt.core</groupId>
Stephan Herrmannc1951232021-03-20 15:57:34 +010017 <version>4.20.0-SNAPSHOT</version>
Stephan Herrmann2feba952012-05-26 15:02:07 +020018 </parent>
Stephan Herrmann396f3342013-03-14 14:31:57 +010019 <groupId>org.eclipse.jdt</groupId>
Stephan Herrmann2feba952012-05-26 15:02:07 +020020 <artifactId>org.eclipse.jdt.core</artifactId>
Stephan Herrmannc1951232021-03-20 15:57:34 +010021 <version>3.26.0-SNAPSHOT</version>
Stephan Herrmann2feba952012-05-26 15:02:07 +020022 <packaging>eclipse-plugin</packaging>
23
Stephan Herrmann4c6c5002013-09-12 23:09:47 +020024 <properties>
25 <defaultSigning-excludeInnerJars>true</defaultSigning-excludeInnerJars>
Stephan Herrmannd4cbc682016-10-28 20:51:00 +020026 <code.ignoredWarnings>-warn:+fieldHiding,-unavoidableGenericProblems</code.ignoredWarnings>
Stephan Herrmann4c6c5002013-09-12 23:09:47 +020027 </properties>
28
Stephan Herrmann2feba952012-05-26 15:02:07 +020029 <build>
30 <plugins>
Stephan Herrmann309166a2013-06-07 21:35:48 +020031 <plugin>
32 <artifactId>maven-antrun-plugin</artifactId>
33 <executions>
34 <execution>
35 <phase>prepare-package</phase>
36 <configuration>
Stephan Herrmann86daa502020-01-12 16:33:35 +010037 <target>
Stephan Herrmann309166a2013-06-07 21:35:48 +020038 <replace token="bundle_qualifier," value="${buildQualifier}," dir="${project.build.directory}/classes">
Stephan Herrmann6a72b272013-07-14 17:29:27 +020039 <include name="org/eclipse/jdt/internal/compiler/batch/messages.properties"/>
Stephan Herrmann309166a2013-06-07 21:35:48 +020040 </replace>
Stephan Herrmann1002fa42013-12-17 17:50:02 +010041 <replace token="bundle_version" value="${unqualifiedVersion}" dir="${project.build.directory}/classes">
Stephan Herrmann881bc142014-10-03 22:03:34 +020042 <include name="org/eclipse/jdt/internal/compiler/batch/messages.properties"/>
Stephan Herrmann1002fa42013-12-17 17:50:02 +010043 </replace>
Stephan Herrmann86daa502020-01-12 16:33:35 +010044 </target>
Stephan Herrmann309166a2013-06-07 21:35:48 +020045 </configuration>
46 <goals>
47 <goal>run</goal>
48 </goals>
49 </execution>
50 </executions>
51 </plugin>
Stephan Herrmann2feba952012-05-26 15:02:07 +020052 <plugin>
Stephan Herrmann1002fa42013-12-17 17:50:02 +010053 <artifactId>maven-resources-plugin</artifactId>
Stephan Herrmann1002fa42013-12-17 17:50:02 +010054 <executions>
55 <execution>
56 <id>copy-batch-compiler-source</id>
57 <phase>package</phase>
58 <goals>
59 <goal>copy-resources</goal>
60 </goals>
61 <configuration>
62 <outputDirectory>${project.build.directory}/scripts/source</outputDirectory>
63 <resources>
64 <resource>
65 <directory>${project.basedir}/scripts/source</directory>
66 <filtering>true</filtering>
67 </resource>
68 </resources>
69 </configuration>
70 </execution>
71 </executions>
72 </plugin>
73 <plugin>
Stephan Herrmann2feba952012-05-26 15:02:07 +020074 <groupId>org.eclipse.tycho.extras</groupId>
75 <artifactId>tycho-custom-bundle-plugin</artifactId>
Stephan Herrmann7f445fe2020-05-01 15:03:15 +020076 <version>${tycho.version}</version>
Stephan Herrmann2feba952012-05-26 15:02:07 +020077 <executions>
78 <execution>
79 <id>antadapter</id>
80 <phase>package</phase>
81 <goals>
82 <goal>custom-bundle</goal>
83 </goals>
Stephan Herrmann5d5db952013-05-18 21:56:53 +020084 <configuration>
85 <archive>
86 <addMavenDescriptor>false</addMavenDescriptor>
87 </archive>
Stephan Herrmann2feba952012-05-26 15:02:07 +020088 <bundleLocation>${project.basedir}/scripts/antadapter</bundleLocation>
89 <classifier>antadapter</classifier>
90 <fileSets>
91 <fileSet>
92 <directory>${project.build.directory}/jdtCompilerAdapter.jar-classes</directory>
93 <excludes>
94 <exclude>org/eclipse/jdt/core/CheckDebugAttributes*.*</exclude>
95 <exclude>org/eclipse/jdt/core/BuildJarIndex*.*</exclude>
96 </excludes>
97 </fileSet>
98 </fileSets>
99 </configuration>
100 </execution>
101 <execution>
Stephan Herrmann5d5db952013-05-18 21:56:53 +0200102 <id>batch-compiler-src</id>
103 <phase>package</phase>
104 <goals>
105 <goal>custom-bundle</goal>
106 </goals>
107 <configuration>
108 <archive>
109 <addMavenDescriptor>false</addMavenDescriptor>
110 </archive>
Stephan Herrmann1002fa42013-12-17 17:50:02 +0100111 <bundleLocation>${project.build.directory}/scripts/source</bundleLocation>
Stephan Herrmann5d5db952013-05-18 21:56:53 +0200112 <classifier>batch-compiler-src</classifier>
113 <fileSets>
114 <fileSet>
115 <directory>${project.basedir}/batch</directory>
Stephan Herrmannc1951232021-03-20 15:57:34 +0100116 <excludes>
117 <exclude>org/eclipse/jdt/internal/compiler/batch/messages.properties</exclude>
118 </excludes>
119 </fileSet>
120 <fileSet>
121 <directory>${project.build.directory}/classes</directory>
122 <includes>
123 <include>org/eclipse/jdt/internal/compiler/batch/messages.properties</include>
124 </includes>
Stephan Herrmann5d5db952013-05-18 21:56:53 +0200125 </fileSet>
126 <fileSet>
127 <directory>${project.basedir}/compiler</directory>
128 </fileSet>
129 <fileSet>
130 <directory>${project.basedir}/antadapter</directory>
131 <excludes>
132 <exclude>org/eclipse/jdt/core/CheckDebugAttributes.java</exclude>
133 <exclude>org/eclipse/jdt/core/BuildJarIndex.java</exclude>
134 </excludes>
135 </fileSet>
136 <fileSet>
137 <directory>${project.basedir}/../org.eclipse.jdt.compiler.tool/src</directory>
138 </fileSet>
139 <fileSet>
140 <directory>${project.basedir}/../org.eclipse.jdt.compiler.apt/src</directory>
141 </fileSet>
142 <fileSet>
143 <directory>${project.basedir}/scripts</directory>
144 <includes>
145 <include>about.html</include>
146 <include>build.xml</include>
Stephan Herrmann35ce9502014-06-05 16:16:02 +0200147 <include>ecj.1</include>
Stephan Herrmann5d5db952013-05-18 21:56:53 +0200148 </includes>
149 </fileSet>
Stephan Herrmannd4cbc682016-10-28 20:51:00 +0200150 <fileSet>
151 <directory>${project.basedir}</directory>
152 <includes>
153 <include>scripts/binary/**</include>
154 </includes>
155 </fileSet>
Stephan Herrmann5d5db952013-05-18 21:56:53 +0200156 </fileSets>
157 </configuration>
158 </execution>
159 <execution>
Stephan Herrmann2feba952012-05-26 15:02:07 +0200160 <id>batch-compiler</id>
161 <phase>package</phase>
162 <goals>
163 <goal>custom-bundle</goal>
164 </goals>
165 <configuration>
Stephan Herrmann5d5db952013-05-18 21:56:53 +0200166 <archive>
167 <addMavenDescriptor>false</addMavenDescriptor>
168 </archive>
Stephan Herrmann2feba952012-05-26 15:02:07 +0200169 <bundleLocation>${project.basedir}/scripts/binary</bundleLocation>
170 <classifier>batch-compiler</classifier>
171 <fileSets>
172 <fileSet>
Stephan Herrmannc7600d82013-04-28 22:48:05 +0200173 <directory>${project.build.directory}/jdtCompilerAdapter.jar-classes</directory>
174 <includes>
175 <include>META-INF/eclipse.inf</include>
176 </includes>
177 </fileSet>
Stephan Herrmann5d5db952013-05-18 21:56:53 +0200178 <fileSet>
179 <directory>${project.basedir}/scripts</directory>
180 <includes>
181 <include>about.html</include>
Stephan Herrmann35ce9502014-06-05 16:16:02 +0200182 <include>ecj.1</include>
Stephan Herrmann5d5db952013-05-18 21:56:53 +0200183 </includes>
184 </fileSet>
Stephan Herrmannc7600d82013-04-28 22:48:05 +0200185 <fileSet>
Stephan Herrmann2feba952012-05-26 15:02:07 +0200186 <directory>${project.build.directory}/classes</directory>
187 <includes>
188 <include>org/eclipse/jdt/internal/compiler/**</include>
189 <include>org/eclipse/jdt/core/compiler/**</include>
190 </includes>
191 <excludes>
192 <exclude>**/package.htm*</exclude>
193 <exclude>org/eclipse/jdt/core/compiler/CompilationParticipant*.class</exclude>
194 <exclude>org/eclipse/jdt/core/compiler/BuildContext.class</exclude>
195 <exclude>org/eclipse/jdt/core/compiler/IScanner.class</exclude>
196 <exclude>org/eclipse/jdt/core/compiler/ITerminalSymbols*.class</exclude>
197 <exclude>org/eclipse/jdt/core/compiler/ReconcileContext*.class</exclude>
198 <exclude>org/eclipse/jdt/internal/compiler/DocumentElementParser*.class</exclude>
199 <exclude>org/eclipse/jdt/internal/compiler/IDocumentElementRequestor.class</exclude>
200 <exclude>org/eclipse/jdt/internal/compiler/ISourceElementRequestor*.class</exclude>
201 <exclude>org/eclipse/jdt/internal/compiler/SourceElementParser*.class</exclude>
202 <exclude>org/eclipse/jdt/internal/compiler/SourceElementRequestorAdapter*.class</exclude>
203 <exclude>org/eclipse/jdt/internal/compiler/SourceJavadocParser*.class</exclude>
204 <exclude>org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter*.class</exclude>
205 </excludes>
206 </fileSet>
207 </fileSets>
208 </configuration>
209 </execution>
210 </executions>
211 </plugin>
212 <plugin>
213 <groupId>org.eclipse.tycho</groupId>
214 <artifactId>tycho-p2-plugin</artifactId>
215 <version>${tycho.version}</version>
Stephan Herrmann7941b7c2013-11-03 16:07:28 +0100216 <configuration>
217 <baselineMode>warn</baselineMode>
218 <baselineReplace>common</baselineReplace>
219 </configuration>
Stephan Herrmann2feba952012-05-26 15:02:07 +0200220 <executions>
221 <execution>
222 <id>attached-p2-metadata</id>
223 <phase>package</phase>
224 <goals>
225 <goal>p2-metadata</goal>
226 </goals>
227 </execution>
228 </executions>
229 </plugin>
Stephan Herrmann4e099762021-05-25 10:47:07 +0200230 <plugin>
231 <groupId>org.codehaus.mojo</groupId>
232 <artifactId>build-helper-maven-plugin</artifactId>
233 <version>3.2.0</version>
234 <executions>
235 <!--
236 Replace '\' Windows file separators by '/' in order to expand the new property 'compiler-message-properties'
237 into a string literal in Maven Enforcer rule 'evaluateBeanshell' further below
238 -->
239 <execution>
240 <id>compiler-message-properties</id>
241 <goals>
242 <goal>regex-property</goal>
243 </goals>
244 <configuration>
245 <name>compiler-message-properties</name>
246 <value>${project.basedir}/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties</value>
247 <regex>\\</regex>
248 <replacement>/</replacement>
249 <failIfNoMatch>false</failIfNoMatch>
250 </configuration>
251 </execution>
252 </executions>
253 </plugin>
254 <plugin>
255 <groupId>org.apache.maven.plugins</groupId>
256 <artifactId>maven-enforcer-plugin</artifactId>
257 <executions>
258 <execution>
259 <id>no-tabs-in-compiler-messages</id>
260 <goals>
261 <goal>enforce</goal>
262 </goals>
263 <configuration>
264 <rules>
265 <evaluateBeanshell>
266 <message>
267 Compiler message resource file ${compiler-message-properties} must not contain tab characters, please use spaces instead!
268 </message>
269 <condition><![CDATA[
270 FileReader fileReader = new FileReader("${compiler-message-properties}");
271 BufferedReader bufferReader = new BufferedReader(fileReader);
272 boolean containsTab = false;
273 String line;
274 while((line = bufferReader.readLine()) != null) {
275 if (line.contains("\t")) {
276 if (!containsTab) {
277 System.out.println("Lines containing tab characters detected in resource file:");
278 containsTab = true;
279 }
280 System.out.println(line);
281 }
282 }
283 fileReader.close();
284 bufferReader.close();
285 !containsTab
286 ]]></condition>
287 </evaluateBeanshell>
288 </rules>
289 </configuration>
290 </execution>
291 </executions>
292 </plugin>
Stephan Herrmann2feba952012-05-26 15:02:07 +0200293 </plugins>
294 </build>
295</project>