<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>io.github.classgraph</groupId>
		<artifactId>classgraph-parent</artifactId>
		<version>5.0.0</version>
	</parent>

	<artifactId>classgraph-classpath</artifactId>
	<name>ClassGraph classpath finder</name>

	<description>Finds the classpath and module path of a running JVM, including the classpath of a container's custom classloaders.</description>

	<properties>
		<!-- The shared files (the code formatter profile and the license) are one directory up -->
		<rootDir>${project.basedir}/..</rootDir>

		<!-- The internal packages are exported to io.github.classgraph, which sits on top of this module and so
		     cannot be on the module path while this module is compiled. javac cannot check the target of such an
		     export, and warns that the module was not found, which -Werror would turn into a build failure. -->
		<javacLintSuppressions>-Xlint:-exports,-module</javacLintSuppressions>

		<osgiBundleName>ClassGraph classpath finder</osgiBundleName>
		<!-- Must list the same packages as the exports in src/main/java/module-info.java. The internal
		     packages are exported because OSGi has no equivalent of a qualified export, and the modules
		     above this one need them. They are marked x-internal so that tooling does not offer them for
		     import, and they are not covered by the project's API compatibility guarantees. -->
		<osgiExportPackage>io.github.classgraph.classpath;version="${project.version}",io.github.classgraph.classpath.internal;x-internal:=true</osgiExportPackage>
		<osgiImportPackage>io.github.classgraph.base,io.github.classgraph.base.internal.concurrency,io.github.classgraph.base.internal.path,io.github.classgraph.base.internal.reflection,io.github.classgraph.base.internal.utils,io.github.classgraph.vfs,org.jspecify.annotations;resolution:="optional"</osgiImportPackage>
		<osgiDependencies>io.github.classgraph.vfs export,java.management</osgiDependencies>

		<!-- This module has sources and produces a jar, so it needs the ecj checks and the license copies -->
		<maven.antrun.skip>false</maven.antrun.skip>
		<maven.resources.skip>false</maven.resources.skip>
	</properties>

	<!-- Versions are pinned in the parent's dependencyManagement section -->
	<dependencies>
		<dependency>
			<groupId>io.github.classgraph</groupId>
			<artifactId>classgraph-vfs</artifactId>
			<version>${project.version}</version>
		</dependency>

		<!-- Test dependencies: -->
		<!-- An in-memory filesystem, used to test that a classpath element found as a Path in a filesystem other
		     than the default one is opened through that filesystem -->
		<dependency>
			<groupId>com.google.jimfs</groupId>
			<artifactId>jimfs</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>
