Skip to content

Commit e9179b2

Browse files
devlooped-botkzu
authored andcommitted
⬆️ Bump files with dotnet-file sync
# devlooped/SponsorLink - Make sure to reference NS2.0 analyzers for tests debugging devlooped/SponsorLink@df44ccc - Allow getting sponsors options for non-incremental generator devlooped/SponsorLink@3f72a9f
1 parent 6393427 commit e9179b2

File tree

3 files changed

+25
-6
lines changed

3 files changed

+25
-6
lines changed

.netconfig

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,8 @@
211211
weak
212212
[file "src/SponsorLink/SponsorLink/SponsorLink.cs"]
213213
url = https://github.com/devlooped/SponsorLink/blob/main/samples/dotnet/SponsorLink/SponsorLink.cs
214-
sha = efda32a6eaaeffa485fb480e31adfd2f8130bd48
215-
etag = 555128f4279241225b4dc8bb2ec8835894edfe9f6b9223399ee8cb3dc7adaf06
214+
sha = 3f72a9fd35274a659dd380a7d5b747d71b9732a1
215+
etag = 616598e0ecb6d2ce97660aa6ac049e2a31a1c953669743b7b612b61d40c37706
216216
weak
217217
[file "src/SponsorLink/SponsorLink/SponsorLink.csproj"]
218218
url = https://github.com/devlooped/SponsorLink/blob/main/samples/dotnet/SponsorLink/SponsorLink.csproj
@@ -356,8 +356,8 @@
356356
weak
357357
[file "src/SponsorLink/SponsorLink.Analyzer.Tests.targets"]
358358
url = https://github.com/devlooped/SponsorLink/blob/main/samples/dotnet/SponsorLink.Analyzer.Tests.targets
359-
sha = fb82cf346cea86140a51ae49b9bc730d72f7c7ac
360-
etag = 9944d7fe502d162aa06f6af00c027ece18ad10b595eb37a403fc42dfbbbac93c
359+
sha = df44ccc14cc11b5674c55aca9ba8596bdbcf8438
360+
etag = a3e9cbcc227dd56a7bed236eaded136f1b80f9f36a4fabce8be695ee844bf881
361361
weak
362362
[file "src/SponsorLink/SponsorLink/Resources.es-AR.resx"]
363363
url = https://github.com/devlooped/SponsorLink/blob/main/samples/dotnet/SponsorLink/Resources.es-AR.resx

src/SponsorLink/SponsorLink.Analyzer.Tests.targets

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,29 @@
2121
<ReferenceCopyLocalAssemblies Include="@(ReferenceCopyLocalPaths)" Condition="'%(Extension)' == '.dll'
2222
And !$([MSBuild]::ValueOrDefault('%(FileName)', '').EndsWith('.resources', StringComparison.OrdinalIgnoreCase))
2323
And !$([MSBuild]::ValueOrDefault('%(FileName)', '').StartsWith('ThisAssembly', StringComparison.OrdinalIgnoreCase))" />
24-
<Analyzer Include="@(ReferenceCopyLocalAssemblies)" Condition="
24+
25+
<CandidateAnalyzer Include="@(ReferenceCopyLocalAssemblies)" Condition="
2526
!$([MSBuild]::ValueOrDefault('%(FileName)', '').StartsWith('Microsoft.CodeAnalysis', StringComparison.OrdinalIgnoreCase)) And
2627
!$([MSBuild]::ValueOrDefault('%(FileName)', '').StartsWith('Microsoft.CSharp', StringComparison.OrdinalIgnoreCase)) And
2728
!$([MSBuild]::ValueOrDefault('%(FileName)', '').StartsWith('System.', StringComparison.OrdinalIgnoreCase))"
2829
/>
2930
<!-- Brings in System/Microsoft.IdentityModel, System.Text.Encodings.Web, System.Text.Json, Humanizer -->
30-
<Analyzer Include="@(ReferenceCopyLocalAssemblies)" Condition="
31+
<CandidateAnalyzer Include="@(ReferenceCopyLocalAssemblies)" Condition="
3132
$([MSBuild]::ValueOrDefault('%(FileName)', '').StartsWith('System.IdentityModel', StringComparison.OrdinalIgnoreCase)) Or
3233
$([MSBuild]::ValueOrDefault('%(FileName)', '').StartsWith('Microsoft.IdentityModel', StringComparison.OrdinalIgnoreCase)) Or
3334
$([MSBuild]::ValueOrDefault('%(FileName)', '').StartsWith('System.Text', StringComparison.OrdinalIgnoreCase)) Or
3435
$([MSBuild]::ValueOrDefault('%(FileName)', '').StartsWith('Humanizer', StringComparison.OrdinalIgnoreCase))"
3536
/>
3637
</ItemGroup>
38+
39+
<ItemGroup>
40+
<UniqueCandidateAnalyzer Include="@(CandidateAnalyzer -> Distinct())" />
41+
<UniqueCandidateAnalyzer>
42+
<NetStandard>$([MSBuild]::ValueOrDefault('%(FullPath)', '').Replace('net6.0', 'netstandard2.0').Replace('net8.0', 'netstandard2.0').Replace('netcoreapp3.1', 'netstandard2.0'))</NetStandard>
43+
</UniqueCandidateAnalyzer>
44+
<!-- Analyzer assemblies cannot target anything other than NS2.0 -->
45+
<Analyzer Include="@(UniqueCandidateAnalyzer -> '%(NetStandard)')" Condition="Exists('%(UniqueCandidateAnalyzer.NetStandard)')"/>
46+
</ItemGroup>
3747
</Target>
3848

3949
</Project>

src/SponsorLink/SponsorLink/SponsorLink.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,15 @@ public static IncrementalValueProvider<StatusOptions> GetStatusOptions(this Incr
107107
=> context.GetSponsorAdditionalFiles().Combine(context.AnalyzerConfigOptionsProvider)
108108
.Select((source, _) => new StatusOptions(source.Left, source.Right.GlobalOptions));
109109

110+
/// <summary>
111+
/// Gets the status options for use within a source generator, to avoid depending on
112+
/// analyzer runs. Used in combination with <see cref="DiagnosticsManager.GetOrSetStatus(StatusOptions)"/>.
113+
/// </summary>
114+
public static StatusOptions GetStatusOptions(this GeneratorExecutionContext context)
115+
=> new StatusOptions(
116+
context.AdditionalFiles.Where(x => x.IsSponsorManifest(context.AnalyzerConfigOptions) || x.IsSponsorableAnalyzer(context.AnalyzerConfigOptions)).ToImmutableArray(),
117+
context.AnalyzerConfigOptions.GlobalOptions);
118+
110119
static bool IsSponsorManifest(this AdditionalText text, AnalyzerConfigOptionsProvider provider)
111120
=> provider.GetOptions(text).TryGetValue("build_metadata.SponsorManifest.ItemType", out var itemType) &&
112121
itemType == "SponsorManifest" &&

0 commit comments

Comments
 (0)