| /* |
| * 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' |
| } |
| } |
| |