Skip to content

Migrate to sbt-typelevel, cross-publish for JVM/JS/Native - #1

Merged
kubukoz merged 3 commits into
mainfrom
sbt-typelevel
Sep 25, 2026
Merged

kubukoz merged 3 commits into
mainfrom
sbt-typelevel

Conversation

@kubukoz

@kubukoz kubukoz commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Replaces the scala-cli build (project.scala) with an sbt-typelevel build modelled on webauthn4s.

  • A single core crossProject (CrossType.Pure) for JVM, JS and Native, published as org.polyvariant::jev4s. All deps (hearth, kindlings, http4s, circe, cats) are published for all three platforms. hearth-cross-quotes is wired in via addCompilerPlugin.
  • Sources moved to core/src/{main,test}/scala, license headers added, and formatting applied with the same .scalafmt.conf as webauthn4s.
  • Generated ci.yml/clean.yml and .mergify.yml; the publish job runs on main and v* tags.
  • Scala stays on 3.9.0, with -no-indent -Wunused:all. The build and CI use Java 17, since the Scala 3.9 compiler doesn't run on 11.

Verification

Tests pass on JVM, JS and Native, both locally and in CI.

I ran the publish job once from this branch using a temporary commit, since removed. Every step before Publish succeeded. Publish failed as expected: the Sonatype credentials are empty and there's no GPG key (gpg: no default secret key), so the upload was rejected.

Known failure while the repo is private

  • Publish Artifacts: needs SONATYPE_USERNAME, SONATYPE_PASSWORD, PGP_SECRET and PGP_PASSPHRASE.

🤖 Generated with Claude Code

kubukoz and others added 3 commits September 26, 2026 00:09
Replace the scala-cli project.scala with an sbt build modelled on
webauthn4s: a single core crossProject (CrossType.Pure) published as
org.polyvariant::jev4s for all three platforms, generated CI and
mergify config, scalafmt, license headers and scala-steward config.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kubukoz
kubukoz merged commit 8ca4d15 into main Sep 25, 2026
20 of 21 checks passed
@kubukoz
kubukoz deleted the sbt-typelevel branch September 25, 2026 23:11
@mergify mergify Bot added the core label Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant