aboutsummaryrefslogtreecommitdiffstats
path: root/pom.xml
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2021-04-09 11:59:05 +0700
committerAlexander Kriegisch <Alexander@Kriegisch.name>2021-04-09 11:59:05 +0700
commitd98f01fb7e8f275395214f78d64e03733e6b3970 (patch)
treea81a8e6e68e09c5eebc6771d2fd76a6a78512663 /pom.xml
parent5c34265be69ec2e0380c4b9dcc2553b08ddd6bd8 (diff)
downloadaspectj-d98f01fb7e8f275395214f78d64e03733e6b3970.tar.gz
aspectj-d98f01fb7e8f275395214f78d64e03733e6b3970.zip
Build libs without additional profiles, add Enforcer rule
Because 'libx' no longer is a submodule of the AspectJ parent POM, it will not be built automatically each time an AspectJ build runs. Therefore, is is no longer necessary to shield the zip/unzip steps from repetitive execution by profiles with auto-activation based on the (non-)existence of files. An AspectJ developer knows when to build the module, she does it manually anyway. A new Enforcer rule makes sure to warn the developer if some files it expects to exist in the libs folder are not actually present. Now we also have a Maven Clean rule which wipes away all downloaded and (un-)zipped files. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Diffstat (limited to 'pom.xml')
-rw-r--r--pom.xml44
1 files changed, 44 insertions, 0 deletions
diff --git a/pom.xml b/pom.xml
index dfba47568..7c6788f1b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,10 +18,14 @@
<lib.regexp.version>1.2</lib.regexp.version>
<lib.commons.beanutils.version>1.4</lib.commons.beanutils.version>
<lib.commons.beanutils.tag>BEANUTILS_1_4</lib.commons.beanutils.tag>
+ <lib.commons.collections.version>2.0</lib.commons.collections.version>
+ <lib.commons.collections.tag>collections-2.0</lib.commons.collections.tag>
<lib.commons.digester.version>1.3</lib.commons.digester.version>
<lib.commons.digester.tag>DIGESTER_1_3</lib.commons.digester.tag>
<lib.commons.logging.version>1.0.1</lib.commons.logging.version>
<lib.commons.logging.tag>LOGGING_1_0_1</lib.commons.logging.tag>
+ <asm.version>9.1</asm.version>
+ <lib.directory>${maven.multiModuleProjectDirectory}/libx</lib.directory>
</properties>
<modules>
@@ -48,7 +52,11 @@
<module>build</module>
<module>run-all-junit-tests</module>
<module>docs</module>
+
+ <!-- FYI: These are NOT meant to be sub-modules but a stand-alone projects built and deployed independently. -->
+ <!--
<module>libx</module>
+ -->
<!-- create the important artifacts we care about -->
<module>aspectjrt</module>
@@ -186,6 +194,42 @@
<artifactId>maven-help-plugin</artifactId>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>enforce-libraries-exist</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireFilesExist>
+ <!--
+ Do NOT insert any line breaks + indentation inside the message, keep it on a single line.
+ Maven Enforcer does not strip any whitespace or unindent, which looks quite ugly on the console.
+ -->
+ <message>
+ Please go to module subdirectory 'libx' and run 'mvn compile' there. This should take care of downloading all necessary libraries to that directory, where some tests expect them to be.
+ </message>
+ <files>
+ <file>${lib.directory}/ant/bin/ant</file>
+ <file>${lib.directory}/ant/lib/junit.jar</file>
+ <file>${lib.directory}/commons/commons.jar</file>
+ <file>${lib.directory}/jarjar/jarjar-1.3.jar</file>
+ <file>${lib.directory}/junit/junit.jar</file>
+ <file>${lib.directory}/regexp/jakarta-regexp-1.2.jar</file>
+ <file>${lib.directory}/saxon/saxon.jar</file>
+ </files>
+ </requireFilesExist>
+ </rules>
+ <fail>true</fail>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
</plugins>
</build>