This repository has been archived by the owner on Feb 25, 2021. It is now read-only.
/
Microsoft.AspNetCore.Blazor.Mono.csproj
50 lines (42 loc) · 3.01 KB
/
Microsoft.AspNetCore.Blazor.Mono.csproj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.0</TargetFramework>
<PackageDescription>Binaries for the Mono WebAssembly runtime and build tools used in Blazor applications.</PackageDescription>
<IsPackable>true</IsPackable>
<IsShipping>true</IsShipping>
<NoPackageAnalysis>true</NoPackageAnalysis>
<NuspecFile>Microsoft.AspNetCore.Blazor.Mono.nuspec</NuspecFile>
</PropertyGroup>
<PropertyGroup>
<BlazorBuildToolsExe>$(ArtifactsBinDir)Microsoft.AspNetCore.Blazor.BuildTools/$(Configuration)/netcoreapp2.1/Microsoft.AspNetCore.Blazor.BuildTools.dll</BlazorBuildToolsExe>
<MonoIncomingDir>$(MSBuildThisFileDirectory)incoming\</MonoIncomingDir>
<MonoDistDir>$(MSBuildThisFileDirectory)dist\</MonoDistDir>
<BclWipeSpecDir>$(MSBuildThisFileDirectory)bclwipe\</BclWipeSpecDir>
</PropertyGroup>
<ItemGroup>
<WasmItemsToCopy Include="$(MonoIncomingDir)wasm\**" />
<BclItemsToCopy Include="$(MonoIncomingDir)bcl\**" />
<FrameworkItemsToCopy Include="$(MonoIncomingDir)framework\**" />
<BclWipeSpecFiles Include="$(BclWipeSpecDir)**" />
</ItemGroup>
<Target Name="OptimizeMono" DependsOnTargets="OptimizeMonoWasm; OptimizeBcl" BeforeTargets="Build" />
<Target Name="OptimizeMonoWasm" Inputs="@(WasmItemsToCopy)" Outputs="@(WasmItemsToCopy->'$(MonoDistDir)wasm\%(RecursiveDir)%(FileName)%(Extension)')">
<!-- TODO: Implement WASM code stripping like in prototype -->
<Message Importance="High" Text="Creating optimized Mono WebAssembly build" />
<Copy SourceFiles="@(WasmItemsToCopy)" DestinationFiles="@(WasmItemsToCopy->'$(MonoDistDir)wasm\%(RecursiveDir)%(FileName)%(Extension)')" />
</Target>
<Target Name="OptimizeBcl" Inputs="@(BclItemsToCopy);@(BclWipeSpecFiles)" Outputs="@(BclItemsToCopy->'$(MonoDistDir)bcl\%(RecursiveDir)%(FileName)%(Extension)')">
<!-- Ensure the buildtools project builds first so we can use the resulting executable -->
<MSBuild Projects="..\Microsoft.AspNetCore.Blazor.BuildTools\Microsoft.AspNetCore.Blazor.BuildTools.csproj" />
<Message Importance="High" Text="Creating optimized BCL build" />
<Copy SourceFiles="@(BclItemsToCopy)" DestinationFiles="@(BclItemsToCopy->'$(MonoDistDir)bcl\%(RecursiveDir)%(FileName)%(Extension)')">
<Output TaskParameter="CopiedFiles" ItemName="_BclFilesCopied" />
</Copy>
<Copy SourceFiles="@(FrameworkItemsToCopy)" DestinationFiles="@(FrameworkItemsToCopy->'$(MonoDistDir)framework\%(RecursiveDir)%(FileName)%(Extension)')">
<Output TaskParameter="CopiedFiles" ItemName="_FrameworkFilesCopied" />
</Copy>
<Exec Command=""$(DotNetTool)" "$(BlazorBuildToolsExe)" ilwipe -s "$(BclWipeSpecDir.TrimEnd('\'))" -i "$(MonoIncomingDir)bcl" -o "$(MonoDistDir)bcl"" />
<Touch Files="@(_BclFilesCopied)" /> <!-- Make incremental builds work -->
<Touch Files="@(_FrameworkFilesCopied)" /> <!-- Make incremental builds work -->
</Target>
</Project>