diff --git a/build.gradle b/build.gradle index eb63ce138ab2..fc1684c63e3a 100644 --- a/build.gradle +++ b/build.gradle @@ -111,7 +111,7 @@ if (file("${rootDir}/iceberg-build.properties").exists()) { } def projectVersion = getProjectVersion() -final REVAPI_PROJECTS = ["iceberg-api", "iceberg-core", "iceberg-parquet", "iceberg-orc", "iceberg-common", "iceberg-data"] +final REVAPI_PROJECTS = ["iceberg-api", "iceberg-core", "iceberg-orc", "iceberg-common", "iceberg-data"] allprojects { group = "org.apache.iceberg" @@ -341,6 +341,13 @@ project(':iceberg-core') { exclude group: 'org.tukaani' // xz compression is not supported } + implementation(libs.parquet.avro) { + exclude group: 'org.apache.avro', module: 'avro' + // already shaded by Parquet + exclude group: 'it.unimi.dsi' + exclude group: 'org.codehaus.jackson' + } + implementation libs.aircompressor implementation libs.httpcomponents.httpclient5 implementation platform(libs.jackson.bom) @@ -781,13 +788,6 @@ project(':iceberg-parquet') { implementation project(':iceberg-core') implementation project(':iceberg-common') - implementation(libs.parquet.avro) { - exclude group: 'org.apache.avro', module: 'avro' - // already shaded by Parquet - exclude group: 'it.unimi.dsi' - exclude group: 'org.codehaus.jackson' - } - compileOnly libs.avro.avro compileOnly(libs.hadoop2.client) { exclude group: 'org.apache.avro', module: 'avro' @@ -898,7 +898,9 @@ project(':iceberg-snowflake') { } dependencies { - implementation project(':iceberg-core') + implementation(project(':iceberg-core')) { + exclude group: 'com.github.luben', module: 'zstd-jni' + } implementation project(':iceberg-common') implementation project(path: ':iceberg-bundled-guava', configuration: 'shadow') implementation platform(libs.jackson.bom) diff --git a/parquet/src/main/java/org/apache/iceberg/data/parquet/BaseParquetReaders.java b/core/src/main/java/org/apache/iceberg/data/parquet/BaseParquetReaders.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/data/parquet/BaseParquetReaders.java rename to core/src/main/java/org/apache/iceberg/data/parquet/BaseParquetReaders.java diff --git a/parquet/src/main/java/org/apache/iceberg/data/parquet/BaseParquetWriter.java b/core/src/main/java/org/apache/iceberg/data/parquet/BaseParquetWriter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/data/parquet/BaseParquetWriter.java rename to core/src/main/java/org/apache/iceberg/data/parquet/BaseParquetWriter.java diff --git a/parquet/src/main/java/org/apache/iceberg/data/parquet/GenericParquetReaders.java b/core/src/main/java/org/apache/iceberg/data/parquet/GenericParquetReaders.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/data/parquet/GenericParquetReaders.java rename to core/src/main/java/org/apache/iceberg/data/parquet/GenericParquetReaders.java diff --git a/parquet/src/main/java/org/apache/iceberg/data/parquet/GenericParquetWriter.java b/core/src/main/java/org/apache/iceberg/data/parquet/GenericParquetWriter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/data/parquet/GenericParquetWriter.java rename to core/src/main/java/org/apache/iceberg/data/parquet/GenericParquetWriter.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ApplyNameMapping.java b/core/src/main/java/org/apache/iceberg/parquet/ApplyNameMapping.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ApplyNameMapping.java rename to core/src/main/java/org/apache/iceberg/parquet/ApplyNameMapping.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/BaseColumnIterator.java b/core/src/main/java/org/apache/iceberg/parquet/BaseColumnIterator.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/BaseColumnIterator.java rename to core/src/main/java/org/apache/iceberg/parquet/BaseColumnIterator.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/BasePageIterator.java b/core/src/main/java/org/apache/iceberg/parquet/BasePageIterator.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/BasePageIterator.java rename to core/src/main/java/org/apache/iceberg/parquet/BasePageIterator.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ColumnIterator.java b/core/src/main/java/org/apache/iceberg/parquet/ColumnIterator.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ColumnIterator.java rename to core/src/main/java/org/apache/iceberg/parquet/ColumnIterator.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ColumnWriter.java b/core/src/main/java/org/apache/iceberg/parquet/ColumnWriter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ColumnWriter.java rename to core/src/main/java/org/apache/iceberg/parquet/ColumnWriter.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/MessageTypeToType.java b/core/src/main/java/org/apache/iceberg/parquet/MessageTypeToType.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/MessageTypeToType.java rename to core/src/main/java/org/apache/iceberg/parquet/MessageTypeToType.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/PageIterator.java b/core/src/main/java/org/apache/iceberg/parquet/PageIterator.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/PageIterator.java rename to core/src/main/java/org/apache/iceberg/parquet/PageIterator.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/Parquet.java b/core/src/main/java/org/apache/iceberg/parquet/Parquet.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/Parquet.java rename to core/src/main/java/org/apache/iceberg/parquet/Parquet.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvro.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetAvro.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvro.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetAvro.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroReader.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetAvroReader.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroReader.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetAvroReader.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetAvroValueReaders.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroWriter.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetAvroWriter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetAvroWriter.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetAvroWriter.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetBloomRowGroupFilter.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetBloomRowGroupFilter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetBloomRowGroupFilter.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetBloomRowGroupFilter.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetCodecFactory.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetCodecFactory.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetCodecFactory.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetCodecFactory.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetConversions.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetConversions.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetConversions.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetConversions.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetDictionaryRowGroupFilter.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetFilters.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetFilters.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetFilters.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetFilters.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetIO.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetIO.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetIO.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetIO.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetIterable.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetIterable.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetIterable.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetIterable.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetMetricsRowGroupFilter.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetReadSupport.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetReadSupport.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetReadSupport.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetReadSupport.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetReader.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetReader.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetReader.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetReader.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetSchemaUtil.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetSchemaUtil.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetSchemaUtil.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetSchemaUtil.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetTypeVisitor.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetTypeVisitor.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetTypeVisitor.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetTypeVisitor.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetUtil.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetUtil.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetUtil.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetUtil.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueReader.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetValueReader.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueReader.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetValueReader.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueReaders.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetValueReaders.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueReaders.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetValueReaders.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueWriter.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetValueWriter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueWriter.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetValueWriter.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueWriters.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetValueWriters.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetValueWriters.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetValueWriters.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteAdapter.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetWriteAdapter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteAdapter.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetWriteAdapter.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteSupport.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetWriteSupport.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriteSupport.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetWriteSupport.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriter.java b/core/src/main/java/org/apache/iceberg/parquet/ParquetWriter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ParquetWriter.java rename to core/src/main/java/org/apache/iceberg/parquet/ParquetWriter.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/PruneColumns.java b/core/src/main/java/org/apache/iceberg/parquet/PruneColumns.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/PruneColumns.java rename to core/src/main/java/org/apache/iceberg/parquet/PruneColumns.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ReadConf.java b/core/src/main/java/org/apache/iceberg/parquet/ReadConf.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ReadConf.java rename to core/src/main/java/org/apache/iceberg/parquet/ReadConf.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/RemoveIds.java b/core/src/main/java/org/apache/iceberg/parquet/RemoveIds.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/RemoveIds.java rename to core/src/main/java/org/apache/iceberg/parquet/RemoveIds.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/TripleIterator.java b/core/src/main/java/org/apache/iceberg/parquet/TripleIterator.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/TripleIterator.java rename to core/src/main/java/org/apache/iceberg/parquet/TripleIterator.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/TripleWriter.java b/core/src/main/java/org/apache/iceberg/parquet/TripleWriter.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/TripleWriter.java rename to core/src/main/java/org/apache/iceberg/parquet/TripleWriter.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/TypeToMessageType.java b/core/src/main/java/org/apache/iceberg/parquet/TypeToMessageType.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/TypeToMessageType.java rename to core/src/main/java/org/apache/iceberg/parquet/TypeToMessageType.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/TypeWithSchemaVisitor.java b/core/src/main/java/org/apache/iceberg/parquet/TypeWithSchemaVisitor.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/TypeWithSchemaVisitor.java rename to core/src/main/java/org/apache/iceberg/parquet/TypeWithSchemaVisitor.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/ValuesAsBytesReader.java b/core/src/main/java/org/apache/iceberg/parquet/ValuesAsBytesReader.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/ValuesAsBytesReader.java rename to core/src/main/java/org/apache/iceberg/parquet/ValuesAsBytesReader.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/VectorizedParquetReader.java b/core/src/main/java/org/apache/iceberg/parquet/VectorizedParquetReader.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/VectorizedParquetReader.java rename to core/src/main/java/org/apache/iceberg/parquet/VectorizedParquetReader.java diff --git a/parquet/src/main/java/org/apache/iceberg/parquet/VectorizedReader.java b/core/src/main/java/org/apache/iceberg/parquet/VectorizedReader.java similarity index 100% rename from parquet/src/main/java/org/apache/iceberg/parquet/VectorizedReader.java rename to core/src/main/java/org/apache/iceberg/parquet/VectorizedReader.java diff --git a/parquet/src/test/java/org/apache/iceberg/avro/TestParquetReadProjection.java b/core/src/test/java/org/apache/iceberg/avro/TestParquetReadProjection.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/avro/TestParquetReadProjection.java rename to core/src/test/java/org/apache/iceberg/avro/TestParquetReadProjection.java diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/ParquetWritingTestUtils.java b/core/src/test/java/org/apache/iceberg/parquet/ParquetWritingTestUtils.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/parquet/ParquetWritingTestUtils.java rename to core/src/test/java/org/apache/iceberg/parquet/ParquetWritingTestUtils.java diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestBloomRowGroupFilter.java b/core/src/test/java/org/apache/iceberg/parquet/TestBloomRowGroupFilter.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/parquet/TestBloomRowGroupFilter.java rename to core/src/test/java/org/apache/iceberg/parquet/TestBloomRowGroupFilter.java diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestCDHParquetStatistics.java b/core/src/test/java/org/apache/iceberg/parquet/TestCDHParquetStatistics.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/parquet/TestCDHParquetStatistics.java rename to core/src/test/java/org/apache/iceberg/parquet/TestCDHParquetStatistics.java diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestDictionaryRowGroupFilter.java b/core/src/test/java/org/apache/iceberg/parquet/TestDictionaryRowGroupFilter.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/parquet/TestDictionaryRowGroupFilter.java rename to core/src/test/java/org/apache/iceberg/parquet/TestDictionaryRowGroupFilter.java diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestParquet.java b/core/src/test/java/org/apache/iceberg/parquet/TestParquet.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/parquet/TestParquet.java rename to core/src/test/java/org/apache/iceberg/parquet/TestParquet.java diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestParquetDataWriter.java b/core/src/test/java/org/apache/iceberg/parquet/TestParquetDataWriter.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/parquet/TestParquetDataWriter.java rename to core/src/test/java/org/apache/iceberg/parquet/TestParquetDataWriter.java diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestParquetDeleteWriters.java b/core/src/test/java/org/apache/iceberg/parquet/TestParquetDeleteWriters.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/parquet/TestParquetDeleteWriters.java rename to core/src/test/java/org/apache/iceberg/parquet/TestParquetDeleteWriters.java diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestParquetEncryption.java b/core/src/test/java/org/apache/iceberg/parquet/TestParquetEncryption.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/parquet/TestParquetEncryption.java rename to core/src/test/java/org/apache/iceberg/parquet/TestParquetEncryption.java diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestParquetSchemaUtil.java b/core/src/test/java/org/apache/iceberg/parquet/TestParquetSchemaUtil.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/parquet/TestParquetSchemaUtil.java rename to core/src/test/java/org/apache/iceberg/parquet/TestParquetSchemaUtil.java diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestPruneColumns.java b/core/src/test/java/org/apache/iceberg/parquet/TestPruneColumns.java similarity index 100% rename from parquet/src/test/java/org/apache/iceberg/parquet/TestPruneColumns.java rename to core/src/test/java/org/apache/iceberg/parquet/TestPruneColumns.java