112 lines
4.5 KiB
Groovy
112 lines
4.5 KiB
Groovy
// 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"
|
|
}
|
|
|
|
gradleEnterprise {
|
|
buildScan {
|
|
termsOfServiceUrl = "https://gradle.com/terms-of-service"
|
|
termsOfServiceAgree = "yes"
|
|
}
|
|
}
|
|
|
|
rootProject.name = 'airbyte'
|
|
|
|
// SUB_BUILD is an enum of <blank>, PLATFORM, CONNECTORS_BASE. 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 != "PLATFORM" && subBuild != "CONNECTORS_BASE") {
|
|
throw new IllegalArgumentException(String.format("%s is invalid. Must be unset or PLATFORM or CONNECTORS_BASE", subBuild))
|
|
}
|
|
}
|
|
|
|
// shared
|
|
include ':airbyte-api'
|
|
include ':airbyte-commons'
|
|
include ':airbyte-commons-docker'
|
|
include ':airbyte-commons-cli'
|
|
include ':airbyte-config:models' // reused by acceptance tests in connector base.
|
|
include ':airbyte-db:lib' // reused by acceptance tests in connector base.
|
|
include ':airbyte-json-validation'
|
|
include ':airbyte-protocol:models'
|
|
include ':airbyte-metrics'
|
|
include ':airbyte-queue'
|
|
include ':airbyte-test-utils'
|
|
|
|
// airbyte-workers has a lot of dependencies.
|
|
include ':airbyte-workers' // reused by acceptance tests in connector base.
|
|
include ':airbyte-analytics' // transitively used by airbyte-workers.
|
|
include ':airbyte-config:init' // transitively used by airbyte-workers.
|
|
include ':airbyte-config:persistence' // transitively used by airbyte-workers.
|
|
include ':airbyte-db:jooq' // transitively used by airbyte-workers.
|
|
include ':airbyte-notification' // transitively used by airbyte-workers.
|
|
include ':airbyte-scheduler:models' // transitively used by airbyte-workers.
|
|
include ':airbyte-scheduler:persistence' // used by airbyte-workers.
|
|
|
|
// platform
|
|
if(!System.getenv().containsKey("SUB_BUILD") || System.getenv().get("SUB_BUILD") == "PLATFORM") {
|
|
include ':airbyte-cli'
|
|
include ':airbyte-e2e-testing'
|
|
include ':airbyte-migration'
|
|
include ':airbyte-oauth'
|
|
include ':airbyte-scheduler:app'
|
|
include ':airbyte-scheduler:client'
|
|
include ':airbyte-server'
|
|
include ':airbyte-tests'
|
|
include ':airbyte-webapp'
|
|
}
|
|
|
|
// connectors base
|
|
if(!System.getenv().containsKey("SUB_BUILD") || System.getenv().get("SUB_BUILD") == "CONNECTORS_BASE") {
|
|
include ':airbyte-cdk:python'
|
|
include ':airbyte-integrations:bases:airbyte-protocol'
|
|
include ':airbyte-integrations:bases:base'
|
|
include ':airbyte-integrations:bases:base-java'
|
|
include ':airbyte-integrations:bases:base-normalization'
|
|
include ':airbyte-integrations:bases:base-python'
|
|
include ':airbyte-integrations:bases:base-python-test'
|
|
include ':airbyte-integrations:bases:base-singer'
|
|
include ':airbyte-integrations:bases:base-standard-source-test-file'
|
|
include ':airbyte-integrations:bases:source-acceptance-test'
|
|
include ':airbyte-integrations:bases:standard-destination-test'
|
|
include ':airbyte-integrations:bases:standard-source-test'
|
|
include ':airbyte-integrations:connector-templates:generator'
|
|
include ':airbyte-integrations:bases:debezium'
|
|
|
|
include ':airbyte-oauth'
|
|
|
|
// 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'
|
|
include ':airbyte-integrations:connectors:destination-snowflake'
|
|
include ':airbyte-integrations:connectors:destination-oracle'
|
|
include ':airbyte-integrations:connectors:destination-mssql'
|
|
|
|
//Needed by destination-bigquery
|
|
include ':airbyte-integrations:connectors:destination-s3'
|
|
include ':airbyte-integrations:connectors:destination-gcs'
|
|
|
|
include ':tools:code-generator'
|
|
}
|
|
|
|
// connectors
|
|
if(!System.getenv().containsKey("SUB_BUILD")) {
|
|
// 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()}"
|
|
}
|
|
}
|
|
}
|