blob: 597172797a9d6c3ae8295b310e7a54ed003dea64 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
rootProject.name = 'iceberg'
include 'api'
include 'common'
include 'core'
include 'data'
include 'aliyun'
include 'aws'
include 'orc'
include 'arrow'
include 'parquet'
include 'bundled-guava'
include 'spark'
include 'pig'
include 'hive-metastore'
include 'nessie'
include 'gcp'
project(':api').name = 'iceberg-api'
project(':common').name = 'iceberg-common'
project(':core').name = 'iceberg-core'
project(':data').name = 'iceberg-data'
project(':aliyun').name = 'iceberg-aliyun'
project(':aws').name = 'iceberg-aws'
project(':orc').name = 'iceberg-orc'
project(':arrow').name = 'iceberg-arrow'
project(':parquet').name = 'iceberg-parquet'
project(':bundled-guava').name = 'iceberg-bundled-guava'
project(':spark').name = 'iceberg-spark'
project(':pig').name = 'iceberg-pig'
project(':hive-metastore').name = 'iceberg-hive-metastore'
project(':nessie').name = 'iceberg-nessie'
project(':gcp').name = 'iceberg-gcp'
List<String> knownFlinkVersions = System.getProperty("knownFlinkVersions").split(",")
String flinkVersionsString = System.getProperty("flinkVersions") != null ? System.getProperty("flinkVersions") : System.getProperty("defaultFlinkVersions")
List<String> flinkVersions = flinkVersionsString != null && !flinkVersionsString.isEmpty() ? flinkVersionsString.split(",") : []
if (!knownFlinkVersions.containsAll(flinkVersions)) {
throw new GradleException("Found unsupported Flink versions: " + (flinkVersions - knownFlinkVersions))
}
List<String> knownHiveVersions = System.getProperty("knownHiveVersions").split(",")
String hiveVersionsString = System.getProperty("hiveVersions") != null ? System.getProperty("hiveVersions") : System.getProperty("defaultHiveVersions")
List<String> hiveVersions = hiveVersionsString != null && !hiveVersionsString.isEmpty() ? hiveVersionsString.split(",") : []
if (!knownHiveVersions.containsAll(hiveVersions)) {
throw new GradleException("Found unsupported Hive versions: " + (hiveVersions - knownHiveVersions))
}
List<String> knownSparkVersions = System.getProperty("knownSparkVersions").split(",")
String sparkVersionsString = System.getProperty("sparkVersions") != null ? System.getProperty("sparkVersions") : System.getProperty("defaultSparkVersions")
List<String> sparkVersions = sparkVersionsString != null && !sparkVersionsString.isEmpty() ? sparkVersionsString.split(",") : []
if (!knownSparkVersions.containsAll(sparkVersions)) {
throw new GradleException("Found unsupported Spark versions: " + (sparkVersions - knownSparkVersions))
}
if (!flinkVersions.isEmpty()) {
include 'flink'
project(':flink').name = 'iceberg-flink'
}
if (flinkVersions.contains("1.12")) {
include ':iceberg-flink:flink-1.12'
include ':iceberg-flink:flink-runtime-1.12'
project(':iceberg-flink:flink-1.12').projectDir = file('flink/v1.12/flink')
project(':iceberg-flink:flink-1.12').name = 'iceberg-flink-1.12'
project(':iceberg-flink:flink-runtime-1.12').projectDir = file('flink/v1.12/flink-runtime')
project(':iceberg-flink:flink-runtime-1.12').name = 'iceberg-flink-runtime-1.12'
}
if (flinkVersions.contains("1.13")) {
include ':iceberg-flink:flink-1.13'
include ':iceberg-flink:flink-runtime-1.13'
project(':iceberg-flink:flink-1.13').projectDir = file('flink/v1.13/flink')
project(':iceberg-flink:flink-1.13').name = 'iceberg-flink-1.13'
project(':iceberg-flink:flink-runtime-1.13').projectDir = file('flink/v1.13/flink-runtime')
project(':iceberg-flink:flink-runtime-1.13').name = 'iceberg-flink-runtime-1.13'
}
if (flinkVersions.contains("1.14")) {
include ':iceberg-flink:flink-1.14'
include ':iceberg-flink:flink-runtime-1.14'
project(':iceberg-flink:flink-1.14').projectDir = file('flink/v1.14/flink')
project(':iceberg-flink:flink-1.14').name = 'iceberg-flink-1.14'
project(':iceberg-flink:flink-runtime-1.14').projectDir = file('flink/v1.14/flink-runtime')
project(':iceberg-flink:flink-runtime-1.14').name = 'iceberg-flink-runtime-1.14'
}
if (sparkVersions.contains("3.0")) {
include ':iceberg-spark:spark3'
include ':iceberg-spark:spark3-extensions'
include ':iceberg-spark:spark3-runtime'
project(':iceberg-spark:spark3').projectDir = file('spark/v3.0/spark')
project(':iceberg-spark:spark3').name = 'iceberg-spark3'
project(':iceberg-spark:spark3-extensions').projectDir = file('spark/v3.0/spark-extensions')
project(':iceberg-spark:spark3-extensions').name = 'iceberg-spark3-extensions'
project(':iceberg-spark:spark3-runtime').projectDir = file('spark/v3.0/spark-runtime')
project(':iceberg-spark:spark3-runtime').name = 'iceberg-spark3-runtime'
}
if (sparkVersions.contains("3.1")) {
include ':iceberg-spark:spark-3.1_2.12'
include ':iceberg-spark:spark-extensions-3.1_2.12'
include ':iceberg-spark:spark-runtime-3.1_2.12'
project(':iceberg-spark:spark-3.1_2.12').projectDir = file('spark/v3.1/spark')
project(':iceberg-spark:spark-3.1_2.12').name = 'iceberg-spark-3.1_2.12'
project(':iceberg-spark:spark-extensions-3.1_2.12').projectDir = file('spark/v3.1/spark-extensions')
project(':iceberg-spark:spark-extensions-3.1_2.12').name = 'iceberg-spark-extensions-3.1_2.12'
project(':iceberg-spark:spark-runtime-3.1_2.12').projectDir = file('spark/v3.1/spark-runtime')
project(':iceberg-spark:spark-runtime-3.1_2.12').name = 'iceberg-spark-runtime-3.1_2.12'
}
if (sparkVersions.contains("3.2")) {
include ':iceberg-spark:spark-3.2_2.12'
include ':iceberg-spark:spark-extensions-3.2_2.12'
include ':iceberg-spark:spark-runtime-3.2_2.12'
project(':iceberg-spark:spark-3.2_2.12').projectDir = file('spark/v3.2/spark')
project(':iceberg-spark:spark-3.2_2.12').name = 'iceberg-spark-3.2_2.12'
project(':iceberg-spark:spark-extensions-3.2_2.12').projectDir = file('spark/v3.2/spark-extensions')
project(':iceberg-spark:spark-extensions-3.2_2.12').name = 'iceberg-spark-extensions-3.2_2.12'
project(':iceberg-spark:spark-runtime-3.2_2.12').projectDir = file('spark/v3.2/spark-runtime')
project(':iceberg-spark:spark-runtime-3.2_2.12').name = 'iceberg-spark-runtime-3.2_2.12'
}
// hive 3 depends on hive 2, so always add hive 2 if hive3 is enabled
if (hiveVersions.contains("2") || hiveVersions.contains("3")) {
include 'mr'
include 'hive-runtime'
project(':mr').name = 'iceberg-mr'
project(':hive-runtime').name = 'iceberg-hive-runtime'
}
if (JavaVersion.current() == JavaVersion.VERSION_1_8) {
if (sparkVersions.contains("2.4")) {
include ':iceberg-spark:spark2'
include ':iceberg-spark:spark-runtime'
project(':iceberg-spark:spark2').projectDir = file('spark/v2.4/spark')
project(':iceberg-spark:spark2').name = 'iceberg-spark2'
project(':iceberg-spark:spark-runtime').projectDir = file('spark/v2.4/spark-runtime')
project(':iceberg-spark:spark-runtime').name = 'iceberg-spark-runtime'
}
if (hiveVersions.contains("3")) {
include 'hive3'
include 'hive3-orc-bundle'
project(':hive3').name = 'iceberg-hive3'
project(':hive3-orc-bundle').name = 'iceberg-hive3-orc-bundle'
}
}