| /* |
| * 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 'bom' |
| include 'api' |
| include 'common' |
| include 'core' |
| include 'data' |
| include 'aliyun' |
| include 'aws' |
| include 'aws-bundle' |
| include 'azure' |
| include 'azure-bundle' |
| include 'orc' |
| include 'arrow' |
| include 'parquet' |
| include 'bundled-guava' |
| include 'spark' |
| include 'pig' |
| include 'hive-metastore' |
| include 'nessie' |
| include 'gcp' |
| include 'gcp-bundle' |
| include 'dell' |
| include 'snowflake' |
| include 'delta-lake' |
| include 'kafka-connect' |
| include 'open-api' |
| |
| project(':bom').name = 'iceberg-bom' |
| 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(':aws-bundle').name = 'iceberg-aws-bundle' |
| project(':azure').name = 'iceberg-azure' |
| project(':azure-bundle').name = 'iceberg-azure-bundle' |
| 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(':gcp-bundle').name = 'iceberg-gcp-bundle' |
| project(':dell').name = 'iceberg-dell' |
| project(':snowflake').name = 'iceberg-snowflake' |
| project(':delta-lake').name = 'iceberg-delta-lake' |
| project(':kafka-connect').name = 'iceberg-kafka-connect' |
| project(':open-api').name = 'iceberg-open-api' |
| |
| if (null != System.getProperty("allVersions")) { |
| System.setProperty("flinkVersions", System.getProperty("knownFlinkVersions")) |
| System.setProperty("sparkVersions", System.getProperty("knownSparkVersions")) |
| System.setProperty("hiveVersions", System.getProperty("knownHiveVersions")) |
| } |
| |
| 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.16")) { |
| include ":iceberg-flink:flink-1.16" |
| include ":iceberg-flink:flink-runtime-1.16" |
| project(":iceberg-flink:flink-1.16").projectDir = file('flink/v1.16/flink') |
| project(":iceberg-flink:flink-1.16").name = "iceberg-flink-1.16" |
| project(":iceberg-flink:flink-runtime-1.16").projectDir = file('flink/v1.16/flink-runtime') |
| project(":iceberg-flink:flink-runtime-1.16").name = "iceberg-flink-runtime-1.16" |
| } |
| |
| if (flinkVersions.contains("1.17")) { |
| include ":iceberg-flink:flink-1.17" |
| include ":iceberg-flink:flink-runtime-1.17" |
| project(":iceberg-flink:flink-1.17").projectDir = file('flink/v1.17/flink') |
| project(":iceberg-flink:flink-1.17").name = "iceberg-flink-1.17" |
| project(":iceberg-flink:flink-runtime-1.17").projectDir = file('flink/v1.17/flink-runtime') |
| project(":iceberg-flink:flink-runtime-1.17").name = "iceberg-flink-runtime-1.17" |
| } |
| |
| if (flinkVersions.contains("1.18")) { |
| include ":iceberg-flink:flink-1.18" |
| include ":iceberg-flink:flink-runtime-1.18" |
| project(":iceberg-flink:flink-1.18").projectDir = file('flink/v1.18/flink') |
| project(":iceberg-flink:flink-1.18").name = "iceberg-flink-1.18" |
| project(":iceberg-flink:flink-runtime-1.18").projectDir = file('flink/v1.18/flink-runtime') |
| project(":iceberg-flink:flink-runtime-1.18").name = "iceberg-flink-runtime-1.18" |
| } |
| |
| 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}" |
| } |
| |
| if (sparkVersions.contains("3.4")) { |
| include ":iceberg-spark:spark-3.4_${scalaVersion}" |
| include ":iceberg-spark:spark-extensions-3.4_${scalaVersion}" |
| include ":iceberg-spark:spark-runtime-3.4_${scalaVersion}" |
| project(":iceberg-spark:spark-3.4_${scalaVersion}").projectDir = file('spark/v3.4/spark') |
| project(":iceberg-spark:spark-3.4_${scalaVersion}").name = "iceberg-spark-3.4_${scalaVersion}" |
| project(":iceberg-spark:spark-extensions-3.4_${scalaVersion}").projectDir = file('spark/v3.4/spark-extensions') |
| project(":iceberg-spark:spark-extensions-3.4_${scalaVersion}").name = "iceberg-spark-extensions-3.4_${scalaVersion}" |
| project(":iceberg-spark:spark-runtime-3.4_${scalaVersion}").projectDir = file('spark/v3.4/spark-runtime') |
| project(":iceberg-spark:spark-runtime-3.4_${scalaVersion}").name = "iceberg-spark-runtime-3.4_${scalaVersion}" |
| } |
| |
| if (sparkVersions.contains("3.5")) { |
| include ":iceberg-spark:spark-3.5_${scalaVersion}" |
| include ":iceberg-spark:spark-extensions-3.5_${scalaVersion}" |
| include ":iceberg-spark:spark-runtime-3.5_${scalaVersion}" |
| project(":iceberg-spark:spark-3.5_${scalaVersion}").projectDir = file('spark/v3.5/spark') |
| project(":iceberg-spark:spark-3.5_${scalaVersion}").name = "iceberg-spark-3.5_${scalaVersion}" |
| project(":iceberg-spark:spark-extensions-3.5_${scalaVersion}").projectDir = file('spark/v3.5/spark-extensions') |
| project(":iceberg-spark:spark-extensions-3.5_${scalaVersion}").name = "iceberg-spark-extensions-3.5_${scalaVersion}" |
| project(":iceberg-spark:spark-runtime-3.5_${scalaVersion}").projectDir = file('spark/v3.5/spark-runtime') |
| project(":iceberg-spark:spark-runtime-3.5_${scalaVersion}").name = "iceberg-spark-runtime-3.5_${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 (hiveVersions.contains("3")) { |
| include 'hive3' |
| include 'hive3-orc-bundle' |
| |
| project(':hive3').name = 'iceberg-hive3' |
| project(':hive3-orc-bundle').name = 'iceberg-hive3-orc-bundle' |
| } |
| } |
| |
| include ":iceberg-kafka-connect:kafka-connect-events" |
| project(":iceberg-kafka-connect:kafka-connect-events").projectDir = file('kafka-connect/kafka-connect-events') |
| project(":iceberg-kafka-connect:kafka-connect-events").name = "iceberg-kafka-connect-events" |
| |
| include ":iceberg-kafka-connect:kafka-connect" |
| project(":iceberg-kafka-connect:kafka-connect").projectDir = file('kafka-connect/kafka-connect') |
| project(":iceberg-kafka-connect:kafka-connect").name = "iceberg-kafka-connect" |