432 lines
16 KiB
XML
432 lines
16 KiB
XML
<?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">
|
|
|
|
<parent>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-parent</artifactId>
|
|
<version>2.4.0.Alpha2</version>
|
|
</parent>
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<artifactId>debezium-connector-jdbc</artifactId>
|
|
<version>2.4.0.Alpha2</version>
|
|
<name>Debezium JDBC Sink Connector</name>
|
|
<packaging>jar</packaging>
|
|
|
|
<scm>
|
|
<connection>scm:git:git@github.com:debezium/debezium-connector-jdbc.git</connection>
|
|
<developerConnection>scm:git:git@github.com:debezium/debezium-connector-jdbc.git</developerConnection>
|
|
<url>https://github.com/debezium/debezium-connector-jdbc</url>
|
|
<tag>v2.4.0.Alpha2</tag>
|
|
</scm>
|
|
|
|
<properties>
|
|
<!-- Debezium parent -->
|
|
<version.debezium>${project.version}</version.debezium>
|
|
|
|
<!-- Parent overrides -->
|
|
<version.assembly.plugin>3.5.0</version.assembly.plugin>
|
|
|
|
<!-- Other artifact versions -->
|
|
<version.hibernate>6.1.7.Final</version.hibernate>
|
|
<version.assertjdb>2.0.2</version.assertjdb>
|
|
|
|
<!--
|
|
By default only run the integration tests for MySQL, PostgreSQL, and SQL Server.
|
|
Other tags include it-db2 and it-oracle for the DB2 and Oracle integration tests.
|
|
|
|
Additionally, there are also end to end test tags that can be specified:
|
|
e2e-mysql, e2e-postgresql, e2e-sqlserver, e2e-db2, and e2e-oracle
|
|
|
|
Finally, there are 3 all-inclusive tags that can be specified:
|
|
it - runs all integration tests
|
|
e2e - runs all end to end tests
|
|
all - runs all integration and end to end tests
|
|
-->
|
|
<test.tags>it-mysql,it-postgresql,it-sqlserver</test.tags>
|
|
</properties>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>oss</id>
|
|
<name>OSS Sonatype Nexus</name>
|
|
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
|
<releases>
|
|
<enabled>true</enabled>
|
|
<updatePolicy>never</updatePolicy>
|
|
</releases>
|
|
<snapshots>
|
|
<enabled>true</enabled>
|
|
<updatePolicy>never</updatePolicy>
|
|
</snapshots>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<!-- Managing versions here to ensure the right ones are applied during releases -->
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<!-- Debezium Artifacts -->
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-core</artifactId>
|
|
<version>${version.debezium}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-embedded</artifactId>
|
|
<version>${version.debezium}</version>
|
|
</dependency>
|
|
|
|
<!-- Building -->
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-ide-configs</artifactId>
|
|
<version>${version.debezium}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-checkstyle</artifactId>
|
|
<version>${version.debezium}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-assembly-descriptors</artifactId>
|
|
<version>${version.debezium}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-revapi</artifactId>
|
|
<version>${version.debezium}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Testing -->
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-core</artifactId>
|
|
<version>${version.debezium}</version>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-embedded</artifactId>
|
|
<version>${version.debezium}</version>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
|
|
<dependencies>
|
|
<!-- Debezium -->
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-core</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Kafka-->
|
|
<dependency>
|
|
<groupId>org.apache.kafka</groupId>
|
|
<artifactId>connect-api</artifactId>
|
|
<version>${version.kafka}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.kafka</groupId>
|
|
<artifactId>connect-runtime</artifactId>
|
|
<version>${version.kafka}</version>
|
|
<scope>provided</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-reload4j</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<!-- Logging -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Building -->
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-ide-configs</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-checkstyle</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-assembly-descriptors</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-revapi</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<!-- Hibernate -->
|
|
<dependency>
|
|
<groupId>org.hibernate</groupId>
|
|
<artifactId>hibernate-core</artifactId>
|
|
<version>${version.hibernate}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hibernate</groupId>
|
|
<artifactId>hibernate-c3p0</artifactId>
|
|
<version>${version.hibernate}</version>
|
|
</dependency>
|
|
|
|
<!-- Testing -->
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</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-launcher</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.easytesting</groupId>
|
|
<artifactId>fest-assert</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-core</artifactId>
|
|
<version>${version.debezium}</version>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-embedded</artifactId>
|
|
<version>${version.debezium}</version>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-testing-testcontainers</artifactId>
|
|
<version>${version.debezium}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>mysql</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>mssqlserver</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>db2</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>oracle-xe</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-db</artifactId>
|
|
<version>${version.assertjdb}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- Drivers -->
|
|
<dependency>
|
|
<groupId>com.mysql</groupId>
|
|
<artifactId>mysql-connector-j</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.microsoft.sqlserver</groupId>
|
|
<artifactId>mssql-jdbc</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.ibm.db2</groupId>
|
|
<artifactId>jcc</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.oracle.database.jdbc</groupId>
|
|
<artifactId>ojdbc8</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- Integration test -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-failsafe-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>integration-test</id>
|
|
<goals>
|
|
<goal>integration-test</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>verify</id>
|
|
<goals>
|
|
<goal>verify</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<groups>${test.tags}</groups>
|
|
<systemPropertyVariables>
|
|
<source.time_zone>UTC</source.time_zone>
|
|
<sink.time_zone>Europe/Vienna</sink.time_zone>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
<!-- Override maven-checkstyle-plugin configuration to ignore target/generated-sources -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<configuration>
|
|
<configLocation>checkstyle.xml</configLocation>
|
|
<suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
|
|
<suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
|
|
<consoleOutput>true</consoleOutput>
|
|
<failsOnError>true</failsOnError>
|
|
<linkXRef>false</linkXRef>
|
|
<violationSeverity>error</violationSeverity>
|
|
<sourceDirectories>
|
|
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
|
|
</sourceDirectories>
|
|
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
<resources>
|
|
<!-- Apply the properties set in the POM to the resource files -->
|
|
<resource>
|
|
<filtering>true</filtering>
|
|
<directory>src/main/resources</directory>
|
|
<includes>
|
|
<include>*</include>
|
|
<include>**/*</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
<testResources>
|
|
<testResource>
|
|
<directory>src/test/resources</directory>
|
|
<filtering>true</filtering>
|
|
<includes>
|
|
<include>*</include>
|
|
<include>**/*</include>
|
|
</includes>
|
|
</testResource>
|
|
</testResources>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>assembly</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>${version.assembly.plugin}</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>io.debezium</groupId>
|
|
<artifactId>debezium-assembly-descriptors</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<id>default</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<finalName>${project.artifactId}-${project.version}</finalName>
|
|
<attach>true</attach> <!-- we want attach & deploy these to Maven -->
|
|
<descriptorRefs>
|
|
<descriptorRef>connector-distribution</descriptorRef>
|
|
</descriptorRefs>
|
|
<tarLongFileMode>posix</tarLongFileMode>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Do not perform any Docker-related functionality
|
|
To use, specify "-DskipITs" on the Maven command line.
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
|
<profile>
|
|
<id>skip-integration-tests</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
<property>
|
|
<name>skipITs</name>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<docker.skip>true</docker.skip>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>quick</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
<property>
|
|
<name>quick</name>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<skipITs>true</skipITs>
|
|
<docker.skip>true</docker.skip>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|