build: consume the Scala 3 cross-built lift-persistence (v1.0.6) - #100
Open
hongwei1 wants to merge 3 commits into
Open
build: consume the Scala 3 cross-built lift-persistence (v1.0.6)#100hongwei1 wants to merge 3 commits into
hongwei1 wants to merge 3 commits into
Conversation
The previous commit pointed the three lift-persistence coordinates at net.liftweb:lift-persistence_2.13:3.5.0-lift-persistence-dev-20260903, which only ever existed in a local ~/.m2 — no declared repository serves it, so the build was unresolvable anywhere else. Point them back at the JitPack mechanism already declared in pom.xml, using the fork that carries the Scala 3 cross-build: com.github.hongwei1.lift-persistence:lift-persistence_2.13:v1.0.6. Verified against an empty local repository: all three published artifacts (_2.12, _2.13, _3) resolve from https://jitpack.io.
v1.0.6's Scala 3 FieldFinder over-matched: it accepted any accessor whose return type was a mapped field type, not only real object/val fields, which corrupted field discovery for entities with a plain forwarding accessor alongside the real field. v1.0.7 fixes this (hongwei1/lift-persistence#2). scala.version is unchanged.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



What this is — and what it is not
This does not move OBP-API to Scala 3.
<scala.version>stays2.13and<scala.compiler>stays2.13.18; not one source file changes.What it does is verify the other half of the question: now that lift-persistence has
grown a Scala 3 cross-build, is its existing 2.13 consumer still intact? OBP-API is
that consumer, and this branch is the experiment — build it, run the full suite, and
see whether anything moved.
Companion PR: hongwei1/lift-persistence#2.
The change
Three
<groupId>entries plus<lift.version>:net.liftwebcom.github.hongwei1.lift-persistence3.5.0-lift-persistence-dev-20260903v1.0.6The first commit on this branch had pointed these at
net.liftweb:...:3.5.0-lift-persistence-dev-20260903.That coordinate only ever existed in one developer's
~/.m2— no declared repositoryserves it, so the build was unresolvable on CI or on any other machine. The second
commit puts it back on the JitPack mechanism
pom.xmlalready declares (the same onecom.github.OpenBankProject.lift-persistence:v1.0.5used), pointed at the fork thatcarries the Scala 3 cross-build.
Resolution verified against an empty local Maven repository, so this is not a
warm-cache illusion:
_2.12,_2.13and_3all download fromhttps://jitpack.io.OBP-API consumes
_2.13.Reviewer note — the run-script environment variables
The first commit also adds
OBP_*environment variables torun_tests_parallel.shand both
flushall_*_build_and_run.shscripts, with no explanation in its message.They are not required by the dependency change and are best read as a separate
concern:
run_tests_parallel.share a one-to-one mirror of theprops that CI's Setup props step appends to
test.default.props(
.github/workflows/build_pull_request.yml) —allow_sandbox_data_import,transactionRequests_enabled,allow_public_views,consents.allowed,berlin_group_v1_3_alias_path,allowed_internal_redirect_urls,ResetPasswordUrlEnabledand the six*_OTP_INSTRUCTION_TRANSPORTentries.test.default.propsis gitignored, so it does not exist in a fresh checkout orworktree. Without those variables the local parallel runner has no props at all.
run_tests_parallel.shalready documents this exact mechanism in its own header("Setup props step writes test.default.props → missing critical props injected
via
OBP_*env vars"), so the commit extends a pre-existing design rather thaninventing one.
flushall_*additions are the same idea for the runtime server rather than thetest suite (
connector,hostname,starConnector_supported_types,OBP_API_INSTANCE_ID), covering the equally-gitignoreddefault.props.They are a real improvement to the local harness and they change no CI behaviour, but
they are orthogonal to the coordinate switch and would be clearer as their own commit,
e.g.
test: let the local parallel runner supply CI props itself. Flagging ratherthan rewriting history, since the first commit is already pushed.
One further unexplained edit in the same commit: the
scala-compilerdependency blockin
obp-api/pom.xmlis moved from the end of the dependency list to just afterlift-persistence. It is a pure reorder with no version change, but dependency order is
classpath order, so it is worth a second pair of eyes.
Verification
mvn test-compileclean againstv1.0.6.run_tests_parallel.sh(complete suite list — a single suite onits own aborts).
sbt +testis green on all three Scala versions with identicalcounts (406 examples / 24 specifications / 0 failures on each), so the Scala 3 work
did not disturb the 2.13 sources this module actually consumes.