Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ApiCompat $(ApiCompatBaseline) variable ignored.. #5826

Open
1 of 2 tasks
danwalmsley opened this issue Jul 23, 2020 · 3 comments
Open
1 of 2 tasks

ApiCompat $(ApiCompatBaseline) variable ignored.. #5826

danwalmsley opened this issue Jul 23, 2020 · 3 comments
Labels
area-Infrastructure-libraries Area maintained by .NET libraries team: APICompat, AsmDiff, GenAPI, GenFacades, PkgProj, etc help wanted

Comments

@danwalmsley
Copy link

danwalmsley commented Jul 23, 2020

  • This issue is blocking
  • This issue is causing unreasonable pain

I have an apidiff.props... ApiCompat is setup and working...

however I would like to define where the baseLine textfile lives.

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ApiContractPackageVersion>0.10.0-preview1</ApiContractPackageVersion>
    <NugetPackageName Condition="'$(PackageId)' != ''">$(PackageId)</NugetPackageName>
    <NugetPackageName Condition="'$(PackageId)' == ''">Avalonia</NugetPackageName>    

    <ApiCompatExcludeAttributeList>$(MSBuildThisFileDirectory)..\Tools\apiCompat\ApiCompatExcludeAttributeList.txt</ApiCompatExcludeAttributeList>
    <ApiCompatBaseline>$(MSBuildThisFileDirectory)..\Tools\apiCompat\baseline\ApiCompatBaseline.txt</ApiCompatBaseline>
  </PropertyGroup>
    <ItemGroup>
    <PackageDownload Include="$(NugetPackageName)" Version="[$(ApiContractPackageVersion)]" />
      <PackageReference Include="Microsoft.DotNet.ApiCompat" Version="5.0.0-beta.20364.3" PrivateAssets="All" />
    <ResolvedMatchingContract Include="$(NuGetPackageRoot)\$(NugetPackageName.ToLower())\$(ApiContractPackageVersion)\lib\$(TargetFramework)\$(AssemblyName).dll" />
    </ItemGroup>
</Project>

no matter what $(ApiCompatBaseline) is set to, the file ends up next to the csproj.

ping @jkoritzinsky

@danwalmsley
Copy link
Author

Also $ApiCompatExcludeAttributeList seems to be ignored also.

@ViktorHofer
Copy link
Member

cc @ericstj

@ericstj
Copy link
Member

ericstj commented Aug 3, 2020

ApiCompatBaseline property is only redefined if the file doesn't exist.

<ApiCompatBaseline Condition="!Exists('$(ApiCompatBaseline)')">$(MSBuildProjectDirectory)\ApiCompatBaseline.$(_apiCompatTargetSuffix).txt</ApiCompatBaseline>
<ApiCompatBaseline Condition="!Exists('$(ApiCompatBaseline)')">$(MSBuildProjectDirectory)\ApiCompatBaseline.txt</ApiCompatBaseline>

Do you have a suggestion for the behavior you'd like to see? Would you like to submit a PR?

@ericstj ericstj added the area-Infrastructure-libraries Area maintained by .NET libraries team: APICompat, AsmDiff, GenAPI, GenFacades, PkgProj, etc label Mar 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-Infrastructure-libraries Area maintained by .NET libraries team: APICompat, AsmDiff, GenAPI, GenFacades, PkgProj, etc help wanted
Projects
None yet
Development

No branches or pull requests

4 participants