* Revert "Revert "Destination Bigquery: Scaffolding for destinations v2 (#27268)""
This reverts commit 348c577dbb.
* version bumps+changelog
* Speed up BQ by having 2 queries, and not an OR (#27981)
* 🐛 Destination Bigquery: fix bug in standard inserts for syncs >10K records (#27856)
* only run t+d code if it's enabled
* dockerfile+changelog
* remove changelog entry
* Destinations V2: handle optional fields for `object` and `array` types (#27898)
* catch null schema
* fix null properties
* clean up
* consolidate + add more tests
* try catch
* empty json test
* Automated Commit - Formatting Changes
* remove todo
* destination bigquery: misc updates to 1s1t code (#28057)
* switch to checkedconsumer
* add unit test for buildColumnId
* use flag
* restructure prefix check
* fix build
* more type-parsing fixes (#28100)
* more type-parsing fixes
* handle duplicates
* Automated Commit - Format and Process Resources Changes
* add tests for asColumns
* Automated Commit - Format and Process Resources Changes
* log warnings instead of throwing exception
* better log message
* error level
---------
Co-authored-by: edgao <edgao@users.noreply.github.com>
* Automated Commit - Formatting Changes
* Improve protocol type parsing (#28126)
* Automated Commit - Formatting Changes
* Change from T&D every 10k records to an increasing time based interval (#28130)
* fifteen minute t&d
* add typing and deduping operation valve for increased intervals of typing and deduping
* Automated Commit - Format and Process Resources Changes
* resolve bizarre merge conflict
* Automated Commit - Format and Process Resources Changes
---------
Co-authored-by: jbfbell <jbfbell@users.noreply.github.com>
* Simplify and speed up CDC delete support [DestinationsV2] (#28029)
* Simplify and speed up CDC delete support [DestinationsV2]
* better QUOTE
* spotbugs?
* recompile dbt image for local arch and use that when building images
* things compile, but tests fail
* tests working-ish
* comment
* fix logic to re-insert deleted records for cursor comparison.
tests pass!
* remove comment
* Skip CDC re-include logic if there are no CDC columns
* stop hardcoding pk (#28092)
* wip
* remove TODOs
---------
Co-authored-by: Edward Gao <edward.gao@airbyte.io>
* update method name
* Automated Commit - Formatting Changes
* depend on pinned normalization version
* implement 1s1t DATs for destination-bigquery (#27852)
* intiial implementation
* Automated Commit - Formatting Changes
* add second sync to test
* do concurrent things
* Automated Commit - Formatting Changes
* clarify comment
* minor tweaks
* more stuff
* Automated Commit - Formatting Changes
* minor cleanup
* lots of fixes
* handle sql vs json null better
* verify extra columns
* only check deleted_at if in DEDUP mode and the column exists
* add full refresh append test case
* Automated Commit - Formatting Changes
* add tests for the remaining sync modes
* Automated Commit - Formatting Changes
* readability stuff
* Automated Commit - Formatting Changes
* add test for gcs mode
* remove static fields
* Automated Commit - Formatting Changes
* add more test cases, tweak test scaffold
* cleanup
* Automated Commit - Formatting Changes
* extract recorddiffer
* and use it in the sql generator test
* fix
* comment
* naming+comment
* one more comment
* better assert
* remove unnecessary thing
* one last thing
* Automated Commit - Formatting Changes
* enable concurrent execution on all java integration tests
* add test for default namespace
* Automated Commit - Formatting Changes
* implement a 2-stream test
* Automated Commit - Formatting Changes
* extract methods
* invert jsonNodesNotEquivalent
* Automated Commit - Formatting Changes
* fix conditional
* pull out diffSingleRecord
* Automated Commit - Formatting Changes
* handle nulls correctly
* remove raw-specific handling; break up methods
* Automated Commit - Formatting Changes
---------
Co-authored-by: edgao <edgao@users.noreply.github.com>
Co-authored-by: octavia-approvington <octavia-approvington@users.noreply.github.com>
* Destinations V2: move create raw tables earlier (#28255)
* move create raw tables
* better log message
* stop building normalization (#28256)
* fix ability to run tests
* disable incremental t+d for now
* Automated Commit - Formatting Changes
---------
Co-authored-by: Evan Tahler <evan@airbyte.io>
Co-authored-by: Cynthia Yin <cynthia@airbyte.io>
Co-authored-by: cynthiaxyin <cynthiaxyin@users.noreply.github.com>
Co-authored-by: edgao <edgao@users.noreply.github.com>
Co-authored-by: Joe Bell <joseph.bell@airbyte.io>
Co-authored-by: jbfbell <jbfbell@users.noreply.github.com>
Co-authored-by: octavia-approvington <octavia-approvington@users.noreply.github.com>
157 lines
6.8 KiB
Groovy
157 lines
6.8 KiB
Groovy
pluginManagement {
|
|
repositories {
|
|
gradlePluginPortal()
|
|
maven {
|
|
url 'https://oss.sonatype.org/content/repositories/snapshots'
|
|
}
|
|
}
|
|
resolutionStrategy {
|
|
eachPlugin {
|
|
// We're using the 6.1.0-SNAPSHOT version of openapi-generator which contains a fix for generating nullable arrays (https://github.com/OpenAPITools/openapi-generator/issues/13025)
|
|
// The snapshot version isn't available in the main Gradle Plugin Portal, so we added the Sonatype snapshot repository above.
|
|
// The useModule command below allows us to map from the plugin id, `org.openapi.generator`, to the underlying module (https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-gradle-plugin/6.1.0-SNAPSHOT/_
|
|
if (requested.id.id == 'org.openapi.generator') {
|
|
useModule "org.openapitools:openapi-generator-gradle-plugin:${requested.version}"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Configure the gradle enterprise plugin to enable build scans. Enabling the plugin at the top of the settings file allows the build scan to record
|
|
// as much information as possible.
|
|
plugins {
|
|
id "com.gradle.enterprise" version "3.4.1"
|
|
id 'com.github.burrunan.s3-build-cache' version "1.5"
|
|
}
|
|
|
|
gradleEnterprise {
|
|
buildScan {
|
|
termsOfServiceUrl = "https://gradle.com/terms-of-service"
|
|
termsOfServiceAgree = "yes"
|
|
}
|
|
}
|
|
|
|
ext.isCiServer = System.getenv().containsKey("CI")
|
|
|
|
buildCache {
|
|
local {
|
|
// Local build cache is dangerous as it might produce inconsistent results
|
|
// in case developer modifies files while the build is running
|
|
enabled = false
|
|
}
|
|
remote(com.github.burrunan.s3cache.AwsS3BuildCache) {
|
|
region = 'us-east-2'
|
|
bucket = 'airbyte-buildcache'
|
|
prefix = 'cache/'
|
|
push = isCiServer
|
|
// Credentials will be taken from S3_BUILD_CACHE_... environment variables
|
|
// anonymous access will be used if environment variables are missing
|
|
}
|
|
}
|
|
|
|
rootProject.name = 'airbyte'
|
|
|
|
// definition for dependency resolution
|
|
dependencyResolutionManagement {
|
|
repositories {
|
|
maven {
|
|
url 'https://airbyte.mycloudrepo.io/public/repositories/airbyte-public-jars/'
|
|
}
|
|
}
|
|
versionCatalogs {
|
|
libs {
|
|
from(files("deps.toml"))
|
|
}
|
|
}
|
|
}
|
|
|
|
// SUB_BUILD is an enum of <blank>, PLATFORM, CONNECTORS_BASE, CDK, ALL_CONNECTORS and OCTAVIA_CLI. Blank is equivalent to all.
|
|
if (!System.getenv().containsKey("SUB_BUILD")) {
|
|
println("Building all of Airbyte.")
|
|
} else {
|
|
def subBuild = System.getenv().get("SUB_BUILD")
|
|
println("Building Airbyte Sub Build: " + subBuild)
|
|
if (subBuild != "CONNECTORS_BASE" && subBuild != "ALL_CONNECTORS" && subBuild != "OCTAVIA_CLI" && subBuild != "CDK") {
|
|
throw new IllegalArgumentException(String.format("%s is invalid. Must be unset or CONNECTORS_BASE, CDK, ALL_CONNECTORS or OCTAVIA_CLI", subBuild))
|
|
}
|
|
}
|
|
|
|
if (!System.getenv().containsKey("SUB_BUILD") || System.getenv().get("SUB_BUILD") == "CDK" || System.getenv().get("SUB_BUILD") == "ALL_CONNECTORS") {
|
|
include ':airbyte-commons' // this wouldn't be necessary if it wasn't from https://github.com/airbytehq/airbyte/blob/645558b74aab0b91fda1b4628b37b7095d92b4cc/build.gradle
|
|
include ':tools:code-generator:airbyteDocker'
|
|
include ':airbyte-cdk:python'
|
|
}
|
|
|
|
if (!System.getenv().containsKey("SUB_BUILD") || (System.getenv().containsKey("SUB_BUILD") && System.getenv().get("SUB_BUILD") != "CDK")) {
|
|
// shared
|
|
include ':airbyte-commons'
|
|
include ':airbyte-api'
|
|
include ':airbyte-commons-cli'
|
|
include ':airbyte-commons-protocol'
|
|
include ':airbyte-config-oss:init-oss'
|
|
include ':airbyte-config-oss:config-models-oss' // reused by acceptance tests in connector base.
|
|
include ':airbyte-db:db-lib' // reused by acceptance tests in connector base.
|
|
include ':airbyte-json-validation'
|
|
include ':airbyte-test-utils'
|
|
|
|
include ':airbyte-connector-test-harnesses:acceptance-test-harness'
|
|
}
|
|
|
|
// connectors base
|
|
if (!System.getenv().containsKey("SUB_BUILD") || System.getenv().get("SUB_BUILD") == "CONNECTORS_BASE" || System.getenv().get("SUB_BUILD") == "ALL_CONNECTORS") {
|
|
include ':airbyte-cdk:python'
|
|
include ':airbyte-integrations:bases:base'
|
|
include ':airbyte-integrations:bases:base-java'
|
|
include ':airbyte-integrations:bases:base-java-s3'
|
|
include ':airbyte-integrations:bases:base-normalization'
|
|
include ':airbyte-integrations:bases:base-typing-deduping'
|
|
include ':airbyte-integrations:bases:base-typing-deduping-test'
|
|
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'
|
|
include ':airbyte-integrations:bases:s3-destination-base-integration-test'
|
|
include ':airbyte-integrations:bases:standard-source-test'
|
|
include ':airbyte-integrations:connector-templates:generator'
|
|
include ':airbyte-integrations:bases:debezium'
|
|
|
|
// Needed by normalization integration tests
|
|
include ':airbyte-integrations:connectors:destination-bigquery'
|
|
include ':airbyte-integrations:connectors:destination-mysql'
|
|
include ':airbyte-integrations:connectors:destination-postgres'
|
|
include ':airbyte-integrations:connectors:destination-redshift'
|
|
include ':airbyte-integrations:connectors:destination-snowflake'
|
|
include ':airbyte-integrations:connectors:destination-oracle'
|
|
include ':airbyte-integrations:connectors:destination-mssql'
|
|
include ':airbyte-integrations:connectors:destination-clickhouse'
|
|
include ':airbyte-integrations:connectors:destination-tidb'
|
|
include ':airbyte-integrations:connectors:destination-duckdb'
|
|
|
|
//Needed by destination-bigquery
|
|
include ':airbyte-integrations:connectors:destination-s3'
|
|
include ':airbyte-integrations:connectors:destination-gcs'
|
|
|
|
include ':tools:code-generator'
|
|
|
|
include 'airbyte-integrations:connectors-performance:source-harness'
|
|
include 'airbyte-integrations:connectors-performance:destination-harness'
|
|
}
|
|
|
|
if (!System.getenv().containsKey("SUB_BUILD") || System.getenv().get("SUB_BUILD") == "OCTAVIA_CLI") {
|
|
include ':octavia-cli'
|
|
}
|
|
|
|
// connectors
|
|
if (!System.getenv().containsKey("SUB_BUILD") || System.getenv().get("SUB_BUILD") == "ALL_CONNECTORS") {
|
|
// include all connector projects
|
|
def integrationsPath = rootDir.toPath().resolve('airbyte-integrations/connectors')
|
|
println integrationsPath
|
|
integrationsPath.eachDir { dir ->
|
|
def buildFiles = file(dir).list { file, name -> name == "build.gradle" }
|
|
|
|
if (buildFiles.length == 1) {
|
|
include ":airbyte-integrations:connectors:${dir.getFileName()}"
|
|
}
|
|
}
|
|
}
|