NF.Tool.ReleaseNoteMaker

์‹œ์ž‘ํ•˜๋ฉฐ

๊ธฐ๋ก

  • ๋ Œ๋”ํ…œํ”Œ๋ฆฟ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ ํƒ

    • towncrier๋Š” Jinja2
    • liquid / razor / t4
      • ๋””๋ฒ„๊น… ๊ฐ€๋Šฅํ•œ๊ฑธ๋กœ
      • mono t4 ๋””๋ฒ„๊น… ๊ฝค ๊ดœ์ฐฎ๋„ค, ๊ทผ๋ฐ string๋„˜๊ธฐ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ filepath๋ผ ์ฐ์ฐ
  • AnsiConsole

    • public override string StackTrace { get; } ์•ˆ๋จนํžˆ๋Š”๊ฒƒ.
    • stderr AnsiConsole ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ๊ณ 
    • MultiSelectionPrompt ํ•ด์„œ ํ‚ค๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์บ”์Šฌ ๋„ฃ๊ณ ์‹ถ์—ˆ๋Š”๋ฐ ์บ”์Šฌ์ด ์—†๋„ค?
    • ์ตœ๋Œ€๊ธธ์ด
      • AnsiConsole.Profile.Width = 255;
  • towncrier

    • ๋‹ค์ด๋‚˜๋ฏน ์–ธ์–ด ํƒ€์ž… ๋ฐ ๋„ค์ด๋ฐ ๋ฌธ์ œ - ์ €์ชฝ ์„ธ์ƒ ๋„ค์ด๋ฐ ์„ผ์Šค ๋ง˜์— ์•ˆ๋“ฌ.
  • assemblyLocation empty

    • <IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
    • ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ชจ๋“  ์ฝ˜ํ…์ธ  ํŒŒ์ผ(์˜ˆ: DLL, ๊ตฌ์„ฑ ํŒŒ์ผ, ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ๋“ฑ)์ด ์‹คํ–‰ ํŒŒ์ผ ๋‚ด์— ํฌํ•จ๋˜์–ด ์‹คํ–‰ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ถ”์ถœ๋˜๊ณ  ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
    • https://learn.microsoft.com/en-us/dotnet/core/deploying/single-file/overview?tabs=cli
  • PatchNoteMaker ํ–ˆ๋Š”๋ฐ... ReleaseNoteMaker ๋„ ์žˆ๋Š”๋ฐ...

    • PatchNoteMakerํ–ˆ๋‹ค๊ฐ€ ์ตœ์ข…์ ์œผ๋กœ ReleaseNoteMaker๋กœ ๊ฒฐ์ •.
  • Tomlyn ์‚ฌ์šฉ๋ฒ•

    • array๋ฅผ ํ‚ค๋ฅผ ์ง€์ •ํ•ด์„œ dic์œผ๋กœ ๋„ฃ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฉด ์ข‹์„๊ฒƒ๊ฐ™์€๋ฐ...
  • ์ง‘ํ•ฉ์—ฐ์‚ฐ ๊นŒ๋จน๋„ค

  • public void Deconstruct(out string fname, out string lname)

  • ๊ตฌ์กฐ์ฒด ์ƒ์„ฑ์ž ๋ฐฉ์ง€

    • public ObsoleteAttribute(string? message, bool error)
      • throw new InvalidOperationException
  • line ending ๋ฌธ์ œ

  • TestInitialize/TestCleanup/DeploymentItem/TestMethod

    • DeploymentItem๋“ค์ด TestInitialize๋ณด๋‹ค ๋จผ์ € ์‹คํ–‰๋˜๋Š”๋ฐ ๋ง‰์ƒ TestContext.DeploymentDirectory๋Š” ๋™์ผํ•ด์„œ ํŒŒ์ผ์กฐ์ž‘ ํ…Œ์ŠคํŠธ๋Š” ์˜ค์ž‘๋™์„ ์ผ์œผํ‚ฌ ๊ฐ€๋Šฅ์„ฑ์ด ์ƒ๊น€.
    • public required TestContext TestContext { get; set; } ๋กœ ๊ฐ€์ ธ์™€์„œ ์‹œ์ž‘์‹œ ํด๋”์ด๋™.
  • liquid

    • fluid / scriban / dotliquid
    • liquid๋ฅผ ์ง€์›ํ–ˆ์œผ๋‚˜ whitespace๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๊ณ  fluid์—์„œ class์˜ methodํ˜ธ์ถœ์ด ์•ˆ๋˜์—ˆ๋‹ค.
      • ์•ˆ๋˜์„œ {%- assign categoryIssues = category.GetAllIssues() -%}
      • ์ด๋ ‡๊ฒŒ ํ•จ {%- assign categoryIssues = category.CategoryIssues -%}
  • docfx

> [!NOTE]
> Information the user should notice even if skimming.

์žก๋‹คํ•œ