<?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> <artifactId>pmd-java</artifactId> <name>PMD Java</name> <parent> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd</artifactId> <version>7.8.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <properties> <log4j.version>2.23.0</log4j.version> </properties> <build> <testResources> <testResource> <directory>${project.basedir}/src/test/resources</directory> </testResource> <testResource> <directory>${project.basedir}/src/test/java</directory> <includes> <include>**/testdata/**/*.java</include> </includes> </testResource> <!-- Adding kotlin files to test resources, so that checkstyle verifies the license header --> <testResource> <directory>${project.basedir}/src/test/kotlin</directory> </testResource> <testResource> <directory>${basedir}/src/test/kotlin</directory> <includes> <include>**/testdata/**/*.java</include> </includes> </testResource> </testResources> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <artifactId>maven-resources-plugin</artifactId> <configuration> <useDefaultDelimiters>false</useDefaultDelimiters> <delimiters> <delimiter>${*}</delimiter> </delimiters> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-javacc-generated-sources</id> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>${project.build.directory}/generated-sources/javacc</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>kotlin-maven-plugin</artifactId> <groupId>org.jetbrains.kotlin</groupId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <executions> <execution> <id>java-test-compile</id> <!-- Have test-compile produce parameter metadata for reflection tests --> <configuration> <parameters>true</parameters> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <inherited>true</inherited> <executions> <execution> <id>generate-sources</id> <phase>generate-sources</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <ant antfile="${javacc.ant.wrapper}" target="alljavacc"> <property name="plugin-classpath" refid="maven.plugin.classpath"/> <property name="lang-name" value="Java" /> <property name="lang-id" value="java" /> </ant> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <suppressionsLocation>pmd-java-checkstyle-suppressions.xml</suppressionsLocation> </configuration> </plugin> <plugin> <groupId>com.github.siom79.japicmp</groupId> <artifactId>japicmp-maven-plugin</artifactId> <configuration> <parameter> <excludes combine.children="append"> <exclude>net.sourceforge.pmd.lang.java.internal</exclude> <exclude>net.sourceforge.pmd.lang.java.ast.internal</exclude> <exclude>net.sourceforge.pmd.lang.java.metrics.internal</exclude> <exclude>net.sourceforge.pmd.lang.java.rule.internal</exclude> <exclude>net.sourceforge.pmd.lang.java.rule.xpath.internal</exclude> <exclude>net.sourceforge.pmd.lang.java.symbols.internal</exclude> <exclude>net.sourceforge.pmd.lang.java.symbols.table.internal</exclude> <exclude>net.sourceforge.pmd.lang.java.types.internal</exclude> <exclude>net.sourceforge.pmd.lang.java.types.ast.internal</exclude> </excludes> </parameter> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-core</artifactId> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <dependency> <groupId>org.checkerframework</groupId> <artifactId>checker-qual</artifactId> </dependency> <dependency> <groupId>net.sf.saxon</groupId> <artifactId>Saxon-HE</artifactId> </dependency> <dependency> <groupId>org.pcollections</groupId> <artifactId>pcollections</artifactId> </dependency> <!-- TEST DEPENDENCIES --> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-lang-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>net.sourceforge.pmd</groupId> <artifactId>pmd-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.github.stefanbirkner</groupId> <artifactId>system-lambda</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.github.oowekyala.treeutils</groupId> <artifactId>tree-matchers</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.github.oowekyala.treeutils</groupId> <artifactId>tree-printers</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>io.kotest</groupId> <artifactId>kotest-assertions-core-jvm</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>io.kotest</groupId> <artifactId>kotest-property-jvm</artifactId> <scope>test</scope> </dependency> <dependency> <!-- Contains stuff like FunSpec, etc --> <groupId>io.kotest</groupId> <artifactId>kotest-runner-junit5-jvm</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test-junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> <scope>test</scope> </dependency> <!-- the following dependencies are there to support typeresolution in test cases --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>${log4j.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>3.25.3</version> <scope>test</scope> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.3.0</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </project>