<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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>
		<artifactId>flink-connectors</artifactId>
		<groupId>org.apache.flink</groupId>
		<version>1.15.4</version>
		<relativePath>..</relativePath>
	</parent>

	<artifactId>flink-sql-connector-pulsar</artifactId>
	<name>Flink : Connectors : SQL : Pulsar</name>

	<packaging>jar</packaging>

	<properties>
		<japicmp.skip>true</japicmp.skip>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.apache.flink</groupId>
			<artifactId>flink-connector-pulsar</artifactId>
			<version>${project.version}</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<executions>
					<execution>
						<id>shade-flink</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<artifactSet>
								<includes>
									<include>org.apache.flink:flink-connector-base</include>
									<include>org.apache.flink:flink-connector-pulsar</include>
									<include>org.apache.pulsar:bouncy-castle-bc</include>
									<include>org.apache.pulsar:pulsar-client-admin-api</include>
									<include>org.apache.pulsar:pulsar-client-all</include>
									<include>org.apache.pulsar:pulsar-client-api</include>
									<include>org.bouncycastle:bcpkix-jdk15on</include>
									<include>org.bouncycastle:bcprov-ext-jdk15on</include>
									<include>org.bouncycastle:bcprov-jdk15on</include>
									<include>org.bouncycastle:bcutil-jdk15on</include>
									<include>org.slf4j:jul-to-slf4j</include>
								</includes>
							</artifactSet>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
