Skip to content

[2.x] fix: Use strict matching for scala-library jar detection#8507

Merged
eed3si9n merged 1 commit intosbt:developfrom
MkDev11:fix/scala-library-substring-match-7511
Jan 13, 2026
Merged

[2.x] fix: Use strict matching for scala-library jar detection#8507
eed3si9n merged 1 commit intosbt:developfrom
MkDev11:fix/scala-library-substring-match-7511

Conversation

@MkDev11
Copy link
Copy Markdown
Contributor

@MkDev11 MkDev11 commented Jan 13, 2026

Fix: Strict matching for scala-library jar detection

Problem

If you name your library something like my-scala-library-utils, sbt won't be able to find it at compile time. The build fails with cryptic "object not found" errors even though the jar is clearly downloaded and present.

This happens because sbt uses name.contains("scala-library") to detect the Scala standard library jar. Any jar with "scala-library" anywhere in its filename gets misclassified and filtered into a special classloader layer meant only for the actual Scala stdlib.

The Fix

Changed from substring matching to strict matching:

// Before (buggy):
name.contains("scala-library")

// After:
name == "scala-library.jar" || name.startsWith("scala-library-")

This matches the pattern already used for scala-reflect detection in the same file

Fixes #7511


Contribution by Gittensor, see my contribution statistics at https://gittensor.io/miners/details?githubId=94194147

Fixes sbt#7511

The previous check used contains("scala-library") which incorrectly
matched any jar with that substring anywhere in the filename, causing
user libraries named like "my-scala-library-foo" to be misclassified
as the Scala standard library and filtered from the classpath.

Changed to use exact match (scala-library.jar) or prefix match
(scala-library-*) to only match the actual Scala library jars,
consistent with how scala-reflect is detected on line 199.
@MkDev11
Copy link
Copy Markdown
Contributor Author

MkDev11 commented Jan 13, 2026

All passed! please review the changes and approve it. thanks.

@eed3si9n eed3si9n changed the title fix: Use strict matching for scala-library jar detection [2.x] fix: Use strict matching for scala-library jar detection Jan 13, 2026
@eed3si9n eed3si9n merged commit f2a5ae7 into sbt:develop Jan 13, 2026
14 checks passed
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.

Packages including "scala-library" in its name cannot be imported by other projects.

2 participants