diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 63930bf5ac3e6..55e90bfc08bfd 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -32,7 +32,7 @@
# Java-based destination connectors
/airbyte-integrations/bases/standard-destination-test/ @airbytehq/destinations
/airbyte-integrations/bases/base-java-s3/ @airbytehq/destinations
-/airbyte-integrations/connectors/destination-jdbc/ @airbytehq/destinations
+/airbyte-integrations/bases/bases-destination-jdbc/ @airbytehq/destinations
/airbyte-integrations/connectors/destination-bigquery/ @airbytehq/destinations
/airbyte-integrations/connectors/destination-bigquery-denormalized/ @airbytehq/destinations
/airbyte-integrations/connectors/destination-azure-blob-storage/ @airbytehq/destinations
diff --git a/airbyte-integrations/connectors/destination-jdbc/build.gradle b/airbyte-integrations/bases/bases-destination-jdbc/build.gradle
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/build.gradle
rename to airbyte-integrations/bases/bases-destination-jdbc/build.gradle
diff --git a/airbyte-integrations/connectors/destination-jdbc/readme.md b/airbyte-integrations/bases/bases-destination-jdbc/readme.md
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/readme.md
rename to airbyte-integrations/bases/bases-destination-jdbc/readme.md
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/AbstractJdbcDestination.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/AbstractJdbcDestination.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/AbstractJdbcDestination.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/AbstractJdbcDestination.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/DataAdapter.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/DataAdapter.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/DataAdapter.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/DataAdapter.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/JdbcBufferedConsumerFactory.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/JdbcBufferedConsumerFactory.java
similarity index 95%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/JdbcBufferedConsumerFactory.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/JdbcBufferedConsumerFactory.java
index b6555f9d8db20..70d53fd806a47 100644
--- a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/JdbcBufferedConsumerFactory.java
+++ b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/JdbcBufferedConsumerFactory.java
@@ -35,13 +35,18 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/**Strategy:
- *
1. Create a final table for each stream
- *
2. Accumulate records in a buffer. One buffer per stream
- *
3. As records accumulate write them in batch to the database. We set a minimum numbers of records
+/**
+ * Strategy:
+ *
+ * 1. Create a final table for each stream
+ *
+ * 2. Accumulate records in a buffer. One buffer per stream
+ *
+ * 3. As records accumulate write them in batch to the database. We set a minimum numbers of records
* before writing to avoid wasteful record-wise writes. In the case with slow syncs this will be
* superseded with a periodic record flush from {@link BufferedStreamConsumer#periodicBufferFlush()}
- *
4. Once all records have been written to buffer, flush the buffer and write any remaining records
+ *
+ * 4. Once all records have been written to buffer, flush the buffer and write any remaining records
* to the database (regardless of how few are left)
*/
public class JdbcBufferedConsumerFactory {
@@ -118,9 +123,12 @@ private static String getOutputSchema(final AirbyteStream stream,
/**
* Sets up destination storage through:
- *
1. Creates Schema (if not exists)
- *
2. Creates airybte_raw table (if not exists)
- *
3. Truncates table if sync mode is in OVERWRITE
+ *
+ * 1. Creates Schema (if not exists)
+ *
+ * 2. Creates airybte_raw table (if not exists)
+ *
+ * 3. Truncates table if sync mode is in OVERWRITE
*
* @param database JDBC database to connect to
* @param sqlOperations interface for execution SQL queries
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/JdbcSqlOperations.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/JdbcSqlOperations.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/JdbcSqlOperations.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/JdbcSqlOperations.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/SqlOperations.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/SqlOperations.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/SqlOperations.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/SqlOperations.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/SqlOperationsUtils.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/SqlOperationsUtils.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/SqlOperationsUtils.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/SqlOperationsUtils.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/StagingFilenameGenerator.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/StagingFilenameGenerator.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/StagingFilenameGenerator.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/StagingFilenameGenerator.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/WriteConfig.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/WriteConfig.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/WriteConfig.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/WriteConfig.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/constants/GlobalDataSizeConstants.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/constants/GlobalDataSizeConstants.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/constants/GlobalDataSizeConstants.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/constants/GlobalDataSizeConstants.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/CopyConsumerFactory.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/CopyConsumerFactory.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/CopyConsumerFactory.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/CopyConsumerFactory.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/CopyDestination.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/CopyDestination.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/CopyDestination.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/CopyDestination.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/StreamCopier.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/StreamCopier.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/StreamCopier.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/StreamCopier.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/StreamCopierFactory.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/StreamCopierFactory.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/StreamCopierFactory.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/StreamCopierFactory.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/SwitchingDestination.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/SwitchingDestination.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/SwitchingDestination.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/SwitchingDestination.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageConfig.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageConfig.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageConfig.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageConfig.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageStreamCopier.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageStreamCopier.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageStreamCopier.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageStreamCopier.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageStreamCopierFactory.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageStreamCopierFactory.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageStreamCopierFactory.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/azure/AzureBlobStorageStreamCopierFactory.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsConfig.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsConfig.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsConfig.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsConfig.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsStreamCopier.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsStreamCopier.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsStreamCopier.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsStreamCopier.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsStreamCopierFactory.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsStreamCopierFactory.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsStreamCopierFactory.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/gcs/GcsStreamCopierFactory.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3CopyConfig.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3CopyConfig.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3CopyConfig.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3CopyConfig.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopier.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopier.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopier.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopier.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopierFactory.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopierFactory.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopierFactory.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopierFactory.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/staging/StagingConsumerFactory.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/staging/StagingConsumerFactory.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/staging/StagingConsumerFactory.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/staging/StagingConsumerFactory.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/staging/StagingOperations.java b/airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/staging/StagingOperations.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/java/io/airbyte/integrations/destination/staging/StagingOperations.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/java/io/airbyte/integrations/destination/staging/StagingOperations.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/main/resources/spec.json b/airbyte-integrations/bases/bases-destination-jdbc/src/main/resources/spec.json
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/main/resources/spec.json
rename to airbyte-integrations/bases/bases-destination-jdbc/src/main/resources/spec.json
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/AbstractJdbcDestinationTest.java b/airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/AbstractJdbcDestinationTest.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/AbstractJdbcDestinationTest.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/AbstractJdbcDestinationTest.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/DataAdapterTest.java b/airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/DataAdapterTest.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/DataAdapterTest.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/DataAdapterTest.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/TestJdbcSqlOperations.java b/airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/TestJdbcSqlOperations.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/TestJdbcSqlOperations.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/TestJdbcSqlOperations.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/SwitchingDestinationTest.java b/airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/SwitchingDestinationTest.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/SwitchingDestinationTest.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/SwitchingDestinationTest.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3CopyConfigTest.java b/airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3CopyConfigTest.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3CopyConfigTest.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3CopyConfigTest.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopierTest.java b/airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopierTest.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopierTest.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/jdbc/copy/s3/S3StreamCopierTest.java
diff --git a/airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/staging/StagingConsumerFactoryTest.java b/airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/staging/StagingConsumerFactoryTest.java
similarity index 100%
rename from airbyte-integrations/connectors/destination-jdbc/src/test/java/io/airbyte/integrations/destination/staging/StagingConsumerFactoryTest.java
rename to airbyte-integrations/bases/bases-destination-jdbc/src/test/java/io/airbyte/integrations/destination/staging/StagingConsumerFactoryTest.java
diff --git a/airbyte-integrations/connectors/destination-azure-blob-storage/build.gradle b/airbyte-integrations/connectors/destination-azure-blob-storage/build.gradle
index 637ac0508cc32..f42e9b1f456e2 100644
--- a/airbyte-integrations/connectors/destination-azure-blob-storage/build.gradle
+++ b/airbyte-integrations/connectors/destination-azure-blob-storage/build.gradle
@@ -13,7 +13,7 @@ dependencies {
implementation project(':airbyte-config-oss:config-models-oss')
implementation libs.airbyte.protocol
implementation project(':airbyte-integrations:bases:base-java')
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
implementation 'com.azure:azure-storage-blob:12.20.2'
diff --git a/airbyte-integrations/connectors/destination-clickhouse-strict-encrypt/build.gradle b/airbyte-integrations/connectors/destination-clickhouse-strict-encrypt/build.gradle
index 2535c3b4a5fe8..4115757b15101 100644
--- a/airbyte-integrations/connectors/destination-clickhouse-strict-encrypt/build.gradle
+++ b/airbyte-integrations/connectors/destination-clickhouse-strict-encrypt/build.gradle
@@ -13,7 +13,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation project(':airbyte-integrations:connectors:destination-clickhouse')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
diff --git a/airbyte-integrations/connectors/destination-clickhouse/build.gradle b/airbyte-integrations/connectors/destination-clickhouse/build.gradle
index 9f52ec631f9fa..046db83deb8ac 100644
--- a/airbyte-integrations/connectors/destination-clickhouse/build.gradle
+++ b/airbyte-integrations/connectors/destination-clickhouse/build.gradle
@@ -14,7 +14,7 @@ dependencies {
implementation project(':airbyte-config-oss:config-models-oss')
implementation libs.airbyte.protocol
implementation project(':airbyte-integrations:bases:base-java')
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
implementation 'com.clickhouse:clickhouse-jdbc:0.3.2-patch10:all'
diff --git a/airbyte-integrations/connectors/destination-databricks/build.gradle b/airbyte-integrations/connectors/destination-databricks/build.gradle
index 2e438db6ca81e..139a62525516c 100644
--- a/airbyte-integrations/connectors/destination-databricks/build.gradle
+++ b/airbyte-integrations/connectors/destination-databricks/build.gradle
@@ -31,7 +31,7 @@ dependencies {
implementation project(':airbyte-integrations:bases:base-java')
implementation project(':airbyte-integrations:bases:base-java-s3')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation project(':airbyte-integrations:connectors:destination-s3')
implementation project(':airbyte-integrations:connectors:destination-azure-blob-storage')
implementation group: 'com.databricks', name: 'databricks-jdbc', version: '2.6.25'
diff --git a/airbyte-integrations/connectors/destination-dynamodb/build.gradle b/airbyte-integrations/connectors/destination-dynamodb/build.gradle
index dc5cc2a1f1ad8..a2388073580ea 100644
--- a/airbyte-integrations/connectors/destination-dynamodb/build.gradle
+++ b/airbyte-integrations/connectors/destination-dynamodb/build.gradle
@@ -13,7 +13,7 @@ dependencies {
implementation project(':airbyte-config-oss:config-models-oss')
implementation libs.airbyte.protocol
implementation project(':airbyte-integrations:bases:base-java')
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
implementation 'com.amazonaws:aws-java-sdk-dynamodb:1.12.47'
diff --git a/airbyte-integrations/connectors/destination-exasol/build.gradle b/airbyte-integrations/connectors/destination-exasol/build.gradle
index 369d38031accd..73b46b7715732 100644
--- a/airbyte-integrations/connectors/destination-exasol/build.gradle
+++ b/airbyte-integrations/connectors/destination-exasol/build.gradle
@@ -13,7 +13,7 @@ dependencies {
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation 'com.exasol:exasol-jdbc:7.1.17'
diff --git a/airbyte-integrations/connectors/destination-gcs/build.gradle b/airbyte-integrations/connectors/destination-gcs/build.gradle
index 79fae6d7c3d95..3aa35bf0f4e1e 100644
--- a/airbyte-integrations/connectors/destination-gcs/build.gradle
+++ b/airbyte-integrations/connectors/destination-gcs/build.gradle
@@ -14,7 +14,7 @@ dependencies {
implementation libs.airbyte.protocol
implementation project(':airbyte-integrations:bases:base-java')
implementation project(':airbyte-integrations:bases:base-java-s3')
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.14')
diff --git a/airbyte-integrations/connectors/destination-jdbc/.dockerignore b/airbyte-integrations/connectors/destination-jdbc/.dockerignore
deleted file mode 100644
index 65c7d0ad3e73c..0000000000000
--- a/airbyte-integrations/connectors/destination-jdbc/.dockerignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*
-!Dockerfile
-!build
diff --git a/airbyte-integrations/connectors/destination-jdbc/Dockerfile b/airbyte-integrations/connectors/destination-jdbc/Dockerfile
deleted file mode 100644
index a35e7fb7b3f2b..0000000000000
--- a/airbyte-integrations/connectors/destination-jdbc/Dockerfile
+++ /dev/null
@@ -1,20 +0,0 @@
-FROM airbyte/integration-base-java:dev AS build
-
-WORKDIR /airbyte
-
-ENV APPLICATION destination-jdbc
-
-COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar
-
-RUN tar xf ${APPLICATION}.tar --strip-components=1 && rm -rf ${APPLICATION}.tar
-
-FROM airbyte/integration-base-java:dev
-
-WORKDIR /airbyte
-
-ENV APPLICATION destination-jdbc
-
-COPY --from=build /airbyte /airbyte
-
-LABEL io.airbyte.version=0.3.14
-LABEL io.airbyte.name=airbyte/destination-jdbc
diff --git a/airbyte-integrations/connectors/destination-mariadb-columnstore/build.gradle b/airbyte-integrations/connectors/destination-mariadb-columnstore/build.gradle
index 692406ca5f08e..765322c42935a 100644
--- a/airbyte-integrations/connectors/destination-mariadb-columnstore/build.gradle
+++ b/airbyte-integrations/connectors/destination-mariadb-columnstore/build.gradle
@@ -14,7 +14,7 @@ dependencies {
implementation project(':airbyte-config-oss:config-models-oss')
implementation libs.airbyte.protocol
implementation project(':airbyte-integrations:bases:base-java')
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
implementation 'org.mariadb.jdbc:mariadb-java-client:2.7.4'
diff --git a/airbyte-integrations/connectors/destination-mssql-strict-encrypt/build.gradle b/airbyte-integrations/connectors/destination-mssql-strict-encrypt/build.gradle
index 7f2c92f397067..6c18e69206a18 100644
--- a/airbyte-integrations/connectors/destination-mssql-strict-encrypt/build.gradle
+++ b/airbyte-integrations/connectors/destination-mssql-strict-encrypt/build.gradle
@@ -13,8 +13,8 @@ dependencies {
implementation project(':airbyte-config-oss:config-models-oss')
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
implementation project(':airbyte-integrations:connectors:destination-mssql')
implementation project(':airbyte-test-utils')
diff --git a/airbyte-integrations/connectors/destination-mssql/build.gradle b/airbyte-integrations/connectors/destination-mssql/build.gradle
index b496d19b93c25..fa8d153e1b622 100644
--- a/airbyte-integrations/connectors/destination-mssql/build.gradle
+++ b/airbyte-integrations/connectors/destination-mssql/build.gradle
@@ -13,7 +13,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation project(':airbyte-test-utils')
implementation 'com.microsoft.sqlserver:mssql-jdbc:8.4.1.jre14'
diff --git a/airbyte-integrations/connectors/destination-mysql-strict-encrypt/build.gradle b/airbyte-integrations/connectors/destination-mysql-strict-encrypt/build.gradle
index dbdb228986b95..489ad43d03b4f 100644
--- a/airbyte-integrations/connectors/destination-mysql-strict-encrypt/build.gradle
+++ b/airbyte-integrations/connectors/destination-mysql-strict-encrypt/build.gradle
@@ -13,7 +13,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation project(':airbyte-integrations:connectors:destination-mysql')
implementation 'mysql:mysql-connector-java:8.0.22'
diff --git a/airbyte-integrations/connectors/destination-mysql/build.gradle b/airbyte-integrations/connectors/destination-mysql/build.gradle
index 5c27cc30ff09d..ff67bf5575cb5 100644
--- a/airbyte-integrations/connectors/destination-mysql/build.gradle
+++ b/airbyte-integrations/connectors/destination-mysql/build.gradle
@@ -13,7 +13,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation 'mysql:mysql-connector-java:8.0.22'
diff --git a/airbyte-integrations/connectors/destination-oracle-strict-encrypt/build.gradle b/airbyte-integrations/connectors/destination-oracle-strict-encrypt/build.gradle
index 5e92820dc4c55..9292f9d99ca88 100644
--- a/airbyte-integrations/connectors/destination-oracle-strict-encrypt/build.gradle
+++ b/airbyte-integrations/connectors/destination-oracle-strict-encrypt/build.gradle
@@ -17,7 +17,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation project(':airbyte-integrations:connectors:destination-oracle')
implementation "com.oracle.database.jdbc:ojdbc8-production:19.7.0.0"
diff --git a/airbyte-integrations/connectors/destination-oracle/build.gradle b/airbyte-integrations/connectors/destination-oracle/build.gradle
index 40fb19846581e..f4676000e9660 100644
--- a/airbyte-integrations/connectors/destination-oracle/build.gradle
+++ b/airbyte-integrations/connectors/destination-oracle/build.gradle
@@ -17,7 +17,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation "com.oracle.database.jdbc:ojdbc8-production:19.7.0.0"
diff --git a/airbyte-integrations/connectors/destination-postgres-strict-encrypt/build.gradle b/airbyte-integrations/connectors/destination-postgres-strict-encrypt/build.gradle
index fe18cfd1f6e13..006fb163a2694 100644
--- a/airbyte-integrations/connectors/destination-postgres-strict-encrypt/build.gradle
+++ b/airbyte-integrations/connectors/destination-postgres-strict-encrypt/build.gradle
@@ -13,7 +13,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation project(':airbyte-integrations:connectors:destination-postgres')
integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-destination-test')
diff --git a/airbyte-integrations/connectors/destination-postgres/build.gradle b/airbyte-integrations/connectors/destination-postgres/build.gradle
index cd2b73246fe57..bbf2ab1b1cef2 100644
--- a/airbyte-integrations/connectors/destination-postgres/build.gradle
+++ b/airbyte-integrations/connectors/destination-postgres/build.gradle
@@ -13,7 +13,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
testImplementation project(':airbyte-test-utils')
diff --git a/airbyte-integrations/connectors/destination-redshift/build.gradle b/airbyte-integrations/connectors/destination-redshift/build.gradle
index 8cc09fee330f8..9ad612955a73c 100644
--- a/airbyte-integrations/connectors/destination-redshift/build.gradle
+++ b/airbyte-integrations/connectors/destination-redshift/build.gradle
@@ -19,7 +19,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation project(':airbyte-integrations:bases:base-java-s3')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
diff --git a/airbyte-integrations/connectors/destination-rockset/build.gradle b/airbyte-integrations/connectors/destination-rockset/build.gradle
index 3ff0db971554e..0618e24c95995 100644
--- a/airbyte-integrations/connectors/destination-rockset/build.gradle
+++ b/airbyte-integrations/connectors/destination-rockset/build.gradle
@@ -19,7 +19,7 @@ dependencies {
implementation libs.airbyte.protocol
implementation project(':airbyte-integrations:bases:base-java')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation group: 'com.rockset', name: 'rockset-java', version: '0.9.0'
implementation group: 'org.awaitility', name: 'awaitility', version: '4.1.1'
diff --git a/airbyte-integrations/connectors/destination-snowflake/build.gradle b/airbyte-integrations/connectors/destination-snowflake/build.gradle
index d04efd0989ad8..6ed4b2d14a10e 100644
--- a/airbyte-integrations/connectors/destination-snowflake/build.gradle
+++ b/airbyte-integrations/connectors/destination-snowflake/build.gradle
@@ -39,7 +39,7 @@ dependencies {
implementation project(':airbyte-config-oss:config-models-oss')
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation project(':airbyte-integrations:connectors:destination-gcs')
implementation project(':airbyte-integrations:bases:base-java-s3')
implementation libs.airbyte.protocol
diff --git a/airbyte-integrations/connectors/destination-teradata/build.gradle b/airbyte-integrations/connectors/destination-teradata/build.gradle
index d74e10bc8b87a..13fab2b59424b 100644
--- a/airbyte-integrations/connectors/destination-teradata/build.gradle
+++ b/airbyte-integrations/connectors/destination-teradata/build.gradle
@@ -17,7 +17,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation 'com.teradata.jdbc:terajdbc4:17.20.00.12'
integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-destination-test')
diff --git a/airbyte-integrations/connectors/destination-tidb/build.gradle b/airbyte-integrations/connectors/destination-tidb/build.gradle
index bfe578b3dfc22..c2e1b7a55719b 100644
--- a/airbyte-integrations/connectors/destination-tidb/build.gradle
+++ b/airbyte-integrations/connectors/destination-tidb/build.gradle
@@ -12,7 +12,7 @@ dependencies {
implementation project(':airbyte-db:db-lib')
implementation project(':airbyte-integrations:bases:base-java')
implementation libs.airbyte.protocol
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
implementation 'mysql:mysql-connector-java:8.0.30'
diff --git a/airbyte-integrations/connectors/destination-yugabytedb/build.gradle b/airbyte-integrations/connectors/destination-yugabytedb/build.gradle
index ee572f72848cb..79d17bb0b3875 100644
--- a/airbyte-integrations/connectors/destination-yugabytedb/build.gradle
+++ b/airbyte-integrations/connectors/destination-yugabytedb/build.gradle
@@ -13,7 +13,7 @@ dependencies {
implementation libs.airbyte.protocol
implementation project(':airbyte-integrations:bases:base-java')
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs)
- implementation project(':airbyte-integrations:connectors:destination-jdbc')
+ implementation project(':airbyte-integrations:bases:bases-destination-jdbc')
implementation project(':airbyte-db:db-lib')
implementation 'com.yugabyte:jdbc-yugabytedb:42.3.5-yb-1'
diff --git a/settings.gradle b/settings.gradle
index b2076114aa9b0..543a9bd03cedd 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -105,6 +105,7 @@ if (!System.getenv().containsKey("SUB_BUILD") || System.getenv().get("SUB_BUILD"
include ':airbyte-integrations:bases:base-java'
include ':airbyte-integrations:bases:base-java-s3'
include ':airbyte-integrations:bases:base-normalization'
+ include ':airbyte-integrations:bases:bases-destination-jdbc' // needs to be lexicographically after base-java and base-normalization to avoid race condition
include ':airbyte-integrations:bases:base-standard-source-test-file'
include ':airbyte-integrations:bases:connector-acceptance-test'
include ':airbyte-integrations:bases:standard-destination-test'
@@ -115,7 +116,6 @@ if (!System.getenv().containsKey("SUB_BUILD") || System.getenv().get("SUB_BUILD"
// Needed by normalization integration tests
include ':airbyte-integrations:connectors:destination-bigquery'
- include ':airbyte-integrations:connectors:destination-jdbc'
include ':airbyte-integrations:connectors:destination-mysql'
include ':airbyte-integrations:connectors:destination-postgres'
include ':airbyte-integrations:connectors:destination-redshift'
diff --git a/tools/bin/ci_check_dependency.py b/tools/bin/ci_check_dependency.py
index 753bb90ec7213..4546b164ae898 100644
--- a/tools/bin/ci_check_dependency.py
+++ b/tools/bin/ci_check_dependency.py
@@ -31,7 +31,7 @@
re.compile(".*-strict-encrypt$"),
re.compile("^destination-dev-null$"),
re.compile("^destination-scaffold-destination-python$"),
- re.compile("^destination-jdbc$")
+ re.compile("^bases-destination-jdbc$")
]
COMMENT_TEMPLATE_PATH = ".github/comment_templates/connector_dependency_template.md"
diff --git a/tools/ci_connector_ops/ci_connector_ops/pipelines/tests/java_connectors.py b/tools/ci_connector_ops/ci_connector_ops/pipelines/tests/java_connectors.py
index 4c2c555eec18b..af7437995244b 100644
--- a/tools/ci_connector_ops/ci_connector_ops/pipelines/tests/java_connectors.py
+++ b/tools/ci_connector_ops/ci_connector_ops/pipelines/tests/java_connectors.py
@@ -101,7 +101,7 @@ class GradleTask(Step, ABC):
]
DESTINATION_BUILD_INCLUDE = [
- "airbyte-integrations/connectors/destination-jdbc",
+ "airbyte-integrations/bases/bases-destination-jdbc",
# destination-bigquery uses utils from destination gcs
"airbyte-integrations/connectors/destination-gcs",
]