<commit_before><Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

  <!-- Global Properties and Items -->
  <PropertyGroup>
    <PackagesDirectory>$(RootDir)packages\</PackagesDirectory>
  </PropertyGroup>
  <ItemGroup>
    <CopyNuspecFiles Include="@(NuspecFiles)"/>
  </ItemGroup>

  <!-- UsingTasks -->
  <ItemGroup>
    <CIBuildTasksPath Include="$(PackagesDirectory)**\Jwc.CIBuildTasks.dll" />
    <XunitRunnerPath Include="$(PackagesDirectory)**\xunit.runner.msbuild.dll" />
  </ItemGroup>
  <PropertyGroup>
    <CIBuildTasksPath>@(CIBuildTasksPath)</CIBuildTasksPath>
    <XunitRunnerPath>@(XunitRunnerPath)</XunitRunnerPath>
  </PropertyGroup>
  <UsingTask AssemblyFile="$(CIBuildTasksPath)" TaskName="Jwc.CIBuildTasks.Base64StringToFile" />
  <UsingTask AssemblyFile="$(XunitRunnerPath)" TaskName="Xunit.Runner.MSBuild.xunit" />
  <UsingTask AssemblyFile="$(CIBuildTasksPath)" TaskName="Jwc.CIBuildTasks.SemanticVersioning" />
  <UsingTask AssemblyFile="$(CIBuildTasksPath)"
             TaskName="Jwc.CIBuildTasks.PublishNugetDetermination" />
  <UsingTask AssemblyFile="$(CIBuildTasksPath)" TaskName="Jwc.CIBuildTasks.ReleaseNoteExtractor" />
  <UsingTask AssemblyFile="$(CIBuildTasksPath)" TaskName="Jwc.CIBuildTasks.NugetPackageDeleter" />
  <UsingTask AssemblyFile="$(CIBuildTasksPath)" TaskName="Jwc.CIBuildTasks.GitHubTagger" />
  
  <!-- Targets -->
  <Target Name="CI">
    <CallTarget Targets="BuildAndPublish;Cleanup" RunEachTargetSeparately="True" />
  </Target>
  
  <Target Name="BuildAndPublish" DependsOnTargets="
          MakePrivateKey;
          Build;
          RunTests;
          GetSemanticVersion;
          DetermineCanPush;
          Publish" />

  <Target Name ="Publish" Condition=" '$(CanPush)' == 'true' " DependsOnTargets="
          VersioningNuspecs;
          GetReleaseNotes;
          SetReleaseNotes;
          PackNugetPackages;
          PushNugetPackages;
          MakeTagOnGitHub" />
  
  <Target Name="MakePrivateKey">
    <Base64StringToFile Input="$(PrivateKeyBase64String)" OutputFile="PrivateKey.snk" />
  </Target>

  <Target Name="Build">
    <ItemGroup>
      <PrivateKey Include="PrivateKey.snk" />
    </ItemGroup>
    <PropertyGroup>
      <PrivateKey>%(PrivateKey.FullPath)</PrivateKey>
    </PropertyGroup>
    <MSBuild Projects="@(Projects)"
             Targets="Build"
             Properties="Configuration=Release;
                         TreatWarningsAsErrors=true;
                         CodeAnalysisTreatWarningsAsErrors=true;
                         StyleCopTreatErrorsAsWarnings=false;
                         RunCodeAnalysis=$(RunCodeAnalysis);
                         SignAssembly=true;
                         AssemblyOriginatorKeyFile=$(PrivateKey);"/>
    <MSBuild Projects="@(TestProjects)"
             Targets="Build"
             Properties="Configuration=Release;
                         TreatWarningsAsErrors=true;
                         CodeAnalysisTreatWarningsAsErrors=true;
                         StyleCopTreatErrorsAsWarnings=false;
                         RunCodeAnalysis=$(RunCodeAnalysis);
                         DefineConstants=TRACE,CI;">
      <Output TaskParameter="TargetOutputs" ItemName="TestAssemblies" />
    </MSBuild>
  </Target>

  <Target Name="RunTests">
    <xunit Assemblies="@(TestAssemblies)"/>
  </Target>

  <Target Name="GetSemanticVersion">
    <SemanticVersioning AssemblyInfo="%(SolutionInfo.FullPath)">
      <Output TaskParameter="SemanticVersion" PropertyName="SemanticVersion" />
    </SemanticVersioning>
  </Target>
  
  <Target Name="DetermineCanPush">
    <PropertyGroup>
      <PackageName>%(NuspecFiles.FileName)</PackageName>
    </PropertyGroup>
    <PublishNugetDetermination Identifier="$(PackageName) $(SemanticVersion)">
      <Output TaskParameter="CanPush" PropertyName="CanPush" />
    </PublishNugetDetermination>
  </Target>

  <Target Name="VersioningNuspecs" Outputs="%(NuspecFiles.FullPath)">
    <PropertyGroup>
      <NuspecFile>%(NuspecFiles.FullPath)</NuspecFile>
    </PropertyGroup>
    <XmlPoke XmlInputPath="$(NuspecFile)"
             Query="//metadata/version"
             Value="$(SemanticVersion)" />
    <XmlPoke XmlInputPath="$(NuspecFile)"
             Query="//metadata/dependencies/dependency[@id='%(CopyNuspecFiles.Filename)']/@version"
             Value="$(SemanticVersion)" />
  </Target>

  <Target Name="GetReleaseNotes">
    <ReleaseNoteExtractor AssemblyInfo="%(SolutionInfo.FullPath)">
      <Output TaskParameter="ReleaseNotes" PropertyName="ReleaseNotes" />
      <Output TaskParameter="XmlEscapedReleaseNotes" PropertyName="XmlEscapedReleaseNotes" />
    </ReleaseNoteExtractor>
  </Target>
  
  <Target Name="SetReleaseNotes">
    <XmlPoke XmlInputPath="%(NuspecFiles.FullPath)"
             Query="//metadata/releaseNotes"
             Value="$(XmlEscapedReleaseNotes)" />
  </Target>
  
  <Target Name="PackNugetPackages">
    <ItemGroup>
      <NugetPath Include="$(PackagesDirectory)**\nuget.exe" />
    </ItemGroup>
    <PropertyGroup>
      <NugetPath>%(NugetPath.FullPath)</NugetPath>
    </PropertyGroup>
    <Exec Command="$(NugetPath) pack %(NuspecFiles.Identity) -Symbols -NoPackageAnalysis" />
  </Target>
  
  <Target Name="PushNugetPackages">
    <ItemGroup>
      <NugetSymbolPackages Include="*.symbols.nupkg" />
      <NugetPackages Include="@(NuspecFiles->'%(Filename).$(SemanticVersion).nupkg')" />
    </ItemGroup>
    <Exec Command="$(NugetPath) setApiKey $(SetApiKey) -Verbosity quiet" />
    <Exec Command="$(NugetPath) push %(NugetSymbolPackages.Identity)" ContinueOnError="true" />
    <Delete Files="@(NugetSymbolPackages)" />
    <Exec Command="$(NugetPath) push %(NugetPackages.Identity)" />
    <NugetPackageDeleter IdOrEmail="$(NugetId)" Password="$(<PASSWORD>)"
                         Identifier="%(NuspecFiles.Filename) $(SemanticVersion)"
                         Condition="$(SemanticVersion.Contains('-'))"/>
  </Target>

  <Target Name="MakeTagOnGitHub" Condition="!$(SemanticVersion.Contains('-'))">
    <Message Text="v$(SemanticVersion)" />
    <ItemGroup>
      <TagInfo Include="v$(SemanticVersion)">
        <AccessToken>$(GitHubAccessToken)</AccessToken>
        <Owner>$(GitHubId)</Owner>
        <Repository>$(GitHubRepository)</Repository>
        <RefOrSha>$(RefOrShaForTag)</RefOrSha>
        <ReleaseNotes>$(ReleaseNotes)</ReleaseNotes>
        <AuthorName>$(AuthorName)</AuthorName>
        <AuthorEmail>$(AuthorEmail)</AuthorEmail>
      </TagInfo>
    </ItemGroup>
    <GitHubTagger TagInfo="@(TagInfo)" />
  </Target>
<commit_msg>script: Modified properties of NugetPackageDeleter task.<commit_after><Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

  <!-- Global Properties and Items -->
  <PropertyGroup>
    <PackagesDirectory>$(RootDir)packages\</PackagesDirectory>
  </PropertyGroup>
  <ItemGroup>
    <CopyNuspecFiles Include="@(NuspecFiles)"/>
  </ItemGroup>

  <!-- UsingTasks -->
  <ItemGroup>
    <CIBuildTasksPath Include="$(PackagesDirectory)**\Jwc.CIBuildTasks.dll" />
    <XunitRunnerPath Include="$(PackagesDirectory)**\xunit.runner.msbuild.dll" />
  </ItemGroup>
  <PropertyGroup>
    <CIBuildTasksPath>@(CIBuildTasksPath)</CIBuildTasksPath>
    <XunitRunnerPath>@(XunitRunnerPath)</XunitRunnerPath>
  </PropertyGroup>
  <UsingTask AssemblyFile="$(CIBuildTasksPath)" TaskName="Jwc.CIBuildTasks.Base64StringToFile" />
  <UsingTask AssemblyFile="$(XunitRunnerPath)" TaskName="Xunit.Runner.MSBuild.xunit" />
  <UsingTask AssemblyFile="$(CIBuildTasksPath)" TaskName="Jwc.CIBuildTasks.SemanticVersioning" />
  <UsingTask AssemblyFile="$(CIBuildTasksPath)"
             TaskName="Jwc.CIBuildTasks.PublishNugetDetermination" />
  <UsingTask AssemblyFile="$(CIBuildTasksPath)" TaskName="Jwc.CIBuildTasks.ReleaseNoteExtractor" />
  <UsingTask AssemblyFile="$(CIBuildTasksPath)" TaskName="Jwc.CIBuildTasks.NugetPackageDeleter" />
  <UsingTask AssemblyFile="$(CIBuildTasksPath)" TaskName="Jwc.CIBuildTasks.GitHubTagger" />
  
  <!-- Targets -->
  <Target Name="CI">
    <CallTarget Targets="BuildAndPublish;Cleanup" RunEachTargetSeparately="True" />
  </Target>
  
  <Target Name="BuildAndPublish" DependsOnTargets="
          MakePrivateKey;
          Build;
          RunTests;
          GetSemanticVersion;
          DetermineCanPush;
          Publish" />

  <Target Name ="Publish" Condition=" '$(CanPush)' == 'true' " DependsOnTargets="
          VersioningNuspecs;
          GetReleaseNotes;
          SetReleaseNotes;
          PackNugetPackages;
          PushNugetPackages;
          MakeTagOnGitHub" />
  
  <Target Name="MakePrivateKey">
    <Base64StringToFile Input="$(PrivateKeyBase64String)" OutputFile="PrivateKey.snk" />
  </Target>

  <Target Name="Build">
    <ItemGroup>
      <PrivateKey Include="PrivateKey.snk" />
    </ItemGroup>
    <PropertyGroup>
      <PrivateKey>%(PrivateKey.FullPath)</PrivateKey>
    </PropertyGroup>
    <MSBuild Projects="@(Projects)"
             Targets="Build"
             Properties="Configuration=Release;
                         TreatWarningsAsErrors=true;
                         CodeAnalysisTreatWarningsAsErrors=true;
                         StyleCopTreatErrorsAsWarnings=false;
                         RunCodeAnalysis=$(RunCodeAnalysis);
                         SignAssembly=true;
                         AssemblyOriginatorKeyFile=$(PrivateKey);"/>
    <MSBuild Projects="@(TestProjects)"
             Targets="Build"
             Properties="Configuration=Release;
                         TreatWarningsAsErrors=true;
                         CodeAnalysisTreatWarningsAsErrors=true;
                         StyleCopTreatErrorsAsWarnings=false;
                         RunCodeAnalysis=$(RunCodeAnalysis);
                         DefineConstants=TRACE,CI;">
      <Output TaskParameter="TargetOutputs" ItemName="TestAssemblies" />
    </MSBuild>
  </Target>

  <Target Name="RunTests">
    <xunit Assemblies="@(TestAssemblies)"/>
  </Target>

  <Target Name="GetSemanticVersion">
    <SemanticVersioning AssemblyInfo="%(SolutionInfo.FullPath)">
      <Output TaskParameter="SemanticVersion" PropertyName="SemanticVersion" />
    </SemanticVersioning>
  </Target>
  
  <Target Name="DetermineCanPush">
    <PropertyGroup>
      <PackageName>%(NuspecFiles.FileName)</PackageName>
    </PropertyGroup>
    <PublishNugetDetermination Identifier="$(PackageName) $(SemanticVersion)">
      <Output TaskParameter="CanPush" PropertyName="CanPush" />
    </PublishNugetDetermination>
  </Target>

  <Target Name="VersioningNuspecs" Outputs="%(NuspecFiles.FullPath)">
    <PropertyGroup>
      <NuspecFile>%(NuspecFiles.FullPath)</NuspecFile>
    </PropertyGroup>
    <XmlPoke XmlInputPath="$(NuspecFile)"
             Query="//metadata/version"
             Value="$(SemanticVersion)" />
    <XmlPoke XmlInputPath="$(NuspecFile)"
             Query="//metadata/dependencies/dependency[@id='%(CopyNuspecFiles.Filename)']/@version"
             Value="$(SemanticVersion)" />
  </Target>

  <Target Name="GetReleaseNotes">
    <ReleaseNoteExtractor AssemblyInfo="%(SolutionInfo.FullPath)">
      <Output TaskParameter="ReleaseNotes" PropertyName="ReleaseNotes" />
      <Output TaskParameter="XmlEscapedReleaseNotes" PropertyName="XmlEscapedReleaseNotes" />
    </ReleaseNoteExtractor>
  </Target>
  
  <Target Name="SetReleaseNotes">
    <XmlPoke XmlInputPath="%(NuspecFiles.FullPath)"
             Query="//metadata/releaseNotes"
             Value="$(XmlEscapedReleaseNotes)" />
  </Target>
  
  <Target Name="PackNugetPackages">
    <ItemGroup>
      <NugetPath Include="$(PackagesDirectory)**\nuget.exe" />
    </ItemGroup>
    <PropertyGroup>
      <NugetPath>%(NugetPath.FullPath)</NugetPath>
    </PropertyGroup>
    <Exec Command="$(NugetPath) pack %(NuspecFiles.Identity) -Symbols -NoPackageAnalysis" />
  </Target>
  
  <Target Name="PushNugetPackages">
    <ItemGroup>
      <NugetSymbolPackages Include="*.symbols.nupkg" />
      <NugetPackages Include="@(NuspecFiles->'%(Filename).$(SemanticVersion).nupkg')" />
    </ItemGroup>
    <Exec Command="$(NugetPath) setApiKey $(SetApiKey) -Verbosity quiet" />
    <Exec Command="$(NugetPath) push %(NugetSymbolPackages.Identity)" ContinueOnError="true" />
    <Delete Files="@(NugetSymbolPackages)" />
    <Exec Command="$(NugetPath) push %(NugetPackages.Identity)" />
    <NugetPackageDeleter UserId="$(NugetId)"
                         UserPassword="$(<PASSWORD>)"
                         NugetId="%(NuspecFiles.Filename)"
                         NugetVersion ="$(SemanticVersion)"
                         Condition="$(SemanticVersion.Contains('-'))"/>
  </Target>

  <Target Name="MakeTagOnGitHub" Condition="!$(SemanticVersion.Contains('-'))">
    <Message Text="v$(SemanticVersion)" />
    <ItemGroup>
      <TagInfo Include="v$(SemanticVersion)">
        <AccessToken>$(GitHubAccessToken)</AccessToken>
        <Owner>$(GitHubId)</Owner>
        <Repository>$(GitHubRepository)</Repository>
        <RefOrSha>$(RefOrShaForTag)</RefOrSha>
        <ReleaseNotes>$(ReleaseNotes)</ReleaseNotes>
        <AuthorName>$(AuthorName)</AuthorName>
        <AuthorEmail>$(AuthorEmail)</AuthorEmail>
      </TagInfo>
    </ItemGroup>
    <GitHubTagger TagInfo="@(TagInfo)" />
  </Target>

{'fraction_non_alphanumeric': 0.14367169330032262, 'fraction_numerical': 0.0018005851901868107, 'mean_word_length': 3.4256308100929616, 'pattern_counts': {'":': 0, '<': 257, '<?xml version=': 0, '>': 259, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2714067', 'n_tokens_mistral': 4102, 'n_tokens_neox': 3799, 'n_words': 492}