blob: 3f6e2cf036e9df5e652fb345d34b42c7d4573a10 [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'
include 'dell'
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'
project(':dell').name = 'iceberg-dell'
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))
}
List<String> knownScalaVersions = System.getProperty("knownScalaVersions").split(",")
String scalaVersion = System.getProperty("scalaVersion") != null ? System.getProperty("scalaVersion") : System.getProperty("defaultScalaVersion")
if (!knownScalaVersions.contains(scalaVersion)) {
throw new GradleException("Found unsupported Scala version: " + scalaVersion)
}
if (!flinkVersions.isEmpty()) {
include 'flink'
project(':flink').name = 'iceberg-flink'
}
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 (flinkVersions.contains("1.15")) {
include ":iceberg-flink:flink-1.15"
include ":iceberg-flink:flink-runtime-1.15"
project(":iceberg-flink:flink-1.15").projectDir = file('flink/v1.15/flink')
project(":iceberg-flink:flink-1.15").name = "iceberg-flink-1.15"
project(":iceberg-flink:flink-runtime-1.15").projectDir = file('flink/v1.15/flink-runtime')
project(":iceberg-flink:flink-runtime-1.15").name = "iceberg-flink-runtime-1.15"
}
if (sparkVersions.contains("3.0")) {
include ':iceberg-spark:spark-3.0_2.12'
include ':iceberg-spark:spark-extensions-3.0_2.12'
include ':iceberg-spark:spark-runtime-3.0_2.12'
project(':iceberg-spark:spark-3.0_2.12').projectDir = file('spark/v3.0/spark')
project(':iceberg-spark:spark-3.0_2.12').name = 'iceberg-spark-3.0_2.12'
project(':iceberg-spark:spark-extensions-3.0_2.12').projectDir = file('spark/v3.0/spark-extensions')
project(':iceberg-spark:spark-extensions-3.0_2.12').name = 'iceberg-spark-extensions-3.0_2.12'
project(':iceberg-spark:spark-runtime-3.0_2.12').projectDir = file('spark/v3.0/spark-runtime')
project(':iceberg-spark:spark-runtime-3.0_2.12').name = 'iceberg-spark-runtime-3.0_2.12'
}
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_${scalaVersion}"
include ":iceberg-spark:spark-extensions-3.2_${scalaVersion}"
include ":iceberg-spark:spark-runtime-3.2_${scalaVersion}"
project(":iceberg-spark:spark-3.2_${scalaVersion}").projectDir = file('spark/v3.2/spark')
project(":iceberg-spark:spark-3.2_${scalaVersion}").name = "iceberg-spark-3.2_${scalaVersion}"
project(":iceberg-spark:spark-extensions-3.2_${scalaVersion}").projectDir = file('spark/v3.2/spark-extensions')
project(":iceberg-spark:spark-extensions-3.2_${scalaVersion}").name = "iceberg-spark-extensions-3.2_${scalaVersion}"
project(":iceberg-spark:spark-runtime-3.2_${scalaVersion}").projectDir = file('spark/v3.2/spark-runtime')
project(":iceberg-spark:spark-runtime-3.2_${scalaVersion}").name = "iceberg-spark-runtime-3.2_${scalaVersion}"
}
if (sparkVersions.contains("3.3")) {
include ":iceberg-spark:spark-3.3_${scalaVersion}"
include ":iceberg-spark:spark-extensions-3.3_${scalaVersion}"
include ":iceberg-spark:spark-runtime-3.3_${scalaVersion}"
project(":iceberg-spark:spark-3.3_${scalaVersion}").projectDir = file('spark/v3.3/spark')
project(":iceberg-spark:spark-3.3_${scalaVersion}").name = "iceberg-spark-3.3_${scalaVersion}"
project(":iceberg-spark:spark-extensions-3.3_${scalaVersion}").projectDir = file('spark/v3.3/spark-extensions')
project(":iceberg-spark:spark-extensions-3.3_${scalaVersion}").name = "iceberg-spark-extensions-3.3_${scalaVersion}"
project(":iceberg-spark:spark-runtime-3.3_${scalaVersion}").projectDir = file('spark/v3.3/spark-runtime')
project(":iceberg-spark:spark-runtime-3.3_${scalaVersion}").name = "iceberg-spark-runtime-3.3_${scalaVersion}"
}
// 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:spark-2.4'
include ':iceberg-spark:spark-runtime-2.4'
project(':iceberg-spark:spark-2.4').projectDir = file('spark/v2.4/spark')
project(':iceberg-spark:spark-2.4').name = 'iceberg-spark-2.4'
project(':iceberg-spark:spark-runtime-2.4').projectDir = file('spark/v2.4/spark-runtime')
project(':iceberg-spark:spark-runtime-2.4').name = 'iceberg-spark-runtime-2.4'
}
if (hiveVersions.contains("3")) {
include 'hive3'
include 'hive3-orc-bundle'
project(':hive3').name = 'iceberg-hive3'
project(':hive3-orc-bundle').name = 'iceberg-hive3-orc-bundle'
}
}