Skip to content

Move joda separate module#710

Open
gaeljw wants to merge 3 commits into
mainfrom
move-joda-separate-module
Open

Move joda separate module#710
gaeljw wants to merge 3 commits into
mainfrom
move-joda-separate-module

Conversation

@gaeljw
Copy link
Copy Markdown
Member

@gaeljw gaeljw commented May 15, 2026

Pull Request Checklist

Fixes

Fixes #688 ; built on top of #708 (review only the 3rd commit)

Purpose

Move Joda support in dedicated separate module so that Anorm core doesn't transitively pull Joda which is considered obsolete/legacy/deprecated (java.time should be used instead).

Additional notes

Users that need Joda will need to use the following:

// Add dependency: "org.playframework.anorm" %% "anorm-joda" % "..."
import anorm.JodaColumn._           // for Column[DateTime] etc.
import anorm.JodaToStatement._      // for ToStatement[DateTime] etc.
import anorm.JodaParameterMetaData._ // for ParameterMetaData[DateTime] etc.

@gaeljw gaeljw self-assigned this May 15, 2026
@gaeljw gaeljw added this to the 3.x milestone May 15, 2026
@gaeljw gaeljw requested review from Copilot and mkurz May 15, 2026 13:56
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures Anorm to avoid pulling the legacy Joda-Time dependency transitively from the core artifact by moving Joda support into a dedicated anorm-joda module. In the process, it also updates build/CI baselines (Scala/Java) and removes the deprecated Iteratees integration module and related docs.

Changes:

  • Move Joda Column and ToStatement / ParameterMetaData implicits out of anorm-core into a new anorm-joda module.
  • Remove the anorm-iteratee subproject and delete the Iteratees API/docs section.
  • Update build/CI baselines (Scala 2.13/3 only; Java 17 release target and GitHub Actions Java 17).

Reviewed changes

Copilot reviewed 13 out of 17 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
project/Common.scala Updates Scala cross-build matrix and compiler -release target to Java 17.
build.sbt Removes Joda deps from core, adds anorm-joda module, removes anorm-iteratee, updates MiMa filters and dependencies.
core/src/main/scala/anorm/ToStatementMisc.scala Removes Joda ToStatement implicits from core conversions.
core/src/main/scala/anorm/Column.scala Removes Joda column implicits from core Column companion.
core/src/main/scala/anorm/Compat.scala Introduces unified internal compat helpers (replacing version-split Compat).
core/src/main/scala-2.13-/Compat.scala Removes legacy Scala-2.12-specific compat implementation.
joda/src/main/scala/anorm/JodaColumn.scala Adds Joda Column implicits in the new module.
joda/src/main/scala/anorm/JodaToStatement.scala Adds Joda ToStatement and ParameterMetaData implicits in the new module.
docs/manual/working/scalaGuide/main/sql/ScalaAnorm.md Removes Iteratees section from Scala docs.
iteratee/src/main/scala/anorm/Iteratees.scala Deletes Iteratees API implementation (module removed).
iteratee/src/test/scala/anorm/IterateeSpec.scala Deletes Iteratees tests (module removed).
akka/src/test/scala/anorm/AkkaCompat.scala Consolidates test compat shim into common test sources.
akka/src/test/scala-2.13-/AkkaCompat.scala Removes Scala-2.12-only test compat shim.
pekko/src/test/scala/anorm/PekkoCompat.scala Consolidates test compat shim into common test sources.
pekko/src/test/scala-2.13-/PekkoCompat.scala Removes Scala-2.12-only test compat shim.
.github/workflows/build-test.yml Updates CI matrix to Java 17 and drops Scala 2.12 runs.
.github/workflows/publish.yml Updates publish workflow to Java 17.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread project/Common.scala
Comment thread joda/src/main/scala/anorm/JodaColumn.scala
Comment thread joda/src/main/scala/anorm/JodaToStatement.scala
Comment thread docs/manual/working/scalaGuide/main/sql/ScalaAnorm.md
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.

Move Joda support in a dedicated module (or drop it)

2 participants