1
0
mirror of synced 2025-12-30 03:02:21 -05:00
Files
airbyte/settings.gradle
Edward Gao 934acaa137 Destination bigquery: rerelease 1s1t behind gate (#27936)
* 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>
2023-07-14 09:34:56 -05:00

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()}"
}
}
}