forked from airbytehq/airbyte
-
Notifications
You must be signed in to change notification settings - Fork 0
/
settings.gradle
111 lines (98 loc) · 4.51 KB
/
settings.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// 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-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'
include ':airbyte-secrets-migration'
}
// 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()}"
}
}
}