0995daf83e
2) Added log in multi tfm test to root cause the issue where it is failing for net46
245 lines
No EOL
12 KiB
XML
245 lines
No EOL
12 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="compile/Microsoft.DotNet.Cli.LzmaArchive.targets" />
|
|
<Import Project="crossgen/Microsoft.DotNet.Cli.Crossgen.targets" />
|
|
|
|
<PropertyGroup>
|
|
<BinaryToCorehostifyRelDir>runtimes/any/native</BinaryToCorehostifyRelDir>
|
|
<MSBuildImportsDir>$(RepoRoot)/resources/MSBuildImports</MSBuildImportsDir>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PublishOutputExtensions Include="$(ExeExtension);.dll;.pdb;.deps.json;.runtimeconfig.json" />
|
|
<FilesToMove Include="$(BinaryToCorehostifyRelDir)/csc.exe;" />
|
|
<BundledTools Include="csc;MSBuild;NuGet.CommandLine.XPlat;dotnet" />
|
|
<MSBuildImportsContent Include="$(MSBuildImportsDir)/**/*" />
|
|
</ItemGroup>
|
|
|
|
<Target Name="Compile" DependsOnTargets="Prepare;
|
|
SetupStage;
|
|
CompileStage;
|
|
BuildProjectsForNuGetPackages;
|
|
GenerateNuGetPackagesArchive" />
|
|
|
|
<Target Name="SetupStage"
|
|
DependsOnTargets="Prepare">
|
|
<PropertyGroup>
|
|
<SrcDirectory>$(RepoRoot)/src</SrcDirectory>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<CompileStageInputs Include="$(SrcDirectory)/**/*.cs" Exclude="$(SrcDirectory)/**/obj/**/*.cs" />
|
|
<CompileStageInputs Include="$(SrcDirectory)/**/*.csproj;$(SrcDirectory)/**/project.assets.json" />
|
|
|
|
<Stage Include="Stage1">
|
|
<Inputs>@(CompileStageInputs)</Inputs>
|
|
<StageDirectory>$(Stage1Directory)</StageDirectory>
|
|
<StageSymbolsDirectory>$(Stage1SymbolsDirectory)</StageSymbolsDirectory>
|
|
<DotnetDir>$(Stage0Directory)</DotnetDir>
|
|
</Stage>
|
|
<Stage Include="Stage2">
|
|
<Inputs>@(CompileStageInputs)</Inputs>
|
|
<StageDirectory>$(Stage2Directory)</StageDirectory>
|
|
<StageSymbolsDirectory>$(Stage2SymbolsDirectory)</StageSymbolsDirectory>
|
|
<DotnetDir>$(Stage0Directory)</DotnetDir>
|
|
</Stage>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="CompileStage"
|
|
DependsOnTargets="SetupStage;
|
|
InitCrossgenProps;"
|
|
Inputs="%(Stage.Inputs)"
|
|
Outputs="%(StageDirectory)/sdk/$(SdkVersion)/dotnet.dll">
|
|
<PropertyGroup>
|
|
<DynamicLibPrefix Condition=" '$(OSName)' == 'win' "></DynamicLibPrefix>
|
|
<DynamicLibPrefix Condition=" '$(OSName)' != 'win' ">lib</DynamicLibPrefix>
|
|
|
|
<DynamicLibSuffix Condition=" '$(OSName)' == 'win' ">.dll</DynamicLibSuffix>
|
|
<DynamicLibSuffix Condition=" '$(OSName)' == 'osx' ">.dylib</DynamicLibSuffix>
|
|
<DynamicLibSuffix Condition=" '$(DynamicLibSuffix)' == '' ">.so</DynamicLibSuffix>
|
|
|
|
<DotnetHostBaseName>dotnet$(ExeExtension)</DotnetHostBaseName>
|
|
<DotnetHostFxrBaseName>$(DynamicLibPrefix)hostfxr$(DynamicLibSuffix)</DotnetHostFxrBaseName>
|
|
<HostPolicyBaseName>$(DynamicLibPrefix)hostpolicy$(DynamicLibSuffix)</HostPolicyBaseName>
|
|
|
|
<StageDirectory>%(Stage.StageDirectory)</StageDirectory>
|
|
<StageSymbolsDirectory>%(Stage.StageSymbolsDirectory)</StageSymbolsDirectory>
|
|
<SdkOutputDirectory>$(StageDirectory)/sdk/$(SdkVersion)</SdkOutputDirectory>
|
|
<BinaryToCorehostifyOutDir>$(SdkOutputDirectory)/$(BinaryToCorehostifyRelDir)</BinaryToCorehostifyOutDir>
|
|
<MSBuildTargetsDirectory>$(SdkOutputDirectory)/runtimes/any/native</MSBuildTargetsDirectory>
|
|
|
|
<SharedFrameworkNameVersionPath>$(StageDirectory)/shared/$(SharedFrameworkName)/$(SharedFrameworkVersion)</SharedFrameworkNameVersionPath>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<BinObj Remove="*" />
|
|
<BinObj Include="$(SrcDirectory)/**/bin/**/*" />
|
|
<BinObj Include="$(SrcDirectory)/**/obj/**/*" Exclude="$(SrcDirectory)/**/obj/project.assets.json;$(SrcDirectory)/**/obj/*.csproj.nuget.g.props;$(SrcDirectory)/**/obj/*.csproj.nuget.g.targets" />
|
|
|
|
<SharedFramework Remove="*" />
|
|
<SharedFramework Include="$(SharedFrameworkPublishDirectory)/**/*" />
|
|
|
|
<AssetsToRemoveFromDeps Remove="*" />
|
|
<AssetsToRemoveFromDeps Include="csc" />
|
|
<AssetsToRemoveFromDeps Include="vbc" />
|
|
<AssetsToRemoveFromDeps Include="MSBuild" />
|
|
</ItemGroup>
|
|
|
|
<Delete Files="@(BinObj)" />
|
|
|
|
<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\15.1.0-preview-000370-00\contentFiles\any\netcoreapp1.0\**;$(NuGetPackagesDir)\microsoft.codeanalysis.build.tasks\2.0.0-beta6-60922-08\contentFiles\any\any\**;$(NuGetPackagesDir)\microsoft.testplatform.cli\15.0.0-preview-20161101-02\contentFiles\any\any\**" />
|
|
</ItemGroup>
|
|
<Copy SourceFiles="@(HackFilesToCopy)"
|
|
DestinationFiles="@(HackFilesToCopy->'$(SdkOutputDirectory)/%(RecursiveDir)%(Filename)%(Extension)')" />
|
|
|
|
<!-- Publish DotNet -->
|
|
<DotNetPublishMsbuildLegacy ToolPath="%(Stage.DotnetDir)"
|
|
Output="$(SdkOutputDirectory)"
|
|
Configuration="$(Configuration)"
|
|
VersionSuffix="$(CommitCount)"
|
|
ProjectPath="$(SrcDirectory)/redist/redist.csproj"
|
|
MSBuildArgs="/p:GenerateRuntimeConfigurationFiles=true"/>
|
|
|
|
<!-- 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)" />
|
|
|
|
<RemoveAssetFromDepsPackages DepsFile="$(SdkOutputDirectory)/redist.deps.json"
|
|
SectionName="runtimeTargets"
|
|
AssetPath="$(BinaryToCorehostifyRelDir)/%(AssetsToRemoveFromDeps.Identity).exe" />
|
|
|
|
<Copy SourceFiles="$(SdkOutputDirectory)/%(FilesToMove.Identity)"
|
|
DestinationFiles="$(SdkOutputDirectory)/%(FilesToMove.Filename).dll" />
|
|
|
|
<!-- MSBuild needs csc.exe to be in the SdkOutputDirectory, or else it can't invoke it -->
|
|
<Move SourceFiles="$(BinaryToCorehostifyOutDir)/csc.exe"
|
|
DestinationFiles="$(SdkOutputDirectory)/csc.exe" />
|
|
|
|
<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)" />
|
|
|
|
<!-- 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)" />
|
|
|
|
<!-- Crossgen the Shared Framework -->
|
|
<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>
|
|
|
|
<Crossgen Condition=" '$(DISABLE_CROSSGEN)' != '1' "
|
|
SourceAssembly="%(CrossgenTargets.FullPath)"
|
|
DestinationPath="%(CrossgenTargets.FullPath)"
|
|
JITPath="$(LibCLRJitPath)"
|
|
CrossgenPath="$(CrossgenPath)"
|
|
ReadyToRun="True"
|
|
PlatformAssemblyPaths="@(PlatformAssemblies);
|
|
@(CompileStageSdkDirectories);
|
|
$(SharedFrameworkNameVersionPath)" />
|
|
|
|
<!-- 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" />
|
|
<MSBuildTargetsToCopy Include="$(MSBuildTargetsDirectory)/**/*.tasks" />
|
|
</ItemGroup>
|
|
|
|
<Copy SourceFiles="@(MSBuildTargetsToCopy)"
|
|
DestinationFiles="@(MSBuildTargetsToCopy->'$(SdkOutputDirectory)/%(RecursiveDir)%(Filename)%(Extension)')" />
|
|
|
|
<ItemGroup>
|
|
<FilesToClean Include="$(StageDirectory)/sdk/**/vbc.exe" />
|
|
</ItemGroup>
|
|
|
|
<Delete Files="@(FilesToClean)" />
|
|
|
|
<ItemGroup>
|
|
<FilesToCopy Include="$(StageDirectory)/**/*" />
|
|
<PdbsToClean Include="$(StageDirectory)/sdk/**/*.pdb" />
|
|
</ItemGroup>
|
|
|
|
<Copy SourceFiles="@(FilesToCopy)"
|
|
DestinationFiles="@(FilesToCopy->'$(StageSymbolsDirectory)\%(RecursiveDir)%(Filename)%(Extension)')" />
|
|
|
|
<Delete Files="@(PdbsToClean)" />
|
|
</Target>
|
|
</Project> |