Skip to content

Commit 1903fa5

Browse files
authored
Use APICompat from the SDK (#6399)
* Use APICompat from the SDK * Refine the condition for API Compat * Fix SLN * Move PackageValidationBaselineVersion property Also make sure we run API Compat even on non-stable packages. They just won't have baseline validation. * Suppress APICompat error caused by removal of empty assembly
1 parent 61376a4 commit 1903fa5

File tree

7 files changed

+14
-101
lines changed

7 files changed

+14
-101
lines changed

Microsoft.ML.sln

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.ML", "
113113
EndProject
114114
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.ML.Tests", "test\Microsoft.Extensions.ML.Tests\Microsoft.Extensions.ML.Tests.csproj", "{21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}"
115115
EndProject
116-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.StableApi", "tools-local\Microsoft.ML.StableApi\Microsoft.ML.StableApi.csproj", "{F308DC6B-7E59-40D7-A581-834E8CD99CFE}"
117-
EndProject
118116
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.AutoML.Tests", "test\Microsoft.ML.AutoML.Tests\Microsoft.ML.AutoML.Tests.csproj", "{C2652287-CD6D-40FB-B042-95FB56D09DB8}"
119117
EndProject
120118
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.AutoML", "src\Microsoft.ML.AutoML\Microsoft.ML.AutoML.csproj", "{E48285BF-F49A-4EA3-AED0-1BDDBF77EB80}"
@@ -569,14 +567,6 @@ Global
569567
{21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|Any CPU.Build.0 = Release|Any CPU
570568
{21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|x64.ActiveCfg = Release|Any CPU
571569
{21CAD3A1-5E1F-42C1-BB73-46B6E67F4206}.Release|x64.Build.0 = Release|Any CPU
572-
{F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
573-
{F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
574-
{F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|x64.ActiveCfg = Debug|Any CPU
575-
{F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Debug|x64.Build.0 = Debug|Any CPU
576-
{F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
577-
{F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|Any CPU.Build.0 = Release|Any CPU
578-
{F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|x64.ActiveCfg = Release|Any CPU
579-
{F308DC6B-7E59-40D7-A581-834E8CD99CFE}.Release|x64.Build.0 = Release|Any CPU
580570
{C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
581571
{C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
582572
{C2652287-CD6D-40FB-B042-95FB56D09DB8}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -812,7 +802,6 @@ Global
812802
{E02DA82D-3FEE-4C60-BD80-9EC3C3448DFC} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
813803
{D6741C37-B5E6-4050-BCBA-9715809EA15B} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
814804
{21CAD3A1-5E1F-42C1-BB73-46B6E67F4206} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
815-
{F308DC6B-7E59-40D7-A581-834E8CD99CFE} = {7F13E156-3EBA-4021-84A5-CD56BA72F99E}
816805
{C2652287-CD6D-40FB-B042-95FB56D09DB8} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
817806
{E48285BF-F49A-4EA3-AED0-1BDDBF77EB80} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
818807
{A6924919-9E37-4023-8B7F-E85C8E3CC9B3} = {DA452A53-2E94-4433-B08C-041EDEC729E6}

eng/BranchInfo.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
<MajorVersion>2</MajorVersion>
3232
<MinorVersion>0</MinorVersion>
3333
<PatchVersion>0</PatchVersion>
34+
<!-- Set baseline version for stable packages to check for API Compat -->
35+
<PackageValidationBaselineVersion>1.7.1</PackageValidationBaselineVersion>
3436
</PropertyGroup>
3537
<PropertyGroup Condition="'$(IsStableProject)' != 'true'">
3638
<MajorVersion>0</MajorVersion>

eng/Versions.props

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
<CoverletMsbuildVersion>3.1.2</CoverletMsbuildVersion>
5757
<MicrosoftCodeAnalysisCSharpInternalAnalyzerVersion>3.3.1</MicrosoftCodeAnalysisCSharpInternalAnalyzerVersion>
5858
<MicrosoftCSharpVersion>4.5.0</MicrosoftCSharpVersion>
59-
<MicrosoftDotNetApiCompatVersion>1.0.0-beta.19225.5</MicrosoftDotNetApiCompatVersion>
6059
<MicrosoftSourceLinkVersion>1.1.0-beta-20206-02</MicrosoftSourceLinkVersion>
6160
<MicrosoftSymbolUploaderBuildTaskVersion>1.1.225302</MicrosoftSymbolUploaderBuildTaskVersion>
6261
<ReportGeneratorVersion>4.3.6</ReportGeneratorVersion>

src/Directory.Build.props

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,6 @@
2222
<PackageRid>$(PackageRid)-$(TargetArchitecture)</PackageRid>
2323
</PropertyGroup>
2424

25-
<!-- API Compat -->
26-
<PropertyGroup>
27-
<RunApiCompat Condition="'$(DesignTimeBuild)' == 'true'">false</RunApiCompat>
28-
<RunApiCompat Condition="'$(RunApiCompat)' == ''">$(IsStableProject)</RunApiCompat>
29-
30-
<!-- only validate that the current implementation is compatible
31-
with the old one, not vice-versa (since latest may have new
32-
API missing from old) -->
33-
<RunApiCompatForSrc>true</RunApiCompatForSrc>
34-
<RunMatchingRefApiCompat>false</RunMatchingRefApiCompat>
35-
<ApiCompatExcludeAttributeList>$(MSBuildThisFileDirectory)DefaultGenApiDocIds.txt</ApiCompatExcludeAttributeList>
36-
</PropertyGroup>
37-
3825
<ItemGroup>
3926
<ProjectReference
4027
Condition="'$(UseMLCodeAnalyzer)' != 'false' and '$(MSBuildProjectExtension)' == '.csproj'"

src/Directory.Build.targets

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -27,31 +27,9 @@
2727
</Target>
2828

2929
<!-- API Compat -->
30-
<PropertyGroup Condition="'$(RunApiCompat)' == 'true'">
31-
<!-- resolve contract for APICompat as part of resolve references -->
32-
<ResolveReferencesDependsOn>
33-
$(ResolveReferencesDependsOn);
34-
ResolveMatchingContract
35-
</ResolveReferencesDependsOn>
36-
37-
<StableApiProject>$(RepoRoot)tools-local\Microsoft.ML.StableApi\Microsoft.ML.StableApi.csproj</StableApiProject>
30+
<PropertyGroup Condition="'$(IsPackable)' == 'true'">
31+
<!-- Enable API compat for any packages unless they've set EnablePackageValidation -->
32+
<EnablePackageValidation Condition="'$(EnablePackageValidation)' == ''">true</EnablePackageValidation>
3833
</PropertyGroup>
39-
40-
<ItemGroup Condition="'$(RunApiCompat)' == 'true'">
41-
<PackageReference Include="Microsoft.DotNet.ApiCompat"
42-
Version="$(MicrosoftDotNetApiCompatVersion)"
43-
PrivateAssets="All" />
44-
</ItemGroup>
45-
46-
<Target Name="ResolveMatchingContract">
47-
<MSBuild Projects="$(StableApiProject)"
48-
Targets="GetContract"
49-
Properties="ContractName=$(AssemblyName);TargetFramework=$(TargetFramework)">
50-
<Output TaskParameter="TargetOutputs" ItemName="ResolvedMatchingContract"/>
51-
</MSBuild>
52-
<PropertyGroup>
53-
<ContractOutputPath>%(ResolvedMatchingContract.DependencyPaths)</ContractOutputPath>
54-
</PropertyGroup>
55-
</Target>
56-
34+
5735
</Project>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3+
<!-- The previous version of this package had an empty assembly which was removed -->
4+
<Suppression>
5+
<DiagnosticId>PKV006</DiagnosticId>
6+
<Target>.NETStandard,Version=v2.0</Target>
7+
</Suppression>
8+
</Suppressions>

tools-local/Microsoft.ML.StableApi/Microsoft.ML.StableApi.csproj

Lines changed: 0 additions & 50 deletions
This file was deleted.

0 commit comments

Comments
 (0)