Skip to content

Build on Gradle 8.14.3 and adopt the Cinchapi BOM - #1

Open
jtnelson wants to merge 4 commits into
masterfrom
feature/upgrade-accent4j-1-18-4
Open

jtnelson wants to merge 4 commits into
masterfrom
feature/upgrade-accent4j-1-18-4

Conversation

@jtnelson

@jtnelson jtnelson commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

Summary

data-extract-api builds with Gradle 4.0.1, which predates platform(), so it can't import the shared Cinchapi BOM, and CircleCI no longer runs its version: 2 config, so pull requests get no build. This moves the build to Gradle 8.14.3, imports com.cinchapi:cinchapi-bom:1.0.0, runs CircleCI on config version 2.1 and adds the Cinchapi formatter, so the dependency updater can enroll the repo.

Changes

  • Gradle 8.14.3. The wrapper moves from 4.0.1 to 8.14.3. compile and testCompile become api, implementation and testImplementation. Only the BOM is api: no dependency type appears in the public API. The maven plugin is gone; maven-publish already published to Cloudsmith and keeps the same repositories and credentials. classifier becomes archiveClassifier, and the publishing block moves below the jars it publishes, because Gradle 8 no longer defers it.
  • Cinchapi BOM. The build imports the BOM through api and declares accent4j, Guava and JUnit without versions, so it builds against accent4j 1.18.4, Guava 33.5.0-jre and JUnit 4.13.2. That replaces the explicit accent4j 1.18.4 this PR started with. The rule that excludes Guava from other dependencies now applies to implementation. The published POM imports the BOM.
  • Java 8. The classes still target Java 8, and CI builds on JDK 8. When a newer JDK runs the build, options.release = 8 keeps that target.
  • CircleCI 2.1. The config follows lib-interpolation's: setup, compile, test, test-java21 and publish jobs on cimg/openjdk:8.0.322 and cimg/openjdk:21.0, with the cloudsmith-creds context on every Gradle job.
  • Cinchapi formatter, in its own commit. The last commit adds Spotless with java-starter-kit's Eclipse profile and import order and reformats no files, because the sources already match the profile. Spotless needs Java 17, so the build applies it only when Gradle runs on Java 17 or later (./gradlew spotlessApply with a JDK 17+ JAVA_HOME). CI builds on Java 8 and does not check formatting, like relay-server and cinchapi-server. Copyright headers stay as they are: the profile's header-comment formatting is off, and there is no license-header step, which would replace each file's header with the starter kit's.

Publishing

Unchanged: every branch publishes after its tests pass, master to platform and every other branch to platform-snapshots; this branch published 1.0.1-FEATURE-UPGRADE-ACCENT4J-1-18-4. A merge to master publishes data-extract-api 1.0.1 to platform, where 1.0.1 already exists (from 2021). The repository replaces packages by default, so the merge would overwrite that release with this build.

For you to decide

  • Bump .version before merging, or accept that the merge overwrites 1.0.1 on platform. .version is unchanged here.

Notes

jtnelson and others added 4 commits October 31, 2026 19:32
Move the wrapper from Gradle 4.0.1 to 8.14.3 and replace the APIs that Gradle
removed. Import com.cinchapi:cinchapi-bom:1.0.0 so the BOM supplies accent4j,
Guava and JUnit. Run CircleCI on config version 2.1, with tests on Java 8 and
Java 21.
Add Spotless with the Cinchapi Eclipse profile and import order from
java-starter-kit. Spotless needs Java 17, so the build applies it only when
Gradle runs on Java 17 or later; this build still runs on Java 8. The profile
leaves header comments alone and there is no license header step, so every
file keeps its copyright header. The sources already match the profile, so no
file changes (0 of 2 Java files reformatted).
@jtnelson jtnelson changed the title Upgrade accent4j to 1.18.4 Build on Gradle 8.14.3 and adopt the Cinchapi BOM Nov 1, 2026
@jtnelson
jtnelson marked this pull request as ready for review November 1, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant