Use invariant locale when capitalizing Gradle task names #1644
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 I have done and why
When copying the badging code from this project, we noticed during code review that the
String.capitalized()
extension function uses the default locale. However, it is undesirable for the user's locale to be used when capitalizing (English) Gradle task names. It mostly works fine, but will e.g. capitalizeinstall
toİnstall
(dotted i) whenLocale.getDefault()
returns the Turkish locale.This PR changes the code to use the invariant locale instead.
History
Capitalization for badging task names was added in #1009. The code used an (internal) extension function from Gradle that also contained this bug.
When the Gradle function was deprecated, the functionality was included in this repository via #1547.
The deprecated function in Gradle has since been fixed and is identical to the one in this PR.