|
1 | 1 | <Project>
|
2 | 2 | <Import Project="$(SourceBuildPackageVersionPropsPath)" Condition="'$(SourceBuildPackageVersionPropsPath)' != ''" />
|
3 |
| - <PropertyGroup> |
4 |
| - <!-- |
5 |
| - Binaries that need to be executable during source build are restricted to versions available within source build. |
6 |
| - This section defines executable versions of packages which are referenced via lower-version reference assemblies |
7 |
| - during the build. |
8 |
| - --> |
9 |
| - <SystemCollectionsImmutableExecutableVersion>$(SystemCollectionsImmutableVersion)</SystemCollectionsImmutableExecutableVersion> |
10 |
| - <SystemCollectionsImmutableExecutableVersion Condition="'$(SystemCollectionsImmutableExecutableVersion)' == ''">5.0.0</SystemCollectionsImmutableExecutableVersion> |
11 |
| - <SystemReflectionMetadataExecutableVersion>$(SystemReflectionMetadataVersion)</SystemReflectionMetadataExecutableVersion> |
12 |
| - <SystemReflectionMetadataExecutableVersion Condition="'$(SystemReflectionMetadataExecutableVersion)' == ''">5.0.0</SystemReflectionMetadataExecutableVersion> |
13 |
| - <MicrosoftCodeAnalysisExecutableVersion>$(MicrosoftCodeAnalysisVersion)</MicrosoftCodeAnalysisExecutableVersion> |
14 |
| - <MicrosoftCodeAnalysisExecutableVersion Condition="'$(MicrosoftCodeAnalysisExecutableVersion)' == ''">3.8.0</MicrosoftCodeAnalysisExecutableVersion> |
15 |
| - </PropertyGroup> |
16 | 3 | <PropertyGroup>
|
17 | 4 | <VersionPrefix>3.3.5</VersionPrefix>
|
18 | 5 | <PreReleaseVersionLabel>beta1</PreReleaseVersionLabel>
|
|
40 | 27 | <UsingToolMicrosoftNetCompilers>true</UsingToolMicrosoftNetCompilers>
|
41 | 28 | <!-- Dependencies from https://github.com/dotnet/roslyn -->
|
42 | 29 | <MicrosoftNetCompilersToolsetVersion>4.5.0</MicrosoftNetCompilersToolsetVersion>
|
43 |
| - <MicrosoftCodeAnalysisCSharpCodeStyleVersion>4.5.0</MicrosoftCodeAnalysisCSharpCodeStyleVersion> |
44 |
| - <MicrosoftCodeAnalysisVisualBasicCodeStyleVersion>4.5.0</MicrosoftCodeAnalysisVisualBasicCodeStyleVersion> |
45 |
| - <!-- Roslyn --> |
46 |
| - <MicrosoftCodeAnalysisVersion>3.3.1</MicrosoftCodeAnalysisVersion> |
| 30 | + <!-- Microsoft.CodeAnalysis.* versions. Read this! |
| 31 | + This repo uses a wide variety of M.CA.* package versions. This is an atypical pattern in |
| 32 | + .NET's repositories but a necessary one for roslyn-analyzers. |
| 33 | +
|
| 34 | + Some facts: |
| 35 | + - These versions are chosen on purpose. |
| 36 | + - They often represent the base required surface area of Microsoft.CA to support for a given feature or analyzer. |
| 37 | + This means that the analyzer would be supported in the widest array of C# compilation scenarios. |
| 38 | + - Most of these dependencies only represent target surface area. In some cases, the M.CA libraries are |
| 39 | + redistributed (tools) or used within the build. |
| 40 | + - Some of these versions are used for testing to ensure that analyzers built against older surface area |
| 41 | + still work against new implementations. |
| 42 | + - Linux source-build only builds a single implementation of M.CA.*. |
| 43 | + - Linux source-build does have some ability to provide surface area packages via the source-build-reference-packages repo. |
| 44 | + However, because these reference packages do not provide implementations, they cannot be used in any case |
| 45 | + where the package contents would be redisted or executed. An SBRP may not be created for a version that is used both |
| 46 | + as a reference assembly and redisted. |
| 47 | +
|
| 48 | + In this repo, the MicrosoftCodeAnalysis property should **not** be set globally in this file. Instead, it should |
| 49 | + be set for each project, based on the properties below. When the project is executable, it should be |
| 50 | + set only for non-source build or repo-source build. Product source build will set an incoming MicrosoftCodeAnalysis property |
| 51 | + that will denote the available implementation version. |
| 52 | +
|
| 53 | + Example of surface area usage: |
| 54 | +
|
| 55 | + <MicrosoftCodeAnalysisVersion>$(MicrosoftCodeAnalysisVersionForPerfSensitiveAnalyzers)</MicrosoftCodeAnalysisVersion> |
| 56 | +
|
| 57 | + Example of executable usage: |
| 58 | +
|
| 59 | + <MicrosoftCodeAnalysisVersion Condition="'$(DotNetBuildFromSource)' != 'true' or '$(DotNetBuildFromSourceFlavor)' != 'Product'">$(MicrosoftCodeAnalysisVersionForExecution)</MicrosoftCodeAnalysisVersion> |
| 60 | + --> |
| 61 | + <!-- Microsoft.CodeAnalysis versions for different purposes. --> |
| 62 | + <!-- Surface area that various projects compile against. These should have source-build reference packages --> |
47 | 63 | <MicrosoftCodeAnalysisForRoslynDiagnosticsAnalyzersVersion>3.7.0</MicrosoftCodeAnalysisForRoslynDiagnosticsAnalyzersVersion>
|
| 64 | + <MicrosoftCodeAnalysisVersionForPublicApiAnalyzers>1.2.1</MicrosoftCodeAnalysisVersionForPublicApiAnalyzers> |
| 65 | + <MicrosoftCodeAnalysisVersionForBannedApiAnalyzers>2.9.0</MicrosoftCodeAnalysisVersionForBannedApiAnalyzers> |
| 66 | + <MicrosoftCodeAnalysisVersionForBannedApiAnalyzersTests>3.3.1</MicrosoftCodeAnalysisVersionForBannedApiAnalyzersTests> |
| 67 | + <MicrosoftCodeAnalysisVersionForPerfSensitiveAnalyzers>2.9.0</MicrosoftCodeAnalysisVersionForPerfSensitiveAnalyzers> |
| 68 | + <MicrosoftCodeAnalysisVersionForPerfSensitiveAnalyzersTests>3.3.1</MicrosoftCodeAnalysisVersionForPerfSensitiveAnalyzersTests> |
| 69 | + <MicrosoftCodeAnalysisVersionForResxSourceGenerators>4.0.1</MicrosoftCodeAnalysisVersionForResxSourceGenerators> |
| 70 | + <MicrosoftCodeAnalysisVersionForNetAnalyzers>3.3.1</MicrosoftCodeAnalysisVersionForNetAnalyzers> |
| 71 | + <MicrosoftCodeAnalysisVersionForTextAnalyzers>3.3.1</MicrosoftCodeAnalysisVersionForTextAnalyzers> |
| 72 | + <MicrosoftCodeAnalysisVersionForCodeAnalysisAnalyzers>3.3.1</MicrosoftCodeAnalysisVersionForCodeAnalysisAnalyzers> |
| 73 | + <MicrosoftCodeAnalysisVersionForToolsAndUtilities>3.3.1</MicrosoftCodeAnalysisVersionForToolsAndUtilities> |
| 74 | + <!-- Versions for tests and general utility execution. --> |
| 75 | + <!-- This version is for utility and executable assemblies. The version here should not overlap with any of the surface |
| 76 | + area versions. --> |
48 | 77 | <MicrosoftCodeAnalysisVersionForTests>4.6.0-1.final</MicrosoftCodeAnalysisVersionForTests>
|
| 78 | + <MicrosoftCodeAnalysisVersionForExecution>4.6.0-1.final</MicrosoftCodeAnalysisVersionForExecution> |
| 79 | + <MicrosoftCodeAnalysisCSharpCodeStyleVersion>4.5.0</MicrosoftCodeAnalysisCSharpCodeStyleVersion> |
| 80 | + <MicrosoftCodeAnalysisVisualBasicCodeStyleVersion>4.5.0</MicrosoftCodeAnalysisVisualBasicCodeStyleVersion> |
49 | 81 | <DogfoodAnalyzersVersion>3.3.4</DogfoodAnalyzersVersion>
|
50 | 82 | <DogfoodNetAnalyzersVersion>8.0.0-preview1.22621.6</DogfoodNetAnalyzersVersion>
|
51 | 83 | <MicrosoftCodeAnalysisBannedApiAnalyzersVersion>$(DogfoodAnalyzersVersion)</MicrosoftCodeAnalysisBannedApiAnalyzersVersion>
|
|
59 | 91 | <MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23205.1</MicrosoftCodeAnalysisTestingVersion>
|
60 | 92 | <!-- Libs -->
|
61 | 93 | <BenchmarkDotNetVersion>0.13.0</BenchmarkDotNetVersion>
|
62 |
| - <HumanizerVersion>2.2.0</HumanizerVersion> |
| 94 | + <HumanizerVersion>2.14.1</HumanizerVersion> |
63 | 95 | <MicrosoftBuildLocatorVersion>1.4.1</MicrosoftBuildLocatorVersion>
|
64 | 96 | <MicrosoftDiagnosticsTracingTraceEventVersion>2.0.69</MicrosoftDiagnosticsTracingTraceEventVersion>
|
65 | 97 | <MicrosoftExtensionsLoggingVersion>6.0.0-preview.5.21301.5</MicrosoftExtensionsLoggingVersion>
|
|
72 | 104 | <SystemCommandLineRenderingVersion>2.0.0-beta1.20074.1</SystemCommandLineRenderingVersion>
|
73 | 105 | <SystemCommandLineVersion>2.0.0-beta1.21216.1</SystemCommandLineVersion>
|
74 | 106 | <SystemComponentModelCompositionVersion>4.7.0</SystemComponentModelCompositionVersion>
|
| 107 | + <SystemCompositionVersion>8.0.0-preview.4.23259.5</SystemCompositionVersion> |
75 | 108 | <SystemDirectoryServicesVersion>4.7.0</SystemDirectoryServicesVersion>
|
76 | 109 | <XunitCombinatorialVersion>1.2.7</XunitCombinatorialVersion>
|
77 | 110 | <SystemMemoryVersion>4.5.5</SystemMemoryVersion>
|
|
0 commit comments