<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>dev.galasa</groupId>
		<artifactId>dev.galasa.wrapping.parent</artifactId>
		<version>0.43.0</version>
	</parent>

	<artifactId>dev.galasa.wrapping.io.grpc.java</artifactId>
	<version>0.43.0</version>
	<packaging>bundle</packaging>

	<name>Galasa wrapped version of the io.grpc packages required for grpc-java</name>

	<dependencies>
		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-api</artifactId>
			<version>1.68.0</version>
		</dependency>
		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-context</artifactId>
			<version>1.68.0</version>
		</dependency>
		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-core</artifactId>
			<version>1.68.0</version>
		</dependency>
		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-netty-shaded</artifactId>
			<version>1.68.0</version>
		</dependency>
		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-protobuf</artifactId>
			<version>1.68.0</version>

			<!-- 
			This dependency has a transient dependency of this:
			com.google.protobuf:protobuf-java:jar:3.25.3:compile

			Which has a vulnerability. We will add an explicit dependency on 
			a later version.
			-->
			<exclusions>
				<exclusion>
				<groupId>com.google.protobuf</groupId>
				<artifactId>protobuf-java</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!--
		This dependency is relied upon by io.grpc:grpc-protobuf
		but we want to upgrade a transient dependency there.
		-->
		<dependency>
			<groupId>com.google.protobuf</groupId>
			<artifactId>protobuf-java</artifactId>
			<version>3.25.5</version>
		</dependency>



		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-protobuf-lite</artifactId>
			<version>1.68.0</version>

			<!-- 
			This dependency has a transient dependency of this:
			com.google.protobuf:protobuf-javalite:jar:3.25.3:compile

			Which has a vulnerability. We will add an explicit dependency on 
			a later version.
			-->
			<exclusions>
				<exclusion>
				<groupId>com.google.protobuf</groupId>
				<artifactId>protobuf-javalite</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!--
		This dependency is relied upon by io.grpc:grpc-protobuf-lite
		but we want to upgrade a transient dependency there.
		-->
		<dependency>
			<groupId>com.google.protobuf</groupId>
			<artifactId>protobuf-javalite</artifactId>
		</dependency>


		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-stub</artifactId>
			<version>1.68.0</version>
		</dependency>
		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-util</artifactId>
			<version>1.68.0</version>
		</dependency>
		<dependency>
			<groupId>io.perfmark</groupId>
			<artifactId>perfmark-api</artifactId>
			<version>0.26.0</version>
		</dependency>
		<dependency>
			<groupId>com.google.android</groupId>
			<artifactId>annotations</artifactId>
		</dependency>
		<dependency>
			<groupId>com.google.api.grpc</groupId>
			<artifactId>proto-google-common-protos</artifactId>
			<version>2.22.0</version>
		</dependency>
		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>jsr305</artifactId>
		</dependency>
		<dependency>
			<groupId>com.google.errorprone</groupId>
			<artifactId>error_prone_annotations</artifactId>
			<version>2.20.0</version>
		</dependency>
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>32.0.1-jre</version>
		</dependency>
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>failureaccess</artifactId>
			<version>1.0.1</version>
		</dependency>
		<!-- Required by guava - see https://mvnrepository.com/artifact/com.google.guava/guava/32.0.1-jre -->
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>listenablefuture</artifactId>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
		</dependency>
		<dependency>
			<groupId>com.google.j2objc</groupId>
			<artifactId>j2objc-annotations</artifactId>
			<version>2.8</version>
		</dependency>




		<dependency>
			<groupId>org.checkerframework</groupId>
			<artifactId>checker-qual</artifactId>
			<version>3.33.0</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.mojo</groupId>
			<artifactId>animal-sniffer-annotations</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<supportedProjectTypes>bundle</supportedProjectTypes>
					<instructions>
						<Bundle-SymbolicName>dev.galasa.io.grpc.java</Bundle-SymbolicName>
						<Embed-Dependency>*;scope=compile</Embed-Dependency>
						<Import-Package>
							javax.net.ssl,
							javax.security.cert
						</Import-Package>
						<Export-Package>
							io.grpc.java,
							io.grpc,
							io.grpc.protobuf,
							io.grpc.stub,
							com.google.common.util.concurrent,
							com.google.protobuf
						</Export-Package>
					</instructions>
				</configuration>
			</plugin>

		</plugins>
	</build>

</project>