Skip to content

Commit dc4d48c

Browse files
committed
Core: Use Immutables for TableMetadata
The motivation for this change is * `TableMetadata` is truly immutable * we get a Builder for free, which allows easy creation of new `TableMetadata` instances
1 parent 3b2c32d commit dc4d48c

File tree

6 files changed

+447
-347
lines changed

6 files changed

+447
-347
lines changed

baseline.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ subprojects {
6363
pluginManager.withPlugin('com.palantir.baseline-error-prone') {
6464
tasks.withType(JavaCompile).configureEach {
6565
options.errorprone.errorproneArgs.addAll (
66-
// error-prone is slow, don't run on tests and generated src
67-
'-XepExcludedPaths:.*/(test|generated-src)/.*',
66+
// error-prone is slow, don't run on tests/generated-src/generated
67+
'-XepExcludedPaths:.*/(test|generated-src|generated)/.*',
6868
// specific to Palantir
6969
'-Xep:ConsistentLoggerName:OFF', // Uses name `log` but we use name `LOG`
7070
'-Xep:FinalClass:OFF',

build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ project(':iceberg-common') {
204204

205205
project(':iceberg-core') {
206206
dependencies {
207+
annotationProcessor "org.immutables:value"
207208
api project(':iceberg-api')
208209
implementation project(':iceberg-common')
209210
implementation project(path: ':iceberg-bundled-guava', configuration: 'shadow')
@@ -212,6 +213,7 @@ project(':iceberg-core') {
212213
exclude group: 'org.tukaani' // xz compression is not supported
213214
}
214215

216+
implementation "org.immutables:value"
215217
implementation "com.fasterxml.jackson.core:jackson-databind"
216218
implementation "com.fasterxml.jackson.core:jackson-core"
217219
implementation "com.github.ben-manes.caffeine:caffeine"

0 commit comments

Comments
 (0)