-
Notifications
You must be signed in to change notification settings - Fork 656
Support C# format strings in config #4605
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
f192c56
to
92fa63f
Compare
please rebase and resolve the conflicts |
92fa63f
to
9a18634
Compare
9a18634
to
e7652ec
Compare
e7652ec
to
16f557c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work! ❤️
using System.Text.RegularExpressions; | ||
using GitVersion.Core; | ||
using GitVersion.Formatting; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The type or namespace name 'Formatting' does not exist in the namespace 'GitVersion' (are you missing an assembly reference?)
Unclear what's gone wrong here. Clearly that's what the PR introduces and VS is happy. Is there something in the pipeline to prevent unapproved namespace additions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Weird. Not that I know of. @arturcic, do you have an idea?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Twigged what was going on. Needed to link added files in Common.csproj.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's still something messed up in the pipeline though. Now CI's not happy with the Common.csproj.
- If I only add the 1 line needed and keep 2-space indent consistent then I get a single whole-file conflict,
- if I reformat the whole file to 4-space indent to align with what the CI expected to avoid the "conflict" then I get 3 conflicts in the same file.
Really don't see what would make CI happy, so have reverted back to minimal delta of not changing the indent irrespective of what CI expects. When you eyeball the "Resolve conflict" let me know if there's something I need to do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's still something messed up in the pipeline though. Now CI's not happy with the Common.csproj.
- If I only add the 1 line needed and keep 2-space indent consistent then I get a single whole-file conflict,
- if I reformat the whole file to 4-space indent to align with what the CI expected to avoid the "conflict" then I get 3 conflicts in the same file.
Really don't see what would make CI happy, so have reverted back to minimal delta of not changing the indent irrespective of what CI expects. When you eyeball the "Resolve conflict" let me know if there's something I need to do?
I probably missed it, but what's the reason for another csproj? Why not in the Core?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't add the csproj, I just added one line but something odd's going on in the pipeline. I added 1 line keeping true to the 2 space indent, but the CI pipe detects a conflict expecting everything to be 4 space indent (which isn't what the current check in is at all). Doesn't make sense, it's as if the prior file is being formatted and changed to 4 space indent BEFORE determining if there's a conflict.
3e5bf0e
to
65a39f5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Besides the build failure, this is looking really good! The only missing part is documentation.
65a39f5
to
c7fbede
Compare
c7fbede
to
646a634
Compare
d8b08a6
to
53547ee
Compare
53547ee
to
625c32f
Compare
@9swampy if you don't mind I'll have a review of this in 2 weeks time as I'm on vacation. I need to understand it a bit in detail the changes as there is a chance we will need to maintain these changes. |
Can I also suggest adding some tests that use the zero-suppression syntax so that we can get versions without a commits number e.g.
|
0c3e0c0
to
f0e2983
Compare
Description
Support C# format strings in config
Related Issue
Fixes #4156
Motivation and Context
#4156
How Has This Been Tested?
I've implemented a number of formatters and added scenario coverage for implementation but a 4-eyes verification and feedback on appropriateness of scenarios included (or not) would be welcome. The specific scenrio noted on the wish-issue tested here and here.
I've an aversion to Helper classes but that's where I've dropped all this as an extension of the original StringFormatWith but please redirect if it should live elsewhere (or just needs some structure).
Screenshots (if appropriate):
Checklist: