<commit_before><?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="compile/LzmaArchive.targets" />

  <ItemGroup>
    <PublishOutputExtensions Include="$(ExeExtension);.dll;.pdb;.deps.json;.runtimeconfig.json" />
    <BundledTools Include="MSBuild;NuGet.CommandLine.XPlat;dotnet" />
    <MSBuildImportsContent Include="$(MSBuildImportsDir)/**/*" /> 
  </ItemGroup>

  <Target Name="Compile" DependsOnTargets="Prepare;
                                           CompileCLI;
                                           PublishSdks;
                                           PublishTemplates;
                                           BuildProjectsForNuGetPackages;
                                           GetNuGetPackagesArchive;" />

  <Target Name="CompileCLI">
      <ItemGroup>
        <SharedFramework Remove="*" />
        <SharedFramework Include="$(SharedFrameworkPublishDirectory)/**/*" />

        <RuntimeTargetsAssetsToRemoveFromDeps Remove="*" />
        <RuntimeTargetsAssetsToRemoveFromDeps Include="MSBuild" />

        <RuntimeAssetsToRemoveFromDeps Remove="*" />
        <RuntimeAssetsToRemoveFromDeps Include="redist" />
        <RuntimeAssetsToRemoveFromDeps Include="tool_msbuild" />
        <RuntimeAssetsToRemoveFromDeps Include="tool_nuget" />
      </ItemGroup>

      <RemoveDir Directories="$(StageDirectory)" />
      <MakeDir Directories="$(StageDirectory)"/>

      <!-- CopySharedFramework -->
      <Copy SourceFiles="@(SharedFramework)"
            DestinationFiles="@(SharedFramework->'$(StageDirectory)/%(RecursiveDir)%(Filename)%(Extension)')" />

      <!-- Workaround for https://github.com/dotnet/sdk/issues/115 -->
      <ItemGroup>
        <HackFilesToCopy Include="$(NuGetPackagesDir)\microsoft.build.runtime\$(CLI_MSBuild_Version)\contentFiles\any\netcoreapp1.0\**;
                                  $(NuGetPackagesDir)\microsoft.build.runtime\$(CLI_MSBuild_Version)\contentFiles\any\netcoreapp1.1\**;
                                  $(NuGetPackagesDir)\microsoft.codeanalysis.build.tasks\$(CLI_Roslyn_Version)\contentFiles\any\any\**;
                                  $(NuGetPackagesDir)\microsoft.testplatform.cli\$(CLI_TestPlatform_Version)\contentFiles\any\any\**" />
      </ItemGroup>
      <Copy SourceFiles="@(HackFilesToCopy)"
            DestinationFiles="@(HackFilesToCopy->'$(SdkOutputDirectory)/%(RecursiveDir)%(Filename)%(Extension)')" />
      <!-- Publish DotNet -->
      <DotNetPublish ToolPath="$(Stage0Directory)"
                     Configuration="$(Configuration)"
                     ProjectPath="$(SrcDirectory)/redist/redist.csproj" />

      <!-- Publish Roslyn -->
      <DotNetPublish ToolPath="$(Stage0Directory)"
                     Output="$(SdkOutputDirectory)/Roslyn"
                     Configuration="$(Configuration)"
                     VersionSuffix="$(CommitCount)"
                     ProjectPath="$(SrcDirectory)/tool_roslyn/tool_roslyn.csproj" />

      <RemoveAssetFromDepsPackages DepsFile="$(SdkOutputDirectory)/redist.deps.json"
                                   SectionName="runtime"
                                   AssetPath="%(RuntimeAssetsToRemoveFromDeps.Identity).dll" />

      <Copy SourceFiles="$(SdkOutputDirectory)/redist.deps.json"
            DestinationFiles="$(SdkOutputDirectory)/%(BundledTools.Identity).deps.json" />

      <Copy SourceFiles="$(SdkOutputDirectory)/redist.runtimeconfig.json"
            DestinationFiles="$(SdkOutputDirectory)/%(BundledTools.Identity).runtimeconfig.json" />

      <ChangeEntryPointLibraryName
            DepsFile="$(SdkOutputDirectory)/%(BundledTools.Identity).deps.json"
            NewName="%(BundledTools.Identity).deps.json" />

      <!-- cleanup project output we don't need -->
      <Delete Files="$(SdkOutputDirectory)/redist%(PublishOutputExtensions.Identity)" />
      <Delete Files="$(SdkOutputDirectory)/tool_msbuild%(PublishOutputExtensions.Identity)" />
      <Delete Files="$(SdkOutputDirectory)/tool_nuget%(PublishOutputExtensions.Identity)" />

      <!-- Copy Host to SDK Directory -->
      <Copy SourceFiles="$(SharedFrameworkNameVersionPath)/$(DotnetHostBaseName)"
            DestinationFiles="$(SdkOutputDirectory)/corehost$(ExeExtension)" />

      <Copy SourceFiles="$(SharedFrameworkNameVersionPath)/$(DotnetHostFxrBaseName)"
            DestinationFiles="$(SdkOutputDirectory)/$(DotnetHostFxrBaseName)" />

      <Copy SourceFiles="$(SharedFrameworkNameVersionPath)/$(HostPolicyBaseName)"
            DestinationFiles="$(SdkOutputDirectory)/$(HostPolicyBaseName)" />

      <!-- copy core sdk -->
      <Copy SourceFiles="@(MSBuildImportsContent)"
            DestinationFolder="$(SdkOutputDirectory)/%(RecursiveDir)" />

      <ItemGroup>
        <NETCore10Assemblies Include="$(SdkOutputDirectory)/System.ComponentModel.Primitives.dll;
                                      $(SdkOutputDirectory)/System.Collections.Specialized.dll;
                                      $(SdkOutputDirectory)/System.Collections.NonGeneric.dll;
                                      $(SdkOutputDirectory)/System.Private.DataContractSerialization.dll" />
      </ItemGroup>

      <!-- Move these "1.0" assemblies that TestPlatform lays down out of the way so crossgen doesn't pick them up.
             We need https://github.com/dotnet/cli/issues/5464 fixed, so test platform is in a separate directory -->
      <Move SourceFiles="@(NETCore10Assemblies)"
            DestinationFiles="@(NETCore10Assemblies->'$(SdkOutputDirectory)/%(Filename)%(Extension).bak')" />

      <!-- Crossgen the CLI -->
      <ItemGroup>
        <SdkFiles Remove="*" />

        <!-- Removing Full CLR built TestHost assemblies from getting Crossgen as it is throwing error -->
        <SdkFilesExclude Include="$(SdkOutputDirectory)/TestHost*/**/*" />
        <SdkFiles Include="$(SdkOutputDirectory)/**/*" Exclude="@(SdkFilesExclude)" />
        <SdkFilesWithPEMarker Remove="*" />
      </ItemGroup>

      <AddMetadataIsPE Items="@(SdkFiles)">
        <Output TaskParameter="ResultItems" ItemName="SdkFilesWithPEMarker" />
      </AddMetadataIsPE>

      <ItemGroup>
        <CrossgenTargets Remove="*" />
        <CrossgenTargets Include="%(SdkFilesWithPEMarker.FullPath)" Condition=" '%(SdkFilesWithPEMarker.IsPE)' == 'True' " />

        <CompileStageSdkDirectories Remove="*" />
      </ItemGroup>

      <RemoveDuplicates Inputs="@(SdkFiles->'%(RootDir)%(Directory)')">
        <Output TaskParameter="Filtered" ItemName="CompileStageSdkDirectories" />
      </RemoveDuplicates>

      <!-- Ensure crossgen tool is executable.  See https://github.com/NuGet/Home/issues/4424 -->
      <Chmod Condition=" '$(OSName)' != 'win' And '$(DISABLE_CROSSGEN)' != '1' "
             File="$(CrossgenPath)"
             Mode="u+x" />

      <Crossgen Condition=" '$(DISABLE_CROSSGEN)' != '1' "
                SourceAssembly="%(CrossgenTargets.FullPath)"
                DestinationPath="%(CrossgenTargets.FullPath)"
                JITPath="$(LibCLRJitPath)"
                CrossgenPath="$(CrossgenPath)"
                ReadyToRun="True"
                PlatformAssemblyPaths="@(PlatformAssemblies);
                                       @(CompileStageSdkDirectories);
                                       $(SharedFrameworkNameVersionPath)" />

      <!-- Corehostify Binaries -->
      <ItemGroup Condition=" '$(OSName)' != 'win' ">
        <SdkOutputChmodTargets Remove="*" />
        <SdkOutputChmodTargets Include="$(SdkOutputDirectory)/**/*.exe;
                                        $(SdkOutputDirectory)/**/*.dll" >
          <!-- Managed assemblies do not need execute -->
          <Mode>u=rw,g=r,o=r</Mode>
        </SdkOutputChmodTargets>

        <SdkOutputChmodTargets Include="$(SdkOutputDirectory)/**/*.dylib;
                                        $(SdkOutputDirectory)/**/*.so" >
          <!-- Generally, dylibs and sos have 'x' -->
          <Mode>u=rwx,g=rx,o=rx</Mode>
        </SdkOutputChmodTargets>

        <SdkOutputChmodTargets Include="$(SdkOutputDirectory)/**/*"
                             Exclude="$(SdkOutputDirectory)/**/*.*" >
          <!-- Executables need x -->
          <Mode>u=rwx,g=rx,o=rx</Mode>
        </SdkOutputChmodTargets>
      </ItemGroup>

      <Chmod Condition=" '$(OSName)' != 'win' "
             File="%(SdkOutputChModTargets.FullPath)"
             Mode="%(SdkOutputChModTargets.Mode)" />

      <!-- Move the "1.0" assemblies back -->
      <Move SourceFiles="@(NETCore10Assemblies->'$(SdkOutputDirectory)/%(Filename)%(Extension).bak')"
            DestinationFiles="@(NETCore10Assemblies)" />

      <!-- Generate .version file -->
      <WriteLinesToFile File="$(SdkOutputDirectory)/.version"
                        Lines="$(CommitHash);$(SdkVersion);$(Rid)"
                        Overwrite="true" />

      <ItemGroup>
        <MSBuildTargetsToCopy Include="$(MSBuildTargetsDirectory)/**/*.targets" />
        <MSBuildTargetsToCopy Include="$(MSBuildTargetsDirectory)/**/*.Targets" />
        <MSBuildTargetsToCopy Include="$(MSBuildTargetsDirectory)/**/*.props" />
        <MSBuildTargetsToCopy Include="$(MSBuildTargetsDirectory)/**/*.overridetasks" /><commit_msg>Try to fix spacing part 2<commit_after><?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="compile/LzmaArchive.targets" />

  <ItemGroup>
    <PublishOutputExtensions Include="$(ExeExtension);.dll;.pdb;.deps.json;.runtimeconfig.json" />
    <BundledTools Include="MSBuild;NuGet.CommandLine.XPlat;dotnet" />
    <MSBuildImportsContent Include="$(MSBuildImportsDir)/**/*" /> 
  </ItemGroup>

  <Target Name="Compile" DependsOnTargets="Prepare;
                                           CompileCLI;
                                           PublishSdks;
                                           PublishTemplates;
                                           BuildProjectsForNuGetPackages;
                                           GetNuGetPackagesArchive;" />

  <Target Name="CompileCLI">
      <ItemGroup>
        <SharedFramework Remove="*" />
        <SharedFramework Include="$(SharedFrameworkPublishDirectory)/**/*" />

        <RuntimeTargetsAssetsToRemoveFromDeps Remove="*" />
        <RuntimeTargetsAssetsToRemoveFromDeps Include="MSBuild" />

        <RuntimeAssetsToRemoveFromDeps Remove="*" />
        <RuntimeAssetsToRemoveFromDeps Include="redist" />
        <RuntimeAssetsToRemoveFromDeps Include="tool_msbuild" />
        <RuntimeAssetsToRemoveFromDeps Include="tool_nuget" />
      </ItemGroup>

      <RemoveDir Directories="$(StageDirectory)" />
      <MakeDir Directories="$(StageDirectory)"/>

      <!-- CopySharedFramework -->
      <Copy SourceFiles="@(SharedFramework)"
            DestinationFiles="@(SharedFramework->'$(StageDirectory)/%(RecursiveDir)%(Filename)%(Extension)')" />

    <!-- Workaround for https://github.com/dotnet/sdk/issues/115 -->
    <ItemGroup>
      <HackFilesToCopy Include="$(NuGetPackagesDir)\microsoft.build.runtime\$(CLI_MSBuild_Version)\contentFiles\any\netcoreapp1.0\**;
                                $(NuGetPackagesDir)\microsoft.build.runtime\$(CLI_MSBuild_Version)\contentFiles\any\netcoreapp1.1\**;
                                $(NuGetPackagesDir)\microsoft.codeanalysis.build.tasks\$(CLI_Roslyn_Version)\contentFiles\any\any\**;
                                $(NuGetPackagesDir)\microsoft.testplatform.cli\$(CLI_TestPlatform_Version)\contentFiles\any\any\**" />
    </ItemGroup>
    <Copy SourceFiles="@(HackFilesToCopy)"
          DestinationFiles="@(HackFilesToCopy->'$(SdkOutputDirectory)/%(RecursiveDir)%(Filename)%(Extension)')" />
    <!-- Publish DotNet -->
    <DotNetPublish ToolPath="$(Stage0Directory)"
                   Configuration="$(Configuration)"
                   ProjectPath="$(SrcDirectory)/redist/redist.csproj" />

    <!-- Publish Roslyn -->
    <DotNetPublish ToolPath="$(Stage0Directory)"
                   Output="$(SdkOutputDirectory)/Roslyn"
                   Configuration="$(Configuration)"
                   VersionSuffix="$(CommitCount)"
                   ProjectPath="$(SrcDirectory)/tool_roslyn/tool_roslyn.csproj" />

      <RemoveAssetFromDepsPackages DepsFile="$(SdkOutputDirectory)/redist.deps.json"
                                   SectionName="runtime"
                                   AssetPath="%(RuntimeAssetsToRemoveFromDeps.Identity).dll" />

      <Copy SourceFiles="$(SdkOutputDirectory)/redist.deps.json"
            DestinationFiles="$(SdkOutputDirectory)/%(BundledTools.Identity).deps.json" />

      <Copy SourceFiles="$(SdkOutputDirectory)/redist.runtimeconfig.json"
            DestinationFiles="$(SdkOutputDirectory)/%(BundledTools.Identity).runtimeconfig.json" />

      <ChangeEntryPointLibraryName
            DepsFile="$(SdkOutputDirectory)/%(BundledTools.Identity).deps.json"
            NewName="%(BundledTools.Identity).deps.json" />

      <!-- cleanup project output we don't need -->
      <Delete Files="$(SdkOutputDirectory)/redist%(PublishOutputExtensions.Identity)" />
      <Delete Files="$(SdkOutputDirectory)/tool_msbuild%(PublishOutputExtensions.Identity)" />
      <Delete Files="$(SdkOutputDirectory)/tool_nuget%(PublishOutputExtensions.Identity)" />

      <!-- Copy Host to SDK Directory -->
      <Copy SourceFiles="$(SharedFrameworkNameVersionPath)/$(DotnetHostBaseName)"
            DestinationFiles="$(SdkOutputDirectory)/corehost$(ExeExtension)" />

      <Copy SourceFiles="$(SharedFrameworkNameVersionPath)/$(DotnetHostFxrBaseName)"
            DestinationFiles="$(SdkOutputDirectory)/$(DotnetHostFxrBaseName)" />

      <Copy SourceFiles="$(SharedFrameworkNameVersionPath)/$(HostPolicyBaseName)"
            DestinationFiles="$(SdkOutputDirectory)/$(HostPolicyBaseName)" />

      <!-- copy core sdk -->
      <Copy SourceFiles="@(MSBuildImportsContent)"
            DestinationFolder="$(SdkOutputDirectory)/%(RecursiveDir)" />

      <ItemGroup>
        <NETCore10Assemblies Include="$(SdkOutputDirectory)/System.ComponentModel.Primitives.dll;
                                      $(SdkOutputDirectory)/System.Collections.Specialized.dll;
                                      $(SdkOutputDirectory)/System.Collections.NonGeneric.dll;
                                      $(SdkOutputDirectory)/System.Private.DataContractSerialization.dll" />
      </ItemGroup>

      <!-- Move these "1.0" assemblies that TestPlatform lays down out of the way so crossgen doesn't pick them up.
           We need https://github.com/dotnet/cli/issues/5464 fixed, so test platform is in a separate directory -->
      <Move SourceFiles="@(NETCore10Assemblies)"
            DestinationFiles="@(NETCore10Assemblies->'$(SdkOutputDirectory)/%(Filename)%(Extension).bak')" />

      <!-- Crossgen the CLI -->
      <ItemGroup>
        <SdkFiles Remove="*" />

        <!-- Removing Full CLR built TestHost assemblies from getting Crossgen as it is throwing error -->
        <SdkFilesExclude Include="$(SdkOutputDirectory)/TestHost*/**/*" />
        <SdkFiles Include="$(SdkOutputDirectory)/**/*" Exclude="@(SdkFilesExclude)" />
        <SdkFilesWithPEMarker Remove="*" />
      </ItemGroup>

      <AddMetadataIsPE Items="@(SdkFiles)">
        <Output TaskParameter="ResultItems" ItemName="SdkFilesWithPEMarker" />
      </AddMetadataIsPE>

      <ItemGroup>
        <CrossgenTargets Remove="*" />
        <CrossgenTargets Include="%(SdkFilesWithPEMarker.FullPath)" Condition=" '%(SdkFilesWithPEMarker.IsPE)' == 'True' " />

        <CompileStageSdkDirectories Remove="*" />
      </ItemGroup>

      <RemoveDuplicates Inputs="@(SdkFiles->'%(RootDir)%(Directory)')">
        <Output TaskParameter="Filtered" ItemName="CompileStageSdkDirectories" />
      </RemoveDuplicates>

      <!-- Ensure crossgen tool is executable.  See https://github.com/NuGet/Home/issues/4424 -->
      <Chmod Condition=" '$(OSName)' != 'win' And '$(DISABLE_CROSSGEN)' != '1' "
             File="$(CrossgenPath)"
             Mode="u+x" />

      <Crossgen Condition=" '$(DISABLE_CROSSGEN)' != '1' "
                SourceAssembly="%(CrossgenTargets.FullPath)"
                DestinationPath="%(CrossgenTargets.FullPath)"
                JITPath="$(LibCLRJitPath)"
                CrossgenPath="$(CrossgenPath)"
                ReadyToRun="True"
                PlatformAssemblyPaths="@(PlatformAssemblies);
                                       @(CompileStageSdkDirectories);
                                       $(SharedFrameworkNameVersionPath)" />

      <!-- Corehostify Binaries -->
      <ItemGroup Condition=" '$(OSName)' != 'win' ">
        <SdkOutputChmodTargets Remove="*" />
        <SdkOutputChmodTargets Include="$(SdkOutputDirectory)/**/*.exe;
                                      $(SdkOutputDirectory)/**/*.dll" >
          <!-- Managed assemblies do not need execute -->
          <Mode>u=rw,g=r,o=r</Mode>
        </SdkOutputChmodTargets>

        <SdkOutputChmodTargets Include="$(SdkOutputDirectory)/**/*.dylib;
                                      $(SdkOutputDirectory)/**/*.so" >
          <!-- Generally, dylibs and sos have 'x' -->
          <Mode>u=rwx,g=rx,o=rx</Mode>
        </SdkOutputChmodTargets>

        <SdkOutputChmodTargets Include="$(SdkOutputDirectory)/**/*"
                             Exclude="$(SdkOutputDirectory)/**/*.*" >
          <!-- Executables need x -->
          <Mode>u=rwx,g=rx,o=rx</Mode>
        </SdkOutputChmodTargets>
      </ItemGroup>

      <Chmod Condition=" '$(OSName)' != 'win' "
             File="%(SdkOutputChModTargets.FullPath)"
             Mode="%(SdkOutputChModTargets.Mode)" />

      <!-- Move the "1.0" assemblies back -->
      <Move SourceFiles="@(NETCore10Assemblies->'$(SdkOutputDirectory)/%(Filename)%(Extension).bak')"
            DestinationFiles="@(NETCore10Assemblies)" />

      <!-- Generate .version file -->
      <WriteLinesToFile File="$(SdkOutputDirectory)/.version"
                        Lines="$(CommitHash);$(SdkVersion);$(Rid)"
                        Overwrite="true" />

      <ItemGroup>
        <MSBuildTargetsToCopy Include="$(MSBuildTargetsDirectory)/**/*.targets" />
        <MSBuildTargetsToCopy Include="$(MSBuildTargetsDirectory)/**/*.Targets" />
        <MSBuildTargetsToCopy Include="$(MSBuildTargetsDirectory)/**/*.props" />
        <MSBuildTargetsToCopy Include="$(MSBuildTargetsDirectory)/**/*.overridetasks" />
{'fraction_non_alphanumeric': 0.1488236563781567, 'fraction_numerical': 0.004694582344053529, 'mean_word_length': 2.5944530643910007, 'pattern_counts': {'":': 0, '<': 209, '<?xml version=': 2, '>': 219, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 41, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5409088', 'n_tokens_mistral': 5412, 'n_tokens_neox': 4912, 'n_words': 629}