blob: 987ae1d11f952aabd89e804111c569c15337843c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
|
<?xml version="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.aspectj</groupId>
<artifactId>aspectj-parent</artifactId>
<version>1.9.7.BUILD-SNAPSHOT</version>
</parent>
<artifactId>libx</artifactId>
<properties>
<lib.ant.name>apache-ant</lib.ant.name>
<lib.ant.artifact>${lib.ant.name}-${lib.ant.version}</lib.ant.artifact>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.6.1</version>
<executions>
<execution>
<id>download-ant-binaries</id>
<phase>generate-resources</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>https://archive.apache.org/dist/ant/binaries/${lib.ant.artifact}-bin.zip</url>
<outputDirectory>ant</outputDirectory>
<sha1>3fa9f816a0c4c63249efad8e6225f2e83794f0c0</sha1>
</configuration>
</execution>
<execution>
<id>download-ant-sources</id>
<phase>generate-resources</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>https://archive.apache.org/dist/ant/source/${lib.ant.artifact}-src.zip</url>
<outputDirectory>ant</outputDirectory>
<sha1>b9f3c8c31bb6c9069ad5b655059a17769af12f20</sha1>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>copy</id>
<phase>generate-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<!--
How relevant is JRockit in 2021?
https://en.wikipedia.org/wiki/JRockit
https://www.oracle.com/java/jrockit.html
There are only org.aspectj.weaver.loadtime.JRockitAgent + tests. If we would get rid of that class,
all the rest and jrockit.jar could also go away.
-->
<artifactItem>
<!-- Binary is identical to committed version in branch 'jdtcore-new' -->
<groupId>com.googlecode.jarjar</groupId>
<artifactId>jarjar</artifactId>
<version>1.3</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>jarjar</outputDirectory>
<destFileName>jarjar-1.3.jar</destFileName>
</artifactItem>
<artifactItem>
<!--
Binary jdiff:jdiff:1.0.9 is available on Maven Central, but different from committed version.
There are API changes, some classes referenced in org.aspectj.testing.util.TestUtil are unavailable.
Therefore, we would have to try and port the existing functionality, making sure the tests still
run.
Downloading snapshot from
https://sourceforge.net/p/jedit/svn/24818/tree/plugins/JDiffPlugin/tags/jdiffplugin-1_2_2/jdiff/
produces exactly identical source files as in the committed JAR. But there is no corresponding Maven
artifact or even binary download package. We would have to compile the code within AspectJ and
deploy it locally or Sonatype (Maven Central) or maven.springframework.org.
Downloading source or binary packages from
https://sourceforge.net/projects/jedit-plugins/files/JDiffPlugin/1.3/
also has identical source files (except for tiny copyright changes), but contains more classes
(a superset of the committed ones). Again, there is no Maven artifact for it.
Another option would be to include the only 4 Java classes into the 'testing-util' source tree. They
are only used from there and could easily be compiled together with the module, package names
relocated or not.
-->
<!-- TODO: In commit c89830fe jdiff.jar was accidentally unpacked + committed -> delete -->
<groupId>jdiff</groupId>
<artifactId>jdiff</artifactId>
<version>1.0.9</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>jdiff</outputDirectory>
<destFileName>jdiff.jar</destFileName>
</artifactItem>
<artifactItem>
<!-- Binary is identical to committed version -->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>junit</outputDirectory>
<destFileName>junit.jar</destFileName>
</artifactItem>
<artifactItem>
<!-- Binary is identical to committed version -->
<!-- TODO: Is this redundant JUnit JAR in ant/lib really necessary? If so, why? -->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>ant/lib</outputDirectory>
<destFileName>junit.jar</destFileName>
</artifactItem>
<artifactItem>
<!-- Binary is identical to committed version -->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<type>jar</type>
<classifier>sources</classifier>
<overWrite>false</overWrite>
<outputDirectory>junit</outputDirectory>
<destFileName>junit-src.zip</destFileName>
</artifactItem>
<!-- Jython does not seem to be used anywhere in AspectJ -->
<artifactItem>
<!-- Binary is a bit newer than committed version, but produces identical results in 'docs' -->
<groupId>saxon</groupId>
<artifactId>saxon</artifactId>
<version>6.5.3</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>saxon</outputDirectory>
<destFileName>saxon.jar</destFileName>
</artifactItem>
<artifactItem>
<!-- Binary is identical to committed version -->
<groupId>regexp</groupId>
<artifactId>regexp</artifactId>
<version>${lib.regexp.version}</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>regexp</outputDirectory>
<destFileName>jakarta-regexp-1.2.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>unzip-ant-binaries</id>
<activation>
<file>
<!-- Only unzip if this file is missing in order to avoid doing it for each build -->
<missing>ant/bin/ant.bat</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>truezip-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>unzip-ant-binaries</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<verbose>true</verbose>
<fileset>
<!--
This is why we use the TrueZIP plugin: It can seamlessly copy out of or into ZIP files as if they
were normal file system paths. No additional moves and deletes with Antrun are necessary.
-->
<directory>ant/${lib.ant.artifact}-bin.zip/${lib.ant.artifact}</directory>
<outputDirectory>ant</outputDirectory>
</fileset>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>unzip-ant-sources</id>
<activation>
<file>
<!-- Only unzip if this file is missing in order to avoid doing it for each build -->
<missing>ant/ant-src.zip</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>truezip-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>unzip-ant-sources</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<verbose>true</verbose>
<fileset>
<!--
This is why we use the TrueZIP plugin: It can seamlessly copy out of or into ZIP files as if they
were normal file system paths. No additional moves and deletes with Antrun are necessary.
-->
<directory>ant/${lib.ant.artifact}-src.zip/${lib.ant.artifact}/src/main</directory>
<outputDirectory>ant/ant-src.zip</outputDirectory>
</fileset>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!--
TODO:
- Add profile 'clean-libs' to make Maven Clean delete downloads & unpacks (should be off by default in order
not to waste time for re-downloading things like Ant after a simple 'mvn clean').
- Add libx (for now, then finally lib) to .gitignore
-->
</profiles>
</project>
|