Browse Source
Merge pull request #12216 from MrJul/feature/external-symbols
Generate external symbol packages
pull/12226/head
Max Katz
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with
14 additions and
17 deletions
-
build/SourceLink.props
-
nukebuild/ApiDiffValidation.cs
-
nukebuild/Build.cs
-
nukebuild/Numerge
-
nukebuild/_build.csproj
-
src/tools/Avalonia.Analyzers/Avalonia.Analyzers.csproj
-
src/tools/Avalonia.Generators/Avalonia.Generators.csproj
|
|
|
@ -1,9 +1,9 @@ |
|
|
|
<Project> |
|
|
|
<PropertyGroup> |
|
|
|
<PublishRepositoryUrl>true</PublishRepositoryUrl> |
|
|
|
<IncludeSymbols>false</IncludeSymbols> |
|
|
|
<IncludeSymbols>true</IncludeSymbols> |
|
|
|
<SymbolPackageFormat>snupkg</SymbolPackageFormat> |
|
|
|
<EmbedUntrackedSources>true</EmbedUntrackedSources> |
|
|
|
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder> |
|
|
|
</PropertyGroup> |
|
|
|
|
|
|
|
<PropertyGroup Condition="'$(TF_BUILD)' == 'true'"> |
|
|
|
@ -14,10 +14,6 @@ |
|
|
|
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild> |
|
|
|
</PropertyGroup> |
|
|
|
|
|
|
|
<PropertyGroup> |
|
|
|
<DebugType Condition="$(ContinuousIntegrationBuild) == 'true'">embedded</DebugType> |
|
|
|
</PropertyGroup> |
|
|
|
|
|
|
|
<ItemGroup> |
|
|
|
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/> |
|
|
|
</ItemGroup> |
|
|
|
|
|
|
|
@ -38,7 +38,8 @@ public static class ApiDiffValidation |
|
|
|
var left = new List<string>(); |
|
|
|
var right = new List<string>(); |
|
|
|
|
|
|
|
var suppressionFile = Path.Combine(suppressionFilesFolder, GetPackageId(packagePath) + ".nupkg.xml"); |
|
|
|
var packageId = GetPackageId(packagePath); |
|
|
|
var suppressionFile = Path.Combine(suppressionFilesFolder, packageId + ".nupkg.xml"); |
|
|
|
|
|
|
|
// Don't use Path.Combine with these left and right tool parameters.
|
|
|
|
// Microsoft.DotNet.ApiCompat.Tool is stupid and treats '/' and '\' as different assemblies in suppression files.
|
|
|
|
@ -57,7 +58,7 @@ public static class ApiDiffValidation |
|
|
|
e.target == baselineDll.target && e.entry.Name == baselineDll.entry.Name); |
|
|
|
if (targetDll.entry is null) |
|
|
|
{ |
|
|
|
throw new InvalidOperationException($"Some assemblies are missing in the new package: {baselineDll.entry.Name} for {baselineDll.target}"); |
|
|
|
throw new InvalidOperationException($"Some assemblies are missing in the new package {packageId}: {baselineDll.entry.Name} for {baselineDll.target}"); |
|
|
|
} |
|
|
|
|
|
|
|
var targetDllPath = $"target/{targetDll.target}/{targetDll.entry.Name}"; |
|
|
|
|
|
|
|
@ -288,7 +288,7 @@ partial class Build : NukeBuild |
|
|
|
.Executes(async () => |
|
|
|
{ |
|
|
|
await Task.WhenAll( |
|
|
|
Directory.GetFiles(Parameters.NugetRoot).Select(nugetPackage => ApiDiffValidation.ValidatePackage( |
|
|
|
Directory.GetFiles(Parameters.NugetRoot, "*.nupkg").Select(nugetPackage => ApiDiffValidation.ValidatePackage( |
|
|
|
ApiCompatTool, nugetPackage, Parameters.ApiValidationBaseline, |
|
|
|
Parameters.ApiValidationSuppressionFiles, Parameters.UpdateApiValidationSuppression))); |
|
|
|
}); |
|
|
|
|
|
|
|
@ -1 +1 @@ |
|
|
|
Subproject commit aef10ae67dc55c95f49b52a505a0be33bfa297a5 |
|
|
|
Subproject commit 9738c6121fdd143c78d3e25686a7e4e13c00f586 |
|
|
|
@ -8,8 +8,8 @@ |
|
|
|
<NukeTelemetryVersion>1</NukeTelemetryVersion> |
|
|
|
<TargetFramework>net7.0</TargetFramework> |
|
|
|
</PropertyGroup> |
|
|
|
|
|
|
|
<Import Project="..\build\JetBrains.dotMemoryUnit.props" /> |
|
|
|
|
|
|
|
<Import Project="..\build\JetBrains.dotMemoryUnit.props" /> |
|
|
|
<ItemGroup> |
|
|
|
<PackageReference Include="Nuke.Common" Version="6.2.1" /> |
|
|
|
<PackageReference Include="vswhere" Version="2.6.7" Condition=" '$(OS)' == 'Windows_NT' " /> |
|
|
|
@ -32,9 +32,9 @@ |
|
|
|
|
|
|
|
<!-- Common build related files --> |
|
|
|
<Compile Remove="Numerge/**/*.*" /> |
|
|
|
<Compile Include="Numerge/Numerge/**/*.cs" /> |
|
|
|
<EmbeddedResource Include="$(NuGetPackageRoot)sourcelink/1.1.0/tools/pdbstr.exe"></EmbeddedResource> |
|
|
|
<EmbeddedResource Include="../build/avalonia.snk"></EmbeddedResource> |
|
|
|
<Compile Include="Numerge/Numerge/**/*.cs" Exclude="Numerge/Numerge/obj/**/*.cs" /> |
|
|
|
<EmbeddedResource Include="$(NuGetPackageRoot)sourcelink/1.1.0/tools/pdbstr.exe" /> |
|
|
|
<EmbeddedResource Include="../build/avalonia.snk" /> |
|
|
|
<Compile Remove="il-repack\ILRepack\Application.cs" /> |
|
|
|
</ItemGroup> |
|
|
|
|
|
|
|
@ -43,7 +43,5 @@ |
|
|
|
<Link>dirs.proj</Link> |
|
|
|
</Content> |
|
|
|
</ItemGroup> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</Project> |
|
|
|
|
|
|
|
@ -5,6 +5,7 @@ |
|
|
|
<PackageId>Avalonia.Analyzers</PackageId> |
|
|
|
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules> |
|
|
|
<IsPackable>true</IsPackable> |
|
|
|
<IncludeSymbols>false</IncludeSymbols> |
|
|
|
<IsRoslynComponent>true</IsRoslynComponent> |
|
|
|
</PropertyGroup> |
|
|
|
|
|
|
|
|
|
|
|
@ -5,6 +5,7 @@ |
|
|
|
<PackageId>Avalonia.Generators</PackageId> |
|
|
|
<DefineConstants>$(DefineConstants);XAMLX_INTERNAL</DefineConstants> |
|
|
|
<IsPackable>true</IsPackable> |
|
|
|
<IncludeSymbols>false</IncludeSymbols> |
|
|
|
<IsRoslynComponent>true</IsRoslynComponent> |
|
|
|
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules> |
|
|
|
</PropertyGroup> |
|
|
|
|