| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616 |
- <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>io.github.classgraph</groupId>
- <artifactId>classgraph</artifactId>
- <version>4.8.149</version>
- <name>ClassGraph</name>
- <description>The uber-fast, ultra-lightweight classpath and module scanner for JVM languages.</description>
- <url>https://github.com/classgraph/classgraph</url>
- <licenses>
- <license>
- <name>The MIT License (MIT)</name>
- <url>http://opensource.org/licenses/MIT</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
- <developers>
- <developer>
- <name>Luke Hutchison</name>
- <email>luke.hutch@gmail.com</email>
- <organization>ClassGraph</organization>
- <organizationUrl>https://github.com/classgraph</organizationUrl>
- </developer>
- </developers>
- <scm>
- <connection>scm:git:git@github.com:classgraph/classgraph.git</connection>
- <developerConnection>scm:git:git@github.com:classgraph/classgraph.git</developerConnection>
- <url>https://github.com/classgraph/classgraph</url>
- <tag>classgraph-4.8.149</tag>
- </scm>
- <issueManagement>
- <url>https://github.com/classgraph/classgraph/issues</url>
- </issueManagement>
- <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>
- <properties>
- <!-- Set UTF-8 encoding for Maven plugins and output -->
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <!-- Default to generating Javadoc in HTML 4.01 format -->
- <javadoc.html.version />
- <!-- Warnings are disabled, in order to suppress warning about bootstrap classpath not being set -->
- <!-- (which arises as a result of building for JDK 7 on JDK8+, allowing for use of @FunctionalInterface) -->
- <!-- <maven.compiler.showWarnings>true</maven.compiler.showWarnings> -->
- <!-- <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation> -->
- </properties>
- <!-- Find dependency updates with: ./mvnw versions:display-dependency-updates -->
- <dependencies>
- <!-- Optional runtime dependency: -->
- <dependency>
- <groupId>io.github.toolfactory</groupId>
- <artifactId>narcissus</artifactId>
- <version>1.0.7</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>io.github.toolfactory</groupId>
- <artifactId>jvm-driver</artifactId>
- <version>8.9.6</version>
- <optional>true</optional>
- </dependency>
- <!-- Test dependencies: -->
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <version>5.8.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.openjdk.jmh</groupId>
- <artifactId>jmh-core</artifactId>
- <version>1.35</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.openjdk.jmh</groupId>
- <artifactId>jmh-generator-annprocess</artifactId>
- <version>1.35</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <version>3.22.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>javax.enterprise</groupId>
- <artifactId>cdi-api</artifactId>
- <version>2.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.url</groupId>
- <artifactId>pax-url-aether</artifactId>
- <version>2.6.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>2.0.0-alpha7</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <version>2.0.0-alpha7</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hibernate.javax.persistence</groupId>
- <artifactId>hibernate-jpa-2.1-api</artifactId>
- <version>1.0.2.Final</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.google.jimfs</groupId>
- <artifactId>jimfs</artifactId>
- <version>1.2</version>
- <scope>test</scope>
- </dependency>
- <!-- "provided" dependencies (soft compile-time dependencies that do not create a runtime dependency): -->
- <dependency>
- <!-- Needed for Eclipse nullability analysis to work, but use "provided" as the scope so that we -->
- <!-- don't add a hard dependency on the JDT annotations, because we don't use the annotations in -->
- <!-- any of the ClassGraph code, so these annotations are not needed at runtime. -->
- <!-- See: https://bugs.eclipse.org/bugs/show_bug.cgi?id=552198 -->
- <groupId>org.eclipse.jdt</groupId>
- <artifactId>org.eclipse.jdt.annotation</artifactId>
- <version>2.2.600</version>
- <scope>provided</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <!-- Plugins are listed here, but configured in pluginManagement, for compatibility with Eclipse. -->
- <!-- See: https://stackoverflow.com/a/10483284/3950982 -->
- <!-- Find plugin updates with: ./mvnw versions:display-plugin-updates -->
- <!-- List order of plugin execution with: ./mvnw -Prelease fr.jcgay.maven.plugins:buildplan-maven-plugin:list-phase -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>3.0.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.2.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.10.1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>3.0.0-M6</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>3.3.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.2.2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>3.1.0</version><!--$NO-MVN-MAN-VER$ -->
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>3.2.1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>3.4.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>3.0.1</version>
- </plugin>
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.12</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <version>3.0.0-M5</version>
- </plugin>
- <!-- Override versions of the following plugins, inherited from the super-pom, with latest versions -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.2.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>3.0.0-M2</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-install-plugin</artifactId>
- <version>3.0.0-M1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <version>3.12.0</version>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <!-- Enforce minimum Maven version, and JDK 7 API -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>animal-sniffer-enforcer-rule</artifactId>
- <version>1.21</version>
- </dependency>
- </dependencies>
- <executions>
- <!-- Require Maven version. -->
- <execution>
- <id>enforce-versions</id>
- <phase>validate</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireMavenVersion>
- <version>[3.6.3,)</version>
- </requireMavenVersion>
- </rules>
- </configuration>
- </execution>
- <!-- Check main project for compatibility with JDK 7 API -->
- <execution>
- <id>check-signatures</id>
- <phase>compile</phase>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <checkSignatureRule implementation="org.codehaus.mojo.animal_sniffer.enforcer.CheckSignatureRule">
- <signature>
- <groupId>org.codehaus.mojo.signature</groupId>
- <artifactId>java17</artifactId>
- <version>1.0</version>
- </signature>
- </checkSignatureRule>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <executions>
- <!-- Copy LICENSE-ClassGraph.txt to build root -->
- <execution>
- <id>copy-license-to-target</id>
- <phase>process-resources</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.outputDirectory}</outputDirectory>
- <resources>
- <resource>
- <directory>${basedir}</directory>
- <filtering>false</filtering>
- <includes>
- <include>LICENSE-ClassGraph.txt</include>
- </includes>
- </resource>
- </resources>
- </configuration>
- </execution>
- <execution>
- <id>copy-license-to-javadocs</id>
- <phase>process-resources</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.directory}/apidocs</outputDirectory>
- <resources>
- <resource>
- <directory>${basedir}</directory>
- <filtering>false</filtering>
- <includes>
- <include>LICENSE-ClassGraph.txt</include>
- </includes>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <!-- Put module-info.class in META-INF/versions/9 to maximize backwards -->
- <!-- compatibility. This has to be done after the jar is created, since -->
- <!-- module-info.class cannot be copied to the target directory, otherwise -->
- <!-- this build or the following incremental build will cause Animal Sniffer -->
- <!-- to fail, since it depends upon ASM 5, which balks when it hits -->
- <!-- module-info.class with: "Execution check-signatures of goal -->
- <!-- org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce failed: -->
- <!-- This feature requires ASM6". -->
- <id>add-module-info-to-jar</id>
- <phase>package</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <jar update="true" destfile="${project.build.directory}/${project.build.finalName}.jar">
- <zipfileset prefix="META-INF/versions/9" dir="${project.basedir}/src/module-info/io.github.classgraph" includes="module-info.class" />
- </jar>
- </target>
- </configuration>
- </execution>
- <execution>
- <!-- Make duplicate copy of Javadoc into a subdirectory with the name of the module, -->
- <!-- since Eclipse (and possibly other tools) detects the presence of the module -->
- <!-- descriptor, and expects the Javadoc files to use modular paths (#583). -->
- <!-- Needs to happen before maven-gpg-plugin runs, otherwise signature will be invalid. -->
- <id>add-modular-javadoc</id>
- <phase>verify</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <jar update="true" destfile="${project.build.directory}/${project.build.finalName}-javadoc.jar">
- <zipfileset prefix="io.github.classgraph" dir="${project.build.directory}/apidocs" includes="**/*" />
- </jar>
- </target>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Compile sources (main for JDK 7, test for JDK 8) -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <encoding>UTF-8</encoding>
- <!-- Can't use "release" option, because ClassGraph needs to be built in JDK 7 -->
- <!-- compatibility mode, and the @FunctionalInterface annotation was not available -->
- <!-- in JDK 7. If building with "source" and "target" switches, unknown annotations -->
- <!-- compile fine as long as they exist in the compiling JDK (in this case, JDK 8+). -->
- <!-- Missing annotations don't trigger a linkage error or ClassNotFoundException -->
- <!-- unless the annotation is actually read. -->
- <!-- However, note that not explicitly specifying a JDK 7 rt.jar as the bootstrap -->
- <!-- classpath (in order to build on a newer JDK, which does have @FunctionalInterface) -->
- <!-- will lead to the following build-time warning, if maven.compiler.showWarnings -->
- <!-- is set to true: -->
- <!-- "[WARNING] bootstrap class path not set in conjunction with -source 7" -->
- <source>7</source>
- <target>7</target>
- <!-- Tests use some JDK 8 features, such as lambdas -->
- <testSource>8</testSource>
- <testTarget>8</testTarget>
- <useIncrementalCompilation>false</useIncrementalCompilation>
- <compilerArgs>
- <arg>-Xlint:all</arg>
- <arg>-Werror</arg>
- </compilerArgs>
- </configuration>
- <executions>
- <execution>
- <id>default-testCompile</id>
- <phase>test-compile</phase>
- <goals>
- <goal>testCompile</goal>
- </goals>
- <configuration>
- <encoding>UTF-8</encoding>
- <!-- Tests use some JDK 8 features, such as lambdas -->
- <source>8</source>
- <target>8</target>
- <compilerArgs>
- <arg>-parameters</arg>
- </compilerArgs>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Execute unit tests -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- </plugin>
- <!-- Add src/test/perf to test sources -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-test-source</id>
- <phase>generate-test-sources</phase>
- <goals>
- <goal>add-test-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>src/test/perf</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Create binary jar -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <forceCreation>true</forceCreation>
- <archive>
- <forced>true</forced>
- <manifest>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
- </manifest>
- <manifestEntries>
- <!-- Add OSGi bundle attributes to manifest -->
- <Bundle-Category>Utilities</Bundle-Category>
- <Bundle-License>http://opensource.org/licenses/MIT</Bundle-License>
- <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
- <Bundle-Name>ClassGraph</Bundle-Name>
- <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
- <Bundle-Vendor>Luke Hutchison</Bundle-Vendor>
- <Bundle-Description>${project.description}</Bundle-Description>
- <Bundle-Version>${project.version}</Bundle-Version>
- <Require-Capability>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.7))"</Require-Capability>
- <Export-Package>io.github.classgraph;version="${project.version}"</Export-Package>
- <!-- Make sure "requires" entries in the module descriptor match these imports: -->
- <!-- src/main/module-info/io.github.classgraph/module-info.java -->
- <Import-Package>javax.xml.xpath,javax.xml.namespace,javax.xml.parsers,org.w3c.dom,sun.misc;resolution:="optional",sun.nio.ch;resolution:="optional",io.github.toolfactory.narcissus;resolution:="optional",io.github.toolfactory.jvm;resolution:="optional"</Import-Package>
- <!-- This is a multi-release jar, since module-info.class will be added to -->
- <!-- META-INF/versions/9 , so we need to set the Multi-Release entry to true -->
- <Multi-Release>true</Multi-Release>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
- <!-- Create source jar -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>package</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- Create Javadoc jar -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <phase>package</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- <configuration>
- <source>8</source>
- <additionalOptions>${javadoc.html.version}</additionalOptions>
- <doclint>all</doclint>
- <excludePackageNames>nonapi.*</excludePackageNames>
- <show>public</show>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Stage jars on Sonatype Nexus -->
- <!-- See: http://java.dzone.com/articles/deploy-maven-central -->
- <!-- and: http://central.sonatype.org/pages/apache-maven.html -->
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <serverId>ossrh</serverId>
- <nexusUrl>https://oss.sonatype.org/</nexusUrl>
- <autoReleaseAfterClose>true</autoReleaseAfterClose>
- <stagingProgressTimeoutMinutes>10</stagingProgressTimeoutMinutes>
- </configuration>
- </plugin>
- <!-- Deploy jars -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <configuration>
- <phase>deploy</phase>
- <goals>deploy</goals>
- <autoVersionSubmodules>true</autoVersionSubmodules>
- <!-- Activate release profile -->
- <releaseProfiles>release</releaseProfiles>
- <!-- Work around bug where releaseProfiles tag doesn't actually work yet -->
- <arguments>-Prelease</arguments>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- <profiles>
- <!-- Compile Javadoc to HTML5 if building with JDK 9+ -->
- <profile>
- <id>jdk9plus</id>
- <properties>
- <javadoc.html.version>-html5</javadoc.html.version>
- <!-- coverall version 4.3.0 does not work with java 9. -->
- <!-- See: https://github.com/trautonen/coveralls-maven-plugin/issues/112 -->
- <coveralls.skip>true</coveralls.skip>
- </properties>
- <activation>
- <jdk>[9,)</jdk>
- </activation>
- </profile>
- <!-- Sign jars for release (./mvnw clean release:prepare release:perform) -->
- <profile>
- <id>release</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <configuration>
- <gpgArguments>
- <arg>--pinentry-mode</arg>
- <arg>loopback</arg>
- </gpgArguments>
- <keyname>${gpg.keyname}</keyname>
- <passphraseServerId>${gpg.keyname}</passphraseServerId>
- </configuration>
- <executions>
- <execution>
- <id>sign-artifacts</id>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- </project>
|