forked from airbytehq/airbyte
-
Notifications
You must be signed in to change notification settings - Fork 0
/
settings.gradle
125 lines (110 loc) · 5.02 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// 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"
}
}
sourceControl {
gitRepository("https://github.com/airbytehq/json-avro-converter.git") {
producesModule("tech.allegro.schema.json2avro:converter")
}
}
rootProject.name = 'airbyte'
// SUB_BUILD is an enum of <blank>, PLATFORM, CONNECTORS_BASE, 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 != "PLATFORM" && subBuild != "CONNECTORS_BASE" && subBuild != "OCTAVIA_CLI") {
throw new IllegalArgumentException(String.format("%s is invalid. Must be unset or PLATFORM or CONNECTORS_BASE or OCTAVIA_CLI", subBuild))
}
}
// shared
include ':airbyte-commons'
// shared by CONNECTORS_BASE and PLATFORM sub builds
include ':airbyte-api'
include ':airbyte-commons-cli'
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-metrics'
include ':airbyte-oauth'
include ':airbyte-protocol:models'
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: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-bootloader'
include ':airbyte-cli'
include ':airbyte-config:init'
include ':airbyte-config:specs'
include ':airbyte-container-orchestrator'
include ':airbyte-webapp-e2e-tests'
include ':airbyte-scheduler:app'
include ':airbyte-scheduler:client'
include ':airbyte-server'
include ':airbyte-temporal'
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'
// 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'
include ':airbyte-integrations:connectors:destination-clickhouse'
//Needed by destination-bigquery
include ':airbyte-integrations:connectors:destination-s3'
include ':airbyte-integrations:connectors:destination-gcs'
include ':tools:code-generator'
}
if (!System.getenv().containsKey("SUB_BUILD") || System.getenv().get("SUB_BUILD") == "OCTAVIA_CLI") {
include ':octavia-cli'
}
// 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()}"
}
}
}