apache / apache/maven-mvnd

encoding confusion in "Total concurrency" output

Open
#1,113 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
3.5k
Forks
250
Avg merge
16h 22m
Merged PRs (30d)
36

Description

I run Windows, with my terminal using code page 437 (which I believe is a default for Western European setups). I use Java 21 for all things Maven. The total concurrency output line looks broken for me, because it uses UTF-8 encoding for the character C2A0 (non breaking space) between the number and the percent sign:
![grafik](https://github.com/user-attachments/assets/b0353e3f-0e5f-41a8-a971-ca6303232f50)
Switching my terminal to codepage 65001 makes that line render correctly.

While UTF-8 is meanwhile the default for modern Java versions, shouldn't the output be converted to whatever the running terminal uses?

The code creating the output initially is in the smartbuilder over at https://github.com/takari/takari-smart-builder/blob/3cf2c99f4f9caa65e505917ca6864c8a6bb9fa59/src/main/java/io/takari/maven/builder/smart/SmartBuilder.java#L160C38-L160C56

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at SmartBuilder.java around line 160, where the total concurrency output is created, and reproduce the output on Windows with terminal code pages 437 and 65001 using Java 21. Check how the non-breaking space between the number and percent sign is emitted. Done means the line renders correctly for the terminal encoding without breaking the existing output.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.