Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ __Modules__
`iceberg-core`
`iceberg-data`
`iceberg-orc`
`iceberg-parquet`

Changes to public interfaces and classes in the subprojects listed above require a deprecation cycle of one minor
release. These projects contain common and internal code used by other projects and can evolve within a major release.
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ Iceberg table support is organized in library modules:
* `iceberg-common` contains utility classes used in other modules
* `iceberg-api` contains the public Iceberg API
* `iceberg-core` contains implementations of the Iceberg API and support for Avro data files, **this is what processing engines should depend on**
* `iceberg-parquet` is an optional module for working with tables backed by Parquet files
* `iceberg-arrow` is an optional module for reading Parquet into Arrow memory
* `iceberg-orc` is an optional module for working with tables backed by ORC files
* `iceberg-hive-metastore` is an implementation of Iceberg tables backed by the Hive metastore Thrift client
Expand Down
13 changes: 13 additions & 0 deletions api/src/test/java/org/apache/iceberg/TestHelpers.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
import org.apache.iceberg.expressions.UnboundPredicate;
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
import org.apache.iceberg.util.ByteBuffers;
import org.assertj.core.api.AbstractThrowableAssert;
import org.assertj.core.api.Assertions;
import org.objenesis.strategy.StdInstantiatorStrategy;

Expand Down Expand Up @@ -265,6 +266,18 @@ public static void serialize(final Serializable obj, final OutputStream outputSt
}
}

public static void assertThrows(
String message,
Class<? extends Exception> expected,
String containedInMessage,
Runnable runnable) {
AbstractThrowableAssert<?, ? extends Throwable> check =
Assertions.assertThatThrownBy(runnable::run).as(message).isInstanceOf(expected);
if (null != containedInMessage) {
check.hasMessageContaining(containedInMessage);
}
}

public static class KryoHelpers {
private KryoHelpers() {}

Expand Down
39 changes: 8 additions & 31 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,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"
Expand Down Expand Up @@ -349,6 +349,13 @@ project(':iceberg-core') {
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}

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

testImplementation libs.jetty.servlet
testImplementation libs.jetty.server
testImplementation libs.mockserver.netty
Expand All @@ -366,7 +373,6 @@ project(':iceberg-data') {
implementation project(path: ':iceberg-bundled-guava', configuration: 'shadow')
api project(':iceberg-api')
implementation project(':iceberg-core')
compileOnly project(':iceberg-parquet')
compileOnly project(':iceberg-orc')
compileOnly(libs.hadoop2.common) {
exclude group: 'commons-beanutils'
Expand Down Expand Up @@ -555,7 +561,6 @@ project(':iceberg-delta-lake') {
api project(':iceberg-api')
implementation project(':iceberg-common')
implementation project(':iceberg-core')
implementation project(':iceberg-parquet')
implementation platform(libs.jackson.bom)
implementation "com.fasterxml.jackson.core:jackson-databind"
annotationProcessor libs.immutables.value
Expand Down Expand Up @@ -761,32 +766,6 @@ project(':iceberg-orc') {
}
}

project(':iceberg-parquet') {
test {
useJUnitPlatform()
}
dependencies {
implementation project(path: ':iceberg-bundled-guava', configuration: 'shadow')
api project(':iceberg-api')
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'
}

testImplementation project(path: ':iceberg-core', configuration: 'testArtifacts')
}
}

project(':iceberg-arrow') {
test {
useJUnitPlatform()
Expand All @@ -795,7 +774,6 @@ project(':iceberg-arrow') {
implementation project(path: ':iceberg-bundled-guava', configuration: 'shadow')
api project(':iceberg-api')
implementation project(':iceberg-core')
implementation project(':iceberg-parquet')

implementation(libs.arrow.vector) {
exclude group: 'io.netty', module: 'netty-buffer'
Expand Down Expand Up @@ -837,7 +815,6 @@ project(':iceberg-pig') {
api project(':iceberg-api')
implementation project(':iceberg-common')
implementation project(':iceberg-core')
implementation project(':iceberg-parquet')

implementation(libs.parquet.avro) {
exclude group: 'org.apache.avro', module: 'avro'
Expand Down
Loading