123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546 |
- <?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>
-
- <groupId>org.aspectj</groupId>
- <artifactId>aspectj-parent</artifactId>
- <version>1.9.9-SNAPSHOT</version>
- <packaging>pom</packaging>
-
- <name>AspectJ Parent Project</name>
-
- <properties>
- <!-- Basic build properties -->
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-
- <!-- By default, do not deploy artifacts - override for the ones which actually should be deployed -->
- <maven.deploy.skip>true</maven.deploy.skip>
- <!-- By default, do not create javadoc - override in release profile or manually -->
- <maven.javadoc.skip>true</maven.javadoc.skip>
-
- <!-- Dependency versions -->
- <jdt.core.version>1.9.9-SNAPSHOT</jdt.core.version>
- <asm.version>9.2</asm.version>
- <lib.ant.version>1.6.3</lib.ant.version>
- <lib.ant.xerces.version>2.6.2</lib.ant.xerces.version>
- <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.2</lib.commons.logging.version>
- <lib.commons.logging.tag>LOGGING_1_0_1</lib.commons.logging.tag>
- </properties>
-
- <distributionManagement>
- <snapshotRepository>
- <id>ossrh</id>
- <url>https://oss.sonatype.org/content/repositories/snapshots</url>
- </snapshotRepository>
- <repository>
- <id>ossrh</id>
- <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
- </repository>
- </distributionManagement>
-
- <repositories>
- <!--
- Repeat Central definition from super POM https://maven.apache.org/ref/3.6.3/maven-model-builder/super-pom.html.
- Define it as the first repository to search at, otherwise Maven would always search any other repositories defined
- in the POM or in settings.xml first, slowing down the build, because most artifacts reside at Maven Central. See
- https://maven.apache.org/guides/mini/guide-multiple-repositories.html#repository-order for more details.
- -->
- <repository>
- <id>central</id>
- <name>Central Repository</name>
- <url>https://repo.maven.apache.org/maven2</url>
- <layout>default</layout>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- </repository>
- <repository>
- <id>ossrh-snapshots</id>
- <name>Sonatype OSSRH snapshots</name>
- <url>https://oss.sonatype.org/content/repositories/snapshots</url>
- <layout>default</layout>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- </repository>
- <repository>
- <id>aspectj-dev</id>
- <name>AspectJ artifacts on aspectj.dev</name>
- <url>https://aspectj.dev/maven</url>
- <layout>default</layout>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- </repository>
- </repositories>
-
- <pluginRepositories>
- <!--
- Repeat Central definition from super POM https://maven.apache.org/ref/3.6.3/maven-model-builder/super-pom.html.
- Define it as the first repository to search at, otherwise Maven would always search any other repositories defined
- in the POM or in settings.xml first, slowing down the build, because most artifacts reside at Maven Central. See
- https://maven.apache.org/guides/mini/guide-multiple-repositories.html#repository-order for more details.
- -->
- <pluginRepository>
- <id>central</id>
- <name>Central Repository</name>
- <url>https://repo.maven.apache.org/maven2</url>
- <layout>default</layout>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- </pluginRepository>
- <pluginRepository>
- <id>ossrh-snapshots</id>
- <name>Sonatype OSSRH snapshots</name>
- <url>https://oss.sonatype.org/content/repositories/snapshots</url>
- <layout>default</layout>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- </pluginRepository>
- <pluginRepository>
- <id>aspectj-dev</id>
- <name>AspectJ artifacts on aspectj.dev</name>
- <url>https://aspectj.dev/maven</url>
- <layout>default</layout>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- </pluginRepository>
- </pluginRepositories>
-
- <modules>
- <module>lib</module>
- <module>util</module>
- <module>bridge</module>
- <module>testing-util</module>
- <module>org.aspectj.matcher</module>
- <module>asm</module>
- <module>testing-client</module>
- <module>ajbrowser</module>
- <module>runtime</module>
- <module>bcel-builder</module>
- <module>weaver</module>
- <module>loadtime</module>
- <module>org.aspectj.ajdt.core</module>
- <module>ajde.core</module>
- <module>ajde</module>
- <module>ajdoc</module>
- <module>taskdefs</module>
- <module>testing</module>
- <module>testing-drivers</module>
- <module>tests</module>
- <module>build</module>
- <module>run-all-junit-tests</module>
- <module>docs</module>
-
- <!-- create the important artifacts we care about -->
- <module>aspectjrt</module>
- <module>aspectjweaver</module>
- <module>aspectjtools</module>
- <module>aspectjmatcher</module>
-
- <!-- build the java -jar'able installer -->
- <module>installer</module>
- </modules>
-
- <!--
- Caveat: Automatic, JDK-based profile activation can *not* be inherited by child POMs defining
- the same profiles. Thus, we have to repeat activation conditions there.
-
- Note: We can check if automatic profile activation works via mvn help:active-profiles.
- -->
- <profiles>
- <profile>
- <id>jdk-8-to-15</id>
- <activation>
- <jdk>[1.8,16)</jdk>
- </activation>
- <properties>
- <jvm.arg.addOpens/>
- </properties>
- </profile>
- <profile>
- <id>jdk-16-to-xx</id>
- <activation>
- <jdk>[16,)</jdk>
- </activation>
- <properties>
- <jvm.arg.addOpens>--add-opens java.base/java.lang=ALL-UNNAMED</jvm.arg.addOpens>
- </properties>
- </profile>
- <profile>
- <id>release</id>
- <properties>
- <maven.javadoc.skip>false</maven.javadoc.skip>
- <maven.source.skip>false</maven.source.skip>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>fast-build</id>
- <properties>
- <!-- Do not compile tests (also skips execution) -->
- <maven.test.skip>true</maven.test.skip>
- <!-- Do not execute tests (redundant, but just to be sure) -->
- <skipTests>true</skipTests>
- <!-- Do not create documentation for AspectJ website -->
- <createDocs>false</createDocs>
- </properties>
- </profile>
- </profiles>
-
- <build>
-
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.22.2</version>
- <configuration>
- <!--<testFailureIgnore>true</testFailureIgnore>-->
- <argLine>${jvm.arg.addOpens}</argLine>
- <excludes>
- <exclude>**/*ModuleTests.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-help-plugin</artifactId>
- <version>3.2.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>3.2.0</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>package</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.2.0</version>
- <configuration>
- <archive>
- <addMavenDescriptor>false</addMavenDescriptor>
- </archive>
- </configuration>
- <executions>
- <execution>
- <id>test-jar</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <!--
- TODO: Replace by release in which
- - https://issues.apache.org/jira/browse/MSHADE-252,
- - https://issues.apache.org/jira/browse/MSHADE-391,
- - https://issues.apache.org/jira/browse/MSHADE-366 are fixed.
- -->
- <version>3.2.4.MSHADE-252-391</version>
- <configuration>
- <createSourcesJar>true</createSourcesJar>
- <createDependencyReducedPom>false</createDependencyReducedPom>
- <shadedArtifactAttached>false</shadedArtifactAttached>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-install-plugin</artifactId>
- <version>2.5.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>3.0.0-M3</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>3.2.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.1.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>3.1.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>3.1.1</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>flatten-maven-plugin</artifactId>
- <version>1.2.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>1.6</version>
- <executions>
- <execution>
- <id>sign-artifacts</id>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- <configuration>
- <!-- Only sign artifacts which are also meant to be deployed -->
- <skip>${maven.gpg.skip}</skip>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.2</version>
- <executions>
- <execution>
- <id>default-deploy</id>
- <phase>deploy</phase>
- <goals>
- <goal>deploy</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <!-- Deploy at the end of a multi-module build -->
- <deployAtEnd>true</deployAtEnd>
- </configuration>
- </plugin>
- <plugin>
- <!--
- Other than Maven Deploy, this plugin cannot just be added to the 'build/plugins' section of the parent POM
- once and (de-)activated with a simple property like 'maven.deploy.skip' on a per-module basis. See also
- https://issues.sonatype.org/browse/OSSRH-68966. Consequently, we do not add it to the parent but separately
- to each module meant to be published.
- -->
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.8</version>
- <extensions>true</extensions>
- <configuration>
- <serverId>ossrh</serverId>
- <nexusUrl>https://oss.sonatype.org/</nexusUrl>
- <!-- Activate in order to directly release to Maven Central after successful staging -->
- <autoReleaseAfterClose>false</autoReleaseAfterClose>
- </configuration>
- <dependencies>
- <!--
- Plugin version 1.6.8 does not work on JDK 16+ without special MAVEN_OPTS opening certain modules,
- because the XStream version used needs it. One workaround is to use a more recent XStream version.
- Attention: Do *not* upgrade to e.g. 1.4.18, because it causes exceptions during deployment.
- TODO: remove plugin dependency after OSSRH-66257, NEXUS-26993 are fixed.
- -->
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>1.4.15</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>truezip-maven-plugin</artifactId>
- <version>1.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>3.2.0</version>
- </plugin>
- </plugins>
- </pluginManagement>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- </plugin>
-
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <configuration>
- <filesets>
- <fileset>
- <directory>.</directory>
- <includes>
- <!-- AspectJ core dumps -->
- <include>**/ajcore.*.txt</include>
- <!-- Test temp-dirs in 'weaver' module, see AsynchronousFileCacheBackingTestSupport.getCacheDir -->
- <include>**/dir-0.*/**</include>
- </includes>
- <followSymlinks>false</followSymlinks>
- </fileset>
- <fileset>
- <directory>aj-build</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
- </filesets>
- </configuration>
- </plugin>
-
- <!--
- This plugin is nice to have in the POM, because then it is easy to double-click a goal such as 'effective-pom',
- 'active-profiles', 'effective-settings' or 'evaluate' from a modern IDE in order to get quick information about
- the current build configuration for any given module.
- -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-help-plugin</artifactId>
- </plugin>
-
- <!--
- This plugin is nice to have in the POM, because then it is easy to double-click a goal such as 'analyze' or
- 'tree' from a modern IDE in order to inspect dependency management in the project.
-
- Tip: If you want a quick overview, run this from the project from the project root directory:
- mvn -P \!create-docs dependency:analyze | grep -E '\[(WARNING|INFO\] -+< .+:.+ >-+)' > dependency-analyze.txt
- But be careful that all modules are actually listed - usually 'org.aspectj:installer' is the last one in the
- list. You can make sure by running the command without 'grep' first, then you see if there are any compile
- problems which 'grep' would filter out.
- -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <configuration>
- <ignoredUnusedDeclaredDependencies>
- <!-- Declared in parent POM for convenience, but not used in every module -->
- <ignoredUnusedDeclaredDependency>junit:junit:jar</ignoredUnusedDeclaredDependency>
- <ignoredUnusedDeclaredDependency>org.aspectj:lib:jar</ignoredUnusedDeclaredDependency>
- </ignoredUnusedDeclaredDependencies>
- </configuration>
- </plugin>
-
- </plugins>
-
- </build>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.junit</groupId>
- <artifactId>junit-bom</artifactId>
- <version>5.7.1</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.13.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>org.eclipse.jdt.core</artifactId>
- <version>${jdt.core.version}</version>
- </dependency>
- <dependency>
- <!-- Because commons-digester:commons-digester:1.3 refers to version 1.4-dev -->
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>${lib.commons.beanutils.version}</version>
- </dependency>
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm</artifactId>
- <version>${asm.version}</version>
- </dependency>
- <dependency>
- <!-- All modules referencing files inside 'lib' need this dependency -->
- <groupId>org.aspectj</groupId>
- <artifactId>lib</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <dependencies>
- <!--
- Actually, it would be cleaner to only define JUnit only it modules which actually use it. But since this comprises
- the majority, we can afford to be a little bit unclean here with regard to dependency management.
- -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- </project>
|