aelij / IgnoresAccessChecksToGenerator

Generates reference assemblies where all the internal types & members become public, and applies the IgnoresAccessChecksTo attribute
MIT License
167 stars 21 forks source link

Incremental build issues with IgnoresAccessChecksTo.cs #16

Closed KirillOsenkov closed 10 months ago

KirillOsenkov commented 1 year ago

Looks like IgnoresAccessChecksTo.cs is being written to every time, even if the file already exists and the contents is identical: https://github.com/aelij/IgnoresAccessChecksToGenerator/blob/9944e7715ae367a6a1a4a59359fbe0cedd7e579d/src/IgnoresAccessChecksToGenerator.Tasks/PublicizeInternals.cs#L113C50-L113C50

Would it make sense to check the file for existence first, and if it exists, read the text, and compare, and write only if different?

I'm seeing projects build every time because the input IgnoresAccessChecksTo.cs was written later than any of the outputs.

aelij commented 10 months ago

@KirillOsenkov this should be fixed in version 0.7.0. Please let me know if it works.