diff --git a/arrow/src/main/java/org/apache/iceberg/arrow/ArrowSchemaUtil.java b/arrow/src/main/java/org/apache/iceberg/arrow/ArrowSchemaUtil.java index b0ada19e23bd..74121e4ce476 100644 --- a/arrow/src/main/java/org/apache/iceberg/arrow/ArrowSchemaUtil.java +++ b/arrow/src/main/java/org/apache/iceberg/arrow/ArrowSchemaUtil.java @@ -19,9 +19,9 @@ package org.apache.iceberg.arrow; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; +import com.google.common.shaded.collect.ImmutableList; +import com.google.common.shaded.collect.ImmutableMap; +import com.google.common.shaded.collect.Lists; import java.util.List; import java.util.Map; import org.apache.arrow.vector.types.DateUnit; diff --git a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.java b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.java index c8d956addfc0..2501e8f16756 100644 --- a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.java +++ b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/VectorizedArrowReader.java @@ -19,7 +19,7 @@ package org.apache.iceberg.arrow.vectorized; -import com.google.common.base.Preconditions; +import com.google.common.shaded.base.Preconditions; import java.util.Map; import org.apache.arrow.memory.BufferAllocator; import org.apache.arrow.vector.BigIntVector; diff --git a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.java b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.java index e2292b20b36f..a4e4751e94ce 100644 --- a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.java +++ b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/BaseVectorizedParquetValuesReader.java @@ -19,7 +19,7 @@ package org.apache.iceberg.arrow.vectorized.parquet; -import com.google.common.base.Preconditions; +import com.google.common.shaded.base.Preconditions; import java.io.IOException; import java.nio.ByteBuffer; import org.apache.parquet.bytes.ByteBufferInputStream; diff --git a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.java b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.java index d0d05836b544..11a9483bf032 100644 --- a/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.java +++ b/arrow/src/main/java/org/apache/iceberg/arrow/vectorized/parquet/VectorizedColumnIterator.java @@ -19,7 +19,7 @@ package org.apache.iceberg.arrow.vectorized.parquet; -import com.google.common.base.Preconditions; +import com.google.common.shaded.base.Preconditions; import org.apache.arrow.vector.FieldVector; import org.apache.arrow.vector.IntVector; import org.apache.iceberg.arrow.vectorized.NullabilityHolder; diff --git a/build.gradle b/build.gradle index 8acf59d10571..ee060eae242e 100644 --- a/build.gradle +++ b/build.gradle @@ -131,8 +131,14 @@ project(':iceberg-relocate-external-dependencies') { include 'NOTICE' } + dependencies { + exclude(dependency('com.github.stephenc.findbugs:findbugs-annotations')) + exclude(dependency('org.slf4j:slf4j-api')) + exclude(dependency('org.checkerframework:checker-qual')) + } + relocate 'com.google.common', 'com.google.common.shaded' - + minimize() } } @@ -145,7 +151,11 @@ project(':iceberg-api') { } } -project(':iceberg-common') {} +project(':iceberg-common') { + dependencies { + compile project(path: ':iceberg-relocate-external-dependencies', configuration: 'shadow') + } +} project(':iceberg-core') { dependencies { diff --git a/common/src/main/java/org/apache/iceberg/common/DynClasses.java b/common/src/main/java/org/apache/iceberg/common/DynClasses.java index d6fca621bc1b..ea6cf6f9d881 100644 --- a/common/src/main/java/org/apache/iceberg/common/DynClasses.java +++ b/common/src/main/java/org/apache/iceberg/common/DynClasses.java @@ -19,7 +19,7 @@ package org.apache.iceberg.common; -import com.google.common.base.Joiner; +import com.google.common.shaded.base.Joiner; import java.util.LinkedHashSet; import java.util.Set; diff --git a/common/src/main/java/org/apache/iceberg/common/DynConstructors.java b/common/src/main/java/org/apache/iceberg/common/DynConstructors.java index d564249bf013..fa1c13b2b0d5 100644 --- a/common/src/main/java/org/apache/iceberg/common/DynConstructors.java +++ b/common/src/main/java/org/apache/iceberg/common/DynConstructors.java @@ -19,8 +19,8 @@ package org.apache.iceberg.common; -import com.google.common.base.Preconditions; -import com.google.common.base.Throwables; +import com.google.common.shaded.base.Preconditions; +import com.google.common.shaded.base.Throwables; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.security.AccessController; diff --git a/common/src/main/java/org/apache/iceberg/common/DynFields.java b/common/src/main/java/org/apache/iceberg/common/DynFields.java index 196399aa7494..f05d64bbc64e 100644 --- a/common/src/main/java/org/apache/iceberg/common/DynFields.java +++ b/common/src/main/java/org/apache/iceberg/common/DynFields.java @@ -19,11 +19,12 @@ package org.apache.iceberg.common; -import com.google.common.base.Joiner; -import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; -import com.google.common.base.Throwables; -import com.google.common.collect.Sets; + +import com.google.common.shaded.base.Joiner; +import com.google.common.shaded.base.MoreObjects; +import com.google.common.shaded.base.Preconditions; +import com.google.common.shaded.base.Throwables; +import com.google.common.shaded.collect.Sets; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.security.AccessController; diff --git a/common/src/main/java/org/apache/iceberg/common/DynMethods.java b/common/src/main/java/org/apache/iceberg/common/DynMethods.java index f9ece6415342..b8a294af060e 100644 --- a/common/src/main/java/org/apache/iceberg/common/DynMethods.java +++ b/common/src/main/java/org/apache/iceberg/common/DynMethods.java @@ -19,8 +19,8 @@ package org.apache.iceberg.common; -import com.google.common.base.Preconditions; -import com.google.common.base.Throwables; +import com.google.common.shaded.base.Preconditions; +import com.google.common.shaded.base.Throwables; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; diff --git a/core/src/main/java/org/apache/iceberg/AllDataFilesTable.java b/core/src/main/java/org/apache/iceberg/AllDataFilesTable.java index 2ecf3b6ee2b2..654a31ad53fc 100644 --- a/core/src/main/java/org/apache/iceberg/AllDataFilesTable.java +++ b/core/src/main/java/org/apache/iceberg/AllDataFilesTable.java @@ -19,9 +19,9 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; +import com.google.common.shaded.collect.ImmutableMap; +import com.google.common.shaded.collect.Iterables; +import com.google.common.shaded.collect.Sets; import java.io.IOException; import java.util.Collection; import java.util.List; diff --git a/core/src/main/java/org/apache/iceberg/AllEntriesTable.java b/core/src/main/java/org/apache/iceberg/AllEntriesTable.java index 9c6aa8561178..436f363f13a3 100644 --- a/core/src/main/java/org/apache/iceberg/AllEntriesTable.java +++ b/core/src/main/java/org/apache/iceberg/AllEntriesTable.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; +import com.google.common.shaded.collect.ImmutableMap; +import com.google.common.shaded.collect.Sets; import java.util.Collection; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.ResidualEvaluator; diff --git a/core/src/main/java/org/apache/iceberg/AllManifestsTable.java b/core/src/main/java/org/apache/iceberg/AllManifestsTable.java index eb81b786448f..58c95b817dc3 100644 --- a/core/src/main/java/org/apache/iceberg/AllManifestsTable.java +++ b/core/src/main/java/org/apache/iceberg/AllManifestsTable.java @@ -19,9 +19,9 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; +import com.google.common.shaded.collect.ImmutableList; +import com.google.common.shaded.collect.ImmutableMap; +import com.google.common.shaded.collect.Iterables; import java.io.IOException; import java.util.Collection; import org.apache.iceberg.avro.Avro; diff --git a/core/src/main/java/org/apache/iceberg/BaseAllMetadataTableScan.java b/core/src/main/java/org/apache/iceberg/BaseAllMetadataTableScan.java index 3cda654007a3..f7f6ca2fe68e 100644 --- a/core/src/main/java/org/apache/iceberg/BaseAllMetadataTableScan.java +++ b/core/src/main/java/org/apache/iceberg/BaseAllMetadataTableScan.java @@ -19,7 +19,7 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; +import com.google.common.shaded.collect.ImmutableMap; import java.util.Collection; import org.apache.iceberg.events.Listeners; import org.apache.iceberg.events.ScanEvent; diff --git a/core/src/main/java/org/apache/iceberg/BaseCombinedScanTask.java b/core/src/main/java/org/apache/iceberg/BaseCombinedScanTask.java index 00f493f80ae3..8212123987a1 100644 --- a/core/src/main/java/org/apache/iceberg/BaseCombinedScanTask.java +++ b/core/src/main/java/org/apache/iceberg/BaseCombinedScanTask.java @@ -19,9 +19,9 @@ package org.apache.iceberg; -import com.google.common.base.Joiner; -import com.google.common.base.MoreObjects; -import com.google.common.collect.ImmutableList; +import com.google.common.shaded.base.Joiner; +import com.google.common.shaded.base.MoreObjects; +import com.google.common.shaded.collect.ImmutableList; import java.util.Collection; import java.util.List; diff --git a/core/src/main/java/org/apache/iceberg/BaseFileScanTask.java b/core/src/main/java/org/apache/iceberg/BaseFileScanTask.java index 988b07eb0596..86ec6a483b07 100644 --- a/core/src/main/java/org/apache/iceberg/BaseFileScanTask.java +++ b/core/src/main/java/org/apache/iceberg/BaseFileScanTask.java @@ -19,9 +19,9 @@ package org.apache.iceberg; -import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.MoreObjects; -import com.google.common.collect.ImmutableList; +import com.google.common.shaded.annotations.VisibleForTesting; +import com.google.common.shaded.base.MoreObjects; +import com.google.common.shaded.collect.ImmutableList; import java.util.ArrayList; import java.util.Iterator; import java.util.List; diff --git a/core/src/main/java/org/apache/iceberg/BaseMetadataTable.java b/core/src/main/java/org/apache/iceberg/BaseMetadataTable.java index 44ba38047306..da60aea4866f 100644 --- a/core/src/main/java/org/apache/iceberg/BaseMetadataTable.java +++ b/core/src/main/java/org/apache/iceberg/BaseMetadataTable.java @@ -19,7 +19,7 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; +import com.google.common.shaded.collect.ImmutableMap; import java.util.List; import java.util.Map; import org.apache.iceberg.encryption.EncryptionManager; diff --git a/core/src/main/java/org/apache/iceberg/BaseSnapshot.java b/core/src/main/java/org/apache/iceberg/BaseSnapshot.java index 22ab7fe84524..78e75b0ccaa8 100644 --- a/core/src/main/java/org/apache/iceberg/BaseSnapshot.java +++ b/core/src/main/java/org/apache/iceberg/BaseSnapshot.java @@ -19,11 +19,11 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; +import com.google.common.shaded.base.MoreObjects; +import com.google.common.shaded.base.Objects; +import com.google.common.shaded.collect.ImmutableList; +import com.google.common.shaded.collect.Iterables; +import com.google.common.shaded.collect.Lists; import java.io.IOException; import java.util.Arrays; import java.util.List; diff --git a/core/src/main/java/org/apache/iceberg/BaseTableScan.java b/core/src/main/java/org/apache/iceberg/BaseTableScan.java index fb0e5f7dc0ab..a61e474bcb82 100644 --- a/core/src/main/java/org/apache/iceberg/BaseTableScan.java +++ b/core/src/main/java/org/apache/iceberg/BaseTableScan.java @@ -19,11 +19,11 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; +import com.google.common.shaded.base.MoreObjects; +import com.google.common.shaded.base.Preconditions; +import com.google.common.shaded.collect.FluentIterable; +import com.google.common.shaded.collect.ImmutableMap; +import com.google.common.shaded.collect.Sets; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; diff --git a/core/src/main/java/org/apache/iceberg/DataFilesTable.java b/core/src/main/java/org/apache/iceberg/DataFilesTable.java index 53b6a97dd1c2..fa627bb3e8fb 100644 --- a/core/src/main/java/org/apache/iceberg/DataFilesTable.java +++ b/core/src/main/java/org/apache/iceberg/DataFilesTable.java @@ -19,9 +19,9 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; +import com.google.common.shaded.collect.ImmutableList; +import com.google.common.shaded.collect.ImmutableMap; +import com.google.common.shaded.collect.Sets; import java.util.Collection; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.ResidualEvaluator; diff --git a/core/src/main/java/org/apache/iceberg/DataTableScan.java b/core/src/main/java/org/apache/iceberg/DataTableScan.java index f3a5d923594e..29a703c7877a 100644 --- a/core/src/main/java/org/apache/iceberg/DataTableScan.java +++ b/core/src/main/java/org/apache/iceberg/DataTableScan.java @@ -19,9 +19,9 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; +import com.google.common.shaded.base.Preconditions; +import com.google.common.shaded.collect.ImmutableList; +import com.google.common.shaded.collect.ImmutableMap; import java.util.Collection; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.io.CloseableIterable; diff --git a/core/src/main/java/org/apache/iceberg/GenericDataFile.java b/core/src/main/java/org/apache/iceberg/GenericDataFile.java index aa427cbc5e16..1685298b9b93 100644 --- a/core/src/main/java/org/apache/iceberg/GenericDataFile.java +++ b/core/src/main/java/org/apache/iceberg/GenericDataFile.java @@ -19,10 +19,10 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; +import com.google.common.shaded.base.MoreObjects; +import com.google.common.shaded.collect.ImmutableMap; +import com.google.common.shaded.collect.Lists; +import com.google.common.shaded.collect.Maps; import java.io.Serializable; import java.nio.ByteBuffer; import java.util.Arrays; diff --git a/core/src/main/java/org/apache/iceberg/GenericManifestEntry.java b/core/src/main/java/org/apache/iceberg/GenericManifestEntry.java index 9fc29a62bbff..3f5444d56e00 100644 --- a/core/src/main/java/org/apache/iceberg/GenericManifestEntry.java +++ b/core/src/main/java/org/apache/iceberg/GenericManifestEntry.java @@ -19,7 +19,7 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; +import com.google.common.shaded.base.MoreObjects; import org.apache.avro.generic.IndexedRecord; import org.apache.avro.specific.SpecificData; import org.apache.iceberg.avro.AvroSchemaUtil; diff --git a/core/src/main/java/org/apache/iceberg/GenericManifestFile.java b/core/src/main/java/org/apache/iceberg/GenericManifestFile.java index 26f7153f81af..5b00400776ec 100644 --- a/core/src/main/java/org/apache/iceberg/GenericManifestFile.java +++ b/core/src/main/java/org/apache/iceberg/GenericManifestFile.java @@ -19,9 +19,9 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; -import com.google.common.base.Objects; -import com.google.common.collect.Lists; +import com.google.common.shaded.base.MoreObjects; +import com.google.common.shaded.base.Objects; +import com.google.common.shaded.collect.Lists; import java.io.Serializable; import java.util.Collections; import java.util.List; diff --git a/core/src/main/java/org/apache/iceberg/GenericPartitionFieldSummary.java b/core/src/main/java/org/apache/iceberg/GenericPartitionFieldSummary.java index ae1d5a53e33d..9a6ebbcd1765 100644 --- a/core/src/main/java/org/apache/iceberg/GenericPartitionFieldSummary.java +++ b/core/src/main/java/org/apache/iceberg/GenericPartitionFieldSummary.java @@ -19,7 +19,7 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; +import com.google.common.shaded.base.MoreObjects; import java.io.Serializable; import java.nio.ByteBuffer; import java.util.Arrays; diff --git a/core/src/main/java/org/apache/iceberg/IncrementalDataTableScan.java b/core/src/main/java/org/apache/iceberg/IncrementalDataTableScan.java index a2c3d9858d3a..b3206bca0681 100644 --- a/core/src/main/java/org/apache/iceberg/IncrementalDataTableScan.java +++ b/core/src/main/java/org/apache/iceberg/IncrementalDataTableScan.java @@ -19,12 +19,12 @@ package org.apache.iceberg; -import com.google.common.base.Preconditions; -import com.google.common.collect.FluentIterable; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; +import com.google.common.shaded.base.Preconditions; +import com.google.common.shaded.collect.FluentIterable; +import com.google.common.shaded.collect.ImmutableMap; +import com.google.common.shaded.collect.Iterables; +import com.google.common.shaded.collect.Lists; +import com.google.common.shaded.collect.Sets; import java.util.Collection; import java.util.List; import java.util.Set; diff --git a/core/src/main/java/org/apache/iceberg/ManifestEntriesTable.java b/core/src/main/java/org/apache/iceberg/ManifestEntriesTable.java index d2458f80a93c..bb5a392514d1 100644 --- a/core/src/main/java/org/apache/iceberg/ManifestEntriesTable.java +++ b/core/src/main/java/org/apache/iceberg/ManifestEntriesTable.java @@ -19,9 +19,9 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; +import com.google.common.shaded.collect.ImmutableList; +import com.google.common.shaded.collect.ImmutableMap; +import com.google.common.shaded.collect.Sets; import java.util.Collection; import org.apache.iceberg.expressions.Expression; import org.apache.iceberg.expressions.ResidualEvaluator; diff --git a/core/src/main/java/org/apache/iceberg/StaticTableScan.java b/core/src/main/java/org/apache/iceberg/StaticTableScan.java index ed63eaad7fbb..fbc7bbc8f33f 100644 --- a/core/src/main/java/org/apache/iceberg/StaticTableScan.java +++ b/core/src/main/java/org/apache/iceberg/StaticTableScan.java @@ -19,7 +19,7 @@ package org.apache.iceberg; -import com.google.common.collect.ImmutableMap; +import com.google.common.shaded.collect.ImmutableMap; import java.util.Collection; import java.util.function.Function; import org.apache.iceberg.expressions.Expression; diff --git a/core/src/main/java/org/apache/iceberg/TableMetadata.java b/core/src/main/java/org/apache/iceberg/TableMetadata.java index 1b1021f6b854..1c11d1096716 100644 --- a/core/src/main/java/org/apache/iceberg/TableMetadata.java +++ b/core/src/main/java/org/apache/iceberg/TableMetadata.java @@ -19,15 +19,15 @@ package org.apache.iceberg; -import com.google.common.base.MoreObjects; -import com.google.common.base.Objects; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; +import com.google.common.shaded.base.MoreObjects; +import com.google.common.shaded.base.Objects; +import com.google.common.shaded.base.Preconditions; +import com.google.common.shaded.collect.ImmutableList; +import com.google.common.shaded.collect.ImmutableMap; +import com.google.common.shaded.collect.Iterables; +import com.google.common.shaded.collect.Lists; +import com.google.common.shaded.collect.Maps; +import com.google.common.shaded.collect.Sets; import java.util.List; import java.util.Map; import java.util.Set; diff --git a/core/src/test/java/org/apache/iceberg/TestWapWorkflow.java b/core/src/test/java/org/apache/iceberg/TestWapWorkflow.java index b6c75f32dfb3..b062ab3477a2 100644 --- a/core/src/test/java/org/apache/iceberg/TestWapWorkflow.java +++ b/core/src/test/java/org/apache/iceberg/TestWapWorkflow.java @@ -19,8 +19,8 @@ package org.apache.iceberg; -import com.google.common.collect.Iterables; -import com.google.common.collect.Streams; +import com.google.common.shaded.collect.Iterables; +import com.google.common.shaded.collect.Streams; import org.apache.iceberg.exceptions.CherrypickAncestorCommitException; import org.apache.iceberg.exceptions.DuplicateWAPCommitException; import org.apache.iceberg.exceptions.ValidationException;