You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2021/10/15 20:51:20 UTC

[iceberg] branch master updated (e7e932e -> 811af43)

This is an automated email from the ASF dual-hosted git repository.

blue pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git.


    from e7e932e  Hive: Fix Catalog initialization without Configuration (#3252)
     add 811af43  Build: Move Spark version modules under spark directory (#3256)

No new revisions were added by this update.

Summary of changes:
 .github/workflows/java-ci.yml                      |   2 +-
 .gitignore                                         |   8 +-
 build.gradle                                       | 470 ---------------------
 gradle.properties                                  |   2 +
 jmh.gradle                                         |  18 +-
 settings.gradle                                    |  39 +-
 spark/build.gradle                                 |  95 +++++
 spark/v2.4/build.gradle                            | 140 ++++++
 .../v2.4/spark-runtime}/LICENSE                    |   0
 .../v2.4/spark-runtime}/NOTICE                     |   0
 {spark3 => spark/v2.4/spark2}/benchmark/.gitkeep   |   0
 .../org/apache/iceberg/actions/SparkActions.java   |   0
 .../org/apache/iceberg/spark/SparkFilters.java     |   0
 .../apache/iceberg/spark/actions/SparkActions.java |   0
 .../iceberg/spark/source/CustomCatalogs.java       |   0
 .../apache/iceberg/spark/source/IcebergSource.java |   0
 .../org/apache/iceberg/spark/source/Reader.java    |   0
 .../org/apache/iceberg/spark/source/Stats.java     |   0
 .../iceberg/spark/source/StreamingOffset.java      |   0
 .../iceberg/spark/source/StreamingWriter.java      |   0
 .../org/apache/iceberg/spark/source/Writer.java    |   0
 ...org.apache.spark.sql.sources.DataSourceRegister |   0
 .../iceberg/TestScanTaskSerialization24.java       |   0
 .../actions/TestDeleteReachableFilesAction24.java  |   0
 .../actions/TestExpireSnapshotsAction24.java       |   0
 .../actions/TestRemoveOrphanFilesAction24.java     |   0
 .../actions/TestRewriteDataFilesAction24.java      |   0
 .../actions/TestRewriteManifestsAction24.java      |   0
 .../apache/iceberg/examples/ConcurrencyTest.java   |   0
 .../java/org/apache/iceberg/examples/README.md     |   0
 .../iceberg/examples/ReadAndWriteTablesTest.java   |   0
 .../iceberg/examples/SchemaEvolutionTest.java      |   0
 .../org/apache/iceberg/examples/SimpleRecord.java  |   0
 .../examples/SnapshotFunctionalityTest.java        |   0
 .../iceberg/spark/source/TestAvroScan24.java       |   0
 .../apache/iceberg/spark/source/TestCatalog.java   |   0
 .../iceberg/spark/source/TestCustomCatalog.java    |   0
 .../spark/source/TestDataFrameWrites24.java        |   0
 .../spark/source/TestDataSourceOptions24.java      |   0
 .../iceberg/spark/source/TestFilteredScan.java     |   0
 .../spark/source/TestForwardCompatibility24.java   |   0
 .../iceberg/spark/source/TestIcebergSource.java    |   0
 .../source/TestIcebergSourceHadoopTables24.java    |   0
 .../source/TestIcebergSourceHiveTables24.java      |   0
 .../iceberg/spark/source/TestIcebergSpark24.java   |   0
 .../spark/source/TestIdentityPartitionData24.java  |   0
 .../spark/source/TestNameMappingProjection.java    |   0
 .../iceberg/spark/source/TestParquetScan24.java    |   0
 .../spark/source/TestPartitionPruning24.java       |   0
 .../spark/source/TestPartitionValues24.java        |   0
 .../apache/iceberg/spark/source/TestSelect.java    |   0
 .../spark/source/TestSnapshotSelection24.java      |   0
 .../spark/source/TestSparkBaseDataReader24.java    |   0
 .../iceberg/spark/source/TestSparkDataFile24.java  |   0
 .../iceberg/spark/source/TestSparkDataWrite24.java |   0
 .../spark/source/TestSparkReadProjection24.java    |   0
 .../spark/source/TestSparkReaderDeletes24.java     |   0
 .../iceberg/spark/source/TestSparkSchema24.java    |   0
 .../iceberg/spark/source/TestSparkTableUtil.java   |   0
 .../TestSparkTableUtilWithInMemoryCatalog.java     |   0
 .../iceberg/spark/source/TestStreamingOffset.java  |   0
 .../spark/source/TestStructuredStreaming24.java    |   0
 .../spark/source/TestTimestampWithoutZone24.java   |   0
 .../spark/source/TestWriteMetricsConfig24.java     |   0
 .../spark2}/src/test/resources/data/books.json     |   0
 .../spark2}/src/test/resources/data/new-books.json |   0
 spark/v3.0/build.gradle                            | 224 ++++++++++
 .../IcebergSqlExtensions.g4                        |   0
 .../extensions/IcebergSparkSessionExtensions.scala |   0
 .../analysis/AlignRowLevelOperations.scala         |   0
 .../analysis/AssignmentAlignmentSupport.scala      |   0
 .../analysis/ProcedureArgumentCoercion.scala       |   0
 .../sql/catalyst/analysis/ResolveProcedures.scala  |   0
 .../RowLevelOperationsPredicateCheck.scala         |   0
 .../sql/catalyst/expressions/AccumulateFiles.scala |   0
 .../OptimizeConditionsInRowLevelOperations.scala   |   0
 ...pCorrelatedPredicatesInRowLevelOperations.scala |   0
 .../sql/catalyst/optimizer/RewriteDelete.scala     |   0
 .../sql/catalyst/optimizer/RewriteMergeInto.scala  |   0
 .../sql/catalyst/optimizer/RewriteUpdate.scala     |   0
 .../IcebergSparkSqlExtensionsParser.scala          |   0
 .../IcebergSqlExtensionsAstBuilder.scala           |   0
 .../catalyst/plans/logical/AddPartitionField.scala |   0
 .../spark/sql/catalyst/plans/logical/Call.scala    |   0
 .../plans/logical/DropIdentifierFields.scala       |   0
 .../plans/logical/DropPartitionField.scala         |   0
 .../catalyst/plans/logical/DynamicFileFilter.scala |   0
 .../sql/catalyst/plans/logical/MergeInto.scala     |   0
 .../sql/catalyst/plans/logical/ReplaceData.scala   |   0
 .../plans/logical/ReplacePartitionField.scala      |   0
 .../plans/logical/SetIdentifierFields.scala        |   0
 .../logical/SetWriteDistributionAndOrdering.scala  |   0
 .../sql/catalyst/plans/logical/statements.scala    |   0
 .../utils/RewriteRowLevelOperationHelper.scala     |   0
 .../spark/sql/catalyst/utils/SetAccumulator.scala  |   0
 .../datasources/v2/AddPartitionFieldExec.scala     |   0
 .../sql/execution/datasources/v2/CallExec.scala    |   0
 .../datasources/v2/DropIdentifierFieldsExec.scala  |   0
 .../datasources/v2/DropPartitionFieldExec.scala    |   0
 .../datasources/v2/DynamicFileFilterExec.scala     |   0
 .../datasources/v2/ExtendedBatchScanExec.scala     |   0
 .../v2/ExtendedDataSourceV2Implicits.scala         |   0
 .../v2/ExtendedDataSourceV2Strategy.scala          |   0
 .../execution/datasources/v2/MergeIntoExec.scala   |   0
 .../execution/datasources/v2/ReplaceDataExec.scala |   0
 .../datasources/v2/ReplacePartitionFieldExec.scala |   0
 .../datasources/v2/SetIdentifierFieldsExec.scala   |   0
 .../v2/SetWriteDistributionAndOrderingExec.scala   |   0
 .../apache/iceberg/spark/extensions/Employee.java  |   0
 .../spark/extensions/SparkExtensionsTestBase.java  |   0
 .../SparkRowLevelOperationsTestBase.java           |   0
 .../spark/extensions/TestAddFilesProcedure.java    |   0
 .../extensions/TestAlterTablePartitionFields.java  |   0
 .../spark/extensions/TestAlterTableSchema.java     |   0
 .../spark/extensions/TestCallStatementParser.java  |   0
 .../TestCherrypickSnapshotProcedure.java           |   0
 .../spark/extensions/TestCopyOnWriteDelete.java    |   0
 .../spark/extensions/TestCopyOnWriteMerge.java     |   0
 .../spark/extensions/TestCopyOnWriteUpdate.java    |   0
 .../iceberg/spark/extensions/TestDelete.java       |   0
 .../extensions/TestExpireSnapshotsProcedure.java   |   0
 .../spark/extensions/TestIcebergExpressions.java   |   0
 .../apache/iceberg/spark/extensions/TestMerge.java |   0
 .../extensions/TestMigrateTableProcedure.java      |   0
 .../extensions/TestRemoveOrphanFilesProcedure.java |   0
 .../extensions/TestRewriteManifestsProcedure.java  |   0
 .../TestRollbackToSnapshotProcedure.java           |   0
 .../TestRollbackToTimestampProcedure.java          |   0
 .../TestSetCurrentSnapshotProcedure.java           |   0
 .../TestSetWriteDistributionAndOrdering.java       |   0
 .../extensions/TestSnapshotTableProcedure.java     |   0
 .../iceberg/spark/extensions/TestUpdate.java       |   0
 .../v3.0/spark3-runtime}/LICENSE                   |   0
 .../v3.0/spark3-runtime}/NOTICE                    |   0
 .../java/org/apache/iceberg/spark/SmokeTest.java   |   0
 {spark2 => spark/v3.0/spark3}/benchmark/.gitkeep   |   0
 .../iceberg/actions/Spark3MigrateAction.java       |   0
 .../iceberg/actions/Spark3SnapshotAction.java      |   0
 .../org/apache/iceberg/actions/SparkActions.java   |   0
 .../java/org/apache/iceberg/spark/BaseCatalog.java |   0
 .../iceberg/spark/FileRewriteCoordinator.java      |   0
 .../iceberg/spark/FileScanTaskSetManager.java      |   0
 .../java/org/apache/iceberg/spark/OrderField.java  |   0
 .../org/apache/iceberg/spark/PathIdentifier.java   |   0
 .../apache/iceberg/spark/RollbackStagedTable.java  |   0
 .../org/apache/iceberg/spark/SortOrderToSpark.java |   0
 .../java/org/apache/iceberg/spark/Spark3Util.java  |   0
 .../apache/iceberg/spark/Spark3VersionUtil.java    |   0
 .../org/apache/iceberg/spark/SparkCatalog.java     |   0
 .../org/apache/iceberg/spark/SparkFilters.java     |   0
 .../apache/iceberg/spark/SparkSessionCatalog.java  |   0
 .../spark/actions/BaseMigrateTableSparkAction.java |   0
 .../actions/BaseRewriteDataFilesSpark3Action.java  |   0
 .../actions/BaseSnapshotTableSparkAction.java      |   0
 .../actions/BaseTableCreationSparkAction.java      |   0
 .../spark/actions/Spark3BinPackStrategy.java       |   0
 .../apache/iceberg/spark/actions/SparkActions.java |   0
 .../spark/procedures/AddFilesProcedure.java        |   0
 .../iceberg/spark/procedures/BaseProcedure.java    |   0
 .../procedures/CherrypickSnapshotProcedure.java    |   0
 .../spark/procedures/ExpireSnapshotsProcedure.java |   0
 .../spark/procedures/MigrateTableProcedure.java    |   0
 .../procedures/RemoveOrphanFilesProcedure.java     |   0
 .../procedures/RewriteManifestsProcedure.java      |   0
 .../procedures/RollbackToSnapshotProcedure.java    |   0
 .../procedures/RollbackToTimestampProcedure.java   |   0
 .../procedures/SetCurrentSnapshotProcedure.java    |   0
 .../spark/procedures/SnapshotTableProcedure.java   |   0
 .../iceberg/spark/procedures/SparkProcedures.java  |   0
 .../apache/iceberg/spark/source/IcebergSource.java |   0
 .../iceberg/spark/source/SparkBatchQueryScan.java  |   0
 .../iceberg/spark/source/SparkBatchScan.java       |   0
 .../iceberg/spark/source/SparkFilesScan.java       |   0
 .../spark/source/SparkFilesScanBuilder.java        |   0
 .../iceberg/spark/source/SparkMergeBuilder.java    |   0
 .../iceberg/spark/source/SparkMergeScan.java       |   0
 .../spark/source/SparkMicroBatchStream.java        |   0
 .../iceberg/spark/source/SparkRewriteBuilder.java  |   0
 .../iceberg/spark/source/SparkScanBuilder.java     |   0
 .../apache/iceberg/spark/source/SparkTable.java    |   0
 .../apache/iceberg/spark/source/SparkWrite.java    |   0
 .../iceberg/spark/source/SparkWriteBuilder.java    |   0
 .../iceberg/spark/source/StagedSparkTable.java     |   0
 .../org/apache/iceberg/spark/source/Stats.java     |   0
 .../iceberg/spark/source/StreamingOffset.java      |   0
 .../analysis/NoSuchProcedureException.java         |   0
 .../iceberg/catalog/ExtendedSupportsDelete.java    |   0
 .../sql/connector/iceberg/catalog/Procedure.java   |   0
 .../iceberg/catalog/ProcedureCatalog.java          |   0
 .../iceberg/catalog/ProcedureParameter.java        |   0
 .../iceberg/catalog/ProcedureParameterImpl.java    |   0
 .../connector/iceberg/catalog/SupportsMerge.java   |   0
 .../distributions/ClusteredDistribution.java       |   0
 .../iceberg/distributions/Distribution.java        |   0
 .../iceberg/distributions/Distributions.java       |   0
 .../iceberg/distributions/OrderedDistribution.java |   0
 .../distributions/UnspecifiedDistribution.java     |   0
 .../impl/ClusterDistributionImpl.java              |   0
 .../impl/OrderedDistributionImpl.java              |   0
 .../impl/UnspecifiedDistributionImpl.java          |   0
 .../iceberg/expressions/NullOrdering.java          |   0
 .../iceberg/expressions/SortDirection.java         |   0
 .../connector/iceberg/expressions/SortOrder.java   |   0
 .../connector/iceberg/read/SupportsFileFilter.java |   0
 .../sql/connector/iceberg/write/MergeBuilder.java  |   0
 ...org.apache.spark.sql.sources.DataSourceRegister |   0
 .../expressions/TransformExpressions.scala         |   0
 .../utils/DistributionAndOrderingUtils.scala       |   0
 .../spark/sql/catalyst/utils/PlanUtils.scala       |   0
 .../apache/iceberg/TestScanTaskSerialization3.java |   0
 .../apache/iceberg/actions/TestCreateActions.java  |   0
 .../actions/TestExpireSnapshotsAction3.java        |   0
 .../actions/TestNewRewriteDataFilesAction3.java    |   0
 .../iceberg/actions/TestRemoveFilesAction3.java    |   0
 .../actions/TestRemoveOrphanFilesAction3.java      |   0
 .../actions/TestRewriteDataFilesAction3.java       |   0
 .../actions/TestRewriteManifestsAction3.java       |   0
 .../apache/iceberg/spark/SparkCatalogTestBase.java |   0
 .../iceberg/spark/TestFileRewriteCoordinator.java  |   0
 .../org/apache/iceberg/spark/TestSpark3Util.java   |   0
 .../org/apache/iceberg/spark/TestSparkFilters.java |   0
 .../iceberg/spark/source/SparkTestTable.java       |   0
 .../apache/iceberg/spark/source/TestAvroScan3.java |   0
 .../iceberg/spark/source/TestDataFrameWrites3.java |   0
 .../spark/source/TestDataSourceOptions3.java       |   0
 .../iceberg/spark/source/TestFilteredScan.java     |   0
 .../spark/source/TestForwardCompatibility3.java    |   0
 .../iceberg/spark/source/TestIcebergSource.java    |   0
 .../source/TestIcebergSourceHadoopTables3.java     |   0
 .../spark/source/TestIcebergSourceHiveTables3.java |   0
 .../iceberg/spark/source/TestIcebergSpark3.java    |   0
 .../spark/source/TestIdentityPartitionData3.java   |   0
 .../TestMetadataTablesWithPartitionEvolution.java  |   0
 .../iceberg/spark/source/TestParquetScan3.java     |   0
 .../spark/source/TestPartitionPruning3.java        |   0
 .../iceberg/spark/source/TestPartitionValues3.java |   0
 .../iceberg/spark/source/TestPathIdentifier.java   |   0
 .../spark/source/TestSnapshotSelection3.java       |   0
 .../spark/source/TestSparkBaseDataReader3.java     |   0
 .../iceberg/spark/source/TestSparkCatalog.java     |   0
 .../source/TestSparkCatalogHadoopOverrides.java    |   0
 .../iceberg/spark/source/TestSparkDataFile3.java   |   0
 .../iceberg/spark/source/TestSparkDataWrite3.java  |   0
 .../iceberg/spark/source/TestSparkFilesScan.java   |   0
 .../spark/source/TestSparkMetadataColumns.java     |   0
 .../spark/source/TestSparkReadProjection3.java     |   0
 .../spark/source/TestSparkReaderDeletes3.java      |   0
 .../iceberg/spark/source/TestSparkTable.java       |   0
 .../iceberg/spark/source/TestStreamingOffset.java  |   0
 .../spark/source/TestStructuredStreaming3.java     |   0
 .../spark/source/TestStructuredStreamingRead3.java |   0
 .../spark/source/TestTimestampWithoutZone3.java    |   0
 .../spark/source/TestWriteMetricsConfig3.java      |   0
 .../apache/iceberg/spark/sql/TestAlterTable.java   |   0
 .../apache/iceberg/spark/sql/TestCreateTable.java  |   0
 .../iceberg/spark/sql/TestCreateTableAsSelect.java |   0
 .../apache/iceberg/spark/sql/TestDeleteFrom.java   |   0
 .../apache/iceberg/spark/sql/TestNamespaceSQL.java |   0
 .../iceberg/spark/sql/TestPartitionedWrites.java   |   0
 .../apache/iceberg/spark/sql/TestRefreshTable.java |   0
 .../org/apache/iceberg/spark/sql/TestSelect.java   |   0
 .../spark/sql/TestTimestampWithoutZone.java        |   0
 .../iceberg/spark/sql/TestUnpartitionedWrites.java |   0
 263 files changed, 507 insertions(+), 491 deletions(-)
 create mode 100644 spark/build.gradle
 create mode 100644 spark/v2.4/build.gradle
 rename {spark-runtime => spark/v2.4/spark-runtime}/LICENSE (100%)
 rename {spark3-runtime => spark/v2.4/spark-runtime}/NOTICE (100%)
 rename {spark3 => spark/v2.4/spark2}/benchmark/.gitkeep (100%)
 rename {spark2 => spark/v2.4/spark2}/src/main/java/org/apache/iceberg/actions/SparkActions.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/main/java/org/apache/iceberg/spark/SparkFilters.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/main/java/org/apache/iceberg/spark/actions/SparkActions.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/main/java/org/apache/iceberg/spark/source/CustomCatalogs.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/main/java/org/apache/iceberg/spark/source/IcebergSource.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/main/java/org/apache/iceberg/spark/source/Reader.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/main/java/org/apache/iceberg/spark/source/Stats.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/main/java/org/apache/iceberg/spark/source/StreamingOffset.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/main/java/org/apache/iceberg/spark/source/StreamingWriter.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/main/java/org/apache/iceberg/spark/source/Writer.java (100%)
 rename {spark3 => spark/v2.4/spark2}/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/TestScanTaskSerialization24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/actions/TestDeleteReachableFilesAction24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/actions/TestExpireSnapshotsAction24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/actions/TestRemoveOrphanFilesAction24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/actions/TestRewriteDataFilesAction24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/actions/TestRewriteManifestsAction24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/examples/ConcurrencyTest.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/examples/README.md (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/examples/ReadAndWriteTablesTest.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/examples/SchemaEvolutionTest.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/examples/SimpleRecord.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/examples/SnapshotFunctionalityTest.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestAvroScan24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestCatalog.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestCustomCatalog.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWrites24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestDataSourceOptions24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestFilteredScan.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestForwardCompatibility24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestIcebergSource.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceHadoopTables24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceHiveTables24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestIcebergSpark24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestIdentityPartitionData24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestNameMappingProjection.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestParquetScan24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestPartitionPruning24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestPartitionValues24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestSelect.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestSnapshotSelection24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestSparkBaseDataReader24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestSparkDataFile24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestSparkDataWrite24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestSparkReaderDeletes24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestSparkSchema24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestSparkTableUtil.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestSparkTableUtilWithInMemoryCatalog.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestStreamingOffset.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestTimestampWithoutZone24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/java/org/apache/iceberg/spark/source/TestWriteMetricsConfig24.java (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/resources/data/books.json (100%)
 rename {spark2 => spark/v2.4/spark2}/src/test/resources/data/new-books.json (100%)
 create mode 100644 spark/v3.0/build.gradle
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/antlr/org.apache.spark.sql.catalyst.parser.extensions/IcebergSqlExtensions.g4 (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/iceberg/spark/extensions/IcebergSparkSessionExtensions.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/analysis/AlignRowLevelOperations.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/analysis/AssignmentAlignmentSupport.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/analysis/ProcedureArgumentCoercion.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveProcedures.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/analysis/RowLevelOperationsPredicateCheck.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/expressions/AccumulateFiles.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/optimizer/OptimizeConditionsInRowLevelOperations.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/optimizer/PullupCorrelatedPredicatesInRowLevelOperations.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/optimizer/RewriteDelete.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/optimizer/RewriteMergeInto.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/optimizer/RewriteUpdate.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSparkSqlExtensionsParser.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/parser/extensions/IcebergSqlExtensionsAstBuilder.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/AddPartitionField.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/Call.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropIdentifierFields.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DropPartitionField.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/DynamicFileFilter.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/MergeInto.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/ReplaceData.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/ReplacePartitionField.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SetIdentifierFields.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/SetWriteDistributionAndOrdering.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/statements.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/utils/RewriteRowLevelOperationHelper.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/catalyst/utils/SetAccumulator.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/AddPartitionFieldExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/CallExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropIdentifierFieldsExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DropPartitionFieldExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DynamicFileFilterExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedBatchScanExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedDataSourceV2Implicits.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ExtendedDataSourceV2Strategy.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/MergeIntoExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ReplaceDataExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/ReplacePartitionFieldExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/SetIdentifierFieldsExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/main/scala/org/apache/spark/sql/execution/datasources/v2/SetWriteDistributionAndOrderingExec.scala (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/Employee.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/SparkExtensionsTestBase.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/SparkRowLevelOperationsTestBase.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestAddFilesProcedure.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTablePartitionFields.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestAlterTableSchema.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestCallStatementParser.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestCherrypickSnapshotProcedure.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteDelete.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteMerge.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestCopyOnWriteUpdate.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestDelete.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestExpireSnapshotsProcedure.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestIcebergExpressions.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestMerge.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestMigrateTableProcedure.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestRemoveOrphanFilesProcedure.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestRewriteManifestsProcedure.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestRollbackToSnapshotProcedure.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestRollbackToTimestampProcedure.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestSetCurrentSnapshotProcedure.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestSetWriteDistributionAndOrdering.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestSnapshotTableProcedure.java (100%)
 rename {spark3-extensions => spark/v3.0/spark3-extensions}/src/test/java/org/apache/iceberg/spark/extensions/TestUpdate.java (100%)
 rename {spark3-runtime => spark/v3.0/spark3-runtime}/LICENSE (100%)
 rename {spark-runtime => spark/v3.0/spark3-runtime}/NOTICE (100%)
 rename {spark3-runtime => spark/v3.0/spark3-runtime}/src/integration/java/org/apache/iceberg/spark/SmokeTest.java (100%)
 rename {spark2 => spark/v3.0/spark3}/benchmark/.gitkeep (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/actions/Spark3MigrateAction.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/actions/Spark3SnapshotAction.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/actions/SparkActions.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/BaseCatalog.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/FileRewriteCoordinator.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/FileScanTaskSetManager.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/OrderField.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/PathIdentifier.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/RollbackStagedTable.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/SortOrderToSpark.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/Spark3Util.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/Spark3VersionUtil.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/SparkCatalog.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/SparkFilters.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/SparkSessionCatalog.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/actions/BaseMigrateTableSparkAction.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/actions/BaseRewriteDataFilesSpark3Action.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/actions/BaseSnapshotTableSparkAction.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/actions/BaseTableCreationSparkAction.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/actions/Spark3BinPackStrategy.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/actions/SparkActions.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/AddFilesProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/BaseProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/CherrypickSnapshotProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/ExpireSnapshotsProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/MigrateTableProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/RemoveOrphanFilesProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/RewriteManifestsProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/RollbackToSnapshotProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/RollbackToTimestampProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/SetCurrentSnapshotProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/SnapshotTableProcedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/procedures/SparkProcedures.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/IcebergSource.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkBatchQueryScan.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkBatchScan.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkFilesScan.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkFilesScanBuilder.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkMergeBuilder.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkMergeScan.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkMicroBatchStream.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkRewriteBuilder.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkScanBuilder.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkTable.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkWrite.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/SparkWriteBuilder.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/StagedSparkTable.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/Stats.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/iceberg/spark/source/StreamingOffset.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/catalyst/analysis/NoSuchProcedureException.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ExtendedSupportsDelete.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/Procedure.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureCatalog.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameter.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/ProcedureParameterImpl.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/catalog/SupportsMerge.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/ClusteredDistribution.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/Distribution.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/Distributions.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/OrderedDistribution.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/UnspecifiedDistribution.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/impl/ClusterDistributionImpl.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/impl/OrderedDistributionImpl.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/distributions/impl/UnspecifiedDistributionImpl.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/expressions/NullOrdering.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/expressions/SortDirection.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/expressions/SortOrder.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/read/SupportsFileFilter.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/java/org/apache/spark/sql/connector/iceberg/write/MergeBuilder.java (100%)
 rename {spark2 => spark/v3.0/spark3}/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/scala/org/apache/spark/sql/catalyst/expressions/TransformExpressions.scala (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/scala/org/apache/spark/sql/catalyst/utils/DistributionAndOrderingUtils.scala (100%)
 rename {spark3 => spark/v3.0/spark3}/src/main/scala/org/apache/spark/sql/catalyst/utils/PlanUtils.scala (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/TestScanTaskSerialization3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/actions/TestCreateActions.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/actions/TestExpireSnapshotsAction3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/actions/TestNewRewriteDataFilesAction3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/actions/TestRemoveFilesAction3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/actions/TestRemoveOrphanFilesAction3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/actions/TestRewriteDataFilesAction3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/actions/TestRewriteManifestsAction3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/SparkCatalogTestBase.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/TestFileRewriteCoordinator.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/TestSpark3Util.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/TestSparkFilters.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/SparkTestTable.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestAvroScan3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestDataFrameWrites3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestDataSourceOptions3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestFilteredScan.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestForwardCompatibility3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestIcebergSource.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceHadoopTables3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestIcebergSourceHiveTables3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestIcebergSpark3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestIdentityPartitionData3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestMetadataTablesWithPartitionEvolution.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestParquetScan3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestPartitionPruning3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestPartitionValues3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestPathIdentifier.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSnapshotSelection3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSparkBaseDataReader3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalog.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSparkCatalogHadoopOverrides.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSparkDataFile3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSparkDataWrite3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSparkFilesScan.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSparkMetadataColumns.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSparkReadProjection3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSparkReaderDeletes3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestSparkTable.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestStreamingOffset.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreaming3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestStructuredStreamingRead3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestTimestampWithoutZone3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/source/TestWriteMetricsConfig3.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/sql/TestAlterTable.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/sql/TestCreateTable.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/sql/TestCreateTableAsSelect.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/sql/TestDeleteFrom.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/sql/TestNamespaceSQL.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/sql/TestPartitionedWrites.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/sql/TestRefreshTable.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/sql/TestSelect.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/sql/TestTimestampWithoutZone.java (100%)
 rename {spark3 => spark/v3.0/spark3}/src/test/java/org/apache/iceberg/spark/sql/TestUnpartitionedWrites.java (100%)