Skip to content

sbt's handling of javac errors differs between running locally and forked. #2228

@baroquebobcat

Description

@baroquebobcat

We ran into this when javac's encoding had been accidentally defaulted to ascii. We have a java file with a comment containing utf-8 characters. When sbt compiles with a forked javac, it fails to compile. When sbt compiles with a local javac it compiles successfully, but prints the errors from javac as errors.

This is confusing because users expect compiler errors to cause a compilation failure.

The thing that's interesting is that it fails to compile as expected both locally and forked when the utf-8 character is in a char literal or a string literal.

I was able to verify this with the source version of sbt on the 0.13 branch with a change to JavaCompilerSpec, but I'm not sure how to approach fixing it.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions