Merge pull request #108 from echesakovMSFT/EnableCrossgenPublishDirARM

Enable CrossGen during publishing on ARM
This commit is contained in:
Nick Guerrera 2018-10-17 14:36:34 -07:00 committed by GitHub
commit f664f5d478
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 3 deletions

View file

@ -2,9 +2,13 @@
<PropertyGroup>
<RuntimeNETCoreAppPackageName>runtime.$(SharedFrameworkRid).microsoft.netcore.app</RuntimeNETCoreAppPackageName>
<_crossDir Condition="'$(Architecture)' == 'arm64'">/x64_arm64</_crossDir>
<_crossDir Condition="'$(Architecture)' == 'arm' And '$(OSName)' == 'win'">/x86_arm</_crossDir>
<_crossDir Condition="'$(Architecture)' == 'arm' And '$(OSName)' == 'linux'">/x64_arm</_crossDir>
<CrossgenPath>$(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/tools$(_crossDir)/crossgen$(ExeExtension)</CrossgenPath>
<LibCLRJitRid Condition="'$(Architecture)' != 'arm64'">$(SharedFrameworkRid)</LibCLRJitRid>
<LibCLRJitRid Condition="!$(Architecture.StartsWith('arm'))">$(SharedFrameworkRid)</LibCLRJitRid>
<LibCLRJitRid Condition="'$(Architecture)' == 'arm64'">x64_arm64</LibCLRJitRid>
<LibCLRJitRid Condition="'$(Architecture)' == 'arm' And '$(OSName)' == 'win'">x86_arm</LibCLRJitRid>
<LibCLRJitRid Condition="'$(Architecture)' == 'arm' And '$(OSName)' == 'linux'">x64_arm</LibCLRJitRid>
<LibCLRJitPath>$(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/runtimes/$(LibCLRJitRid)/native/$(DynamicLibPrefix)clrjit$(DynamicLibExtension)</LibCLRJitPath>
<SharedFrameworkNameVersionPath>$(OutputDirectory)/shared/$(SharedFrameworkName)/$(MicrosoftNETCoreAppPackageVersion)</SharedFrameworkNameVersionPath>
</PropertyGroup>

View file

@ -52,7 +52,9 @@ namespace Microsoft.DotNet.Build.Tasks
public override bool Execute()
{
TempOutputPath = Path.GetTempFileName();
string tempDirPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
Directory.CreateDirectory(tempDirPath);
TempOutputPath = Path.Combine(tempDirPath, Path.GetFileName(DestinationPath));
var toolResult = base.Execute();
@ -65,6 +67,7 @@ namespace Microsoft.DotNet.Build.Tasks
{
File.Delete(TempOutputPath);
}
Directory.Delete(tempDirPath);
if (toolResult && CreateSymbols)
{

View file

@ -123,7 +123,7 @@
</Target>
<Target Name="CrossgenPublishDir"
Condition=" '$(DISABLE_CROSSGEN)' == '' And !$(Architecture.StartsWith('arm')) "
Condition="'$(DISABLE_CROSSGEN)' == ''"
AfterTargets="PublishSdks">
<ItemGroup>
<RoslynFiles Include="$(PublishDir)Roslyn\bincore\**\*" />