-
-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
78 lines (78 loc) · 5.29 KB
/
Directory.Build.props
File metadata and controls
78 lines (78 loc) · 5.29 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?xml version="1.0" encoding="utf-8"?>
<Project>
<!-- Import parent Directory.Build.props if it exists (e.g., when running as submodule of Pro) -->
<Import Project="../Directory.Build.props" Condition="Exists('$(MSBuildThisFileDirectory)../Directory.Build.props')" />
<PropertyGroup>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<CoreVersion>5.0.0.82</CoreVersion>
<Configurations>Debug;Release;SourceGen Highlighting</Configurations>
<Platforms>AnyCPU</Platforms>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<CoreProjectPath>$(MSBuildThisFileDirectory)src/dymaptic.GeoBlazor.Core</CoreProjectPath>
<!-- https://github.com/dotnet/aspnetcore/issues/64381 -->
<StaticWebAssetEndpointExclusionPattern>
$(StaticWebAssetEndpointExclusionPattern);js/**
</StaticWebAssetEndpointExclusionPattern>
</PropertyGroup>
<PropertyGroup Condition="'$([System.OperatingSystem]::IsWindows())' == 'true' and '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString())' == 'X64'">
<GBBuildToolsPath>$(MSBuildThisFileDirectory)build-tools/win-x64</GBBuildToolsPath>
</PropertyGroup>
<PropertyGroup Condition="'$([System.OperatingSystem]::IsWindows())' == 'true' and '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString())' == 'Arm64'">
<GBBuildToolsPath>$(MSBuildThisFileDirectory)build-tools/win-arm64</GBBuildToolsPath>
</PropertyGroup>
<PropertyGroup Condition="'$([System.OperatingSystem]::IsMacOS())' == 'true' and '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString())' == 'X64'">
<GBBuildToolsPath>$(MSBuildThisFileDirectory)build-tools/osx-x64</GBBuildToolsPath>
</PropertyGroup>
<PropertyGroup Condition="'$([System.OperatingSystem]::IsMacOS())' == 'true' and '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString())' == 'Arm64'">
<GBBuildToolsPath>$(MSBuildThisFileDirectory)build-tools/osx-arm64</GBBuildToolsPath>
</PropertyGroup>
<PropertyGroup Condition="'$([System.OperatingSystem]::IsLinux())' == 'true' and '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString())' == 'X64'">
<GBBuildToolsPath>$(MSBuildThisFileDirectory)build-tools/linux-x64</GBBuildToolsPath>
</PropertyGroup>
<PropertyGroup Condition="'$([System.OperatingSystem]::IsLinux())' == 'true' and '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString())' == 'Arm64'">
<GBBuildToolsPath>$(MSBuildThisFileDirectory)build-tools/linux-arm64</GBBuildToolsPath>
</PropertyGroup>
<ItemGroup>
<Watch Remove="$(CoreProjectPath)\wwwroot\**\*;$(CoreProjectPath)\Scripts\**\*;**\esbuild*;$(CoreProjectPath)\node_modules\**\*" />
</ItemGroup>
<ItemGroup>
<CompilerVisibleProperty Include="Configuration" Value="$(GBBuildToolsPath)" />
<CompilerVisibleProperty Include="Configuration" Value="$(Configuration)" />
<CompilerVisibleProperty Include="DesignTimeBuild" Value="$(DesignTimeBuild)" />
<CompilerVisibleProperty Include="ShowScriptDialogs" Value="$(ShowScriptDialogs)" />
<CompilerVisibleProperty Include="CoreProjectPath" Value="$(CoreProjectPath)" />
<CompilerVisibleProperty Include="CoreProjectPath" Value="$(ProProjectPath)" />
</ItemGroup>
<!-- ESBuild Project Trigger: Must happen before RESTORE -->
<PropertyGroup>
<ESBuildLockFilePath>$(MSBuildThisFileDirectory)src/dymaptic.GeoBlazor.Core/esBuild.lock</ESBuildLockFilePath>
<ESBuildLockFileTimeStamp Condition="EXISTS($(ESBuildLockFilePath))">$([System.IO.File]::GetLastWriteTime(`$(ESBuildLockFilePath)`).Ticks)</ESBuildLockFileTimeStamp>
<ESBuildLockFileTimeStamp Condition="'$(ESBuildLockFileTimeStamp)' == ''">0</ESBuildLockFileTimeStamp>
<StaleFileThresholdTimeStamp>$([System.DateTime]::Now.AddMinutes(-5).Ticks)</StaleFileThresholdTimeStamp>
<ESBuildRemoveProps>
BuildProjectReferences;
Configuration;
EnableDefaultCompileItems;
EnableDefaultEmbeddedResourceItems;
EnableDefaultNoneItems;
ExcludeRestorePackageImports;
GBBuildToolsPath;
MSBuildIsRestoring;
MSBuildRestoreSessionId;
NugetInteractive;
Platform;
ShowScriptDialogs;
TargetFramework;
TargetFrameworks;
TriggerESBuild;
TriggerProESBuild
</ESBuildRemoveProps>
</PropertyGroup>
<Target Name="TriggerESBuild" BeforeTargets="Restore;BeforeBuild" Condition="'$(MSBuildProjectName)' != 'dymaptic.GeoBlazor.Core.ESBuild' AND (!EXISTS($(ESBuildLockFilePath)) OR $(ESBuildLockFileTimeStamp) < $(StaleFileThresholdTimeStamp))">
<WriteLinesToFile File="$(ESBuildLockFilePath)" Lines="$([System.DateTime]::Now.ToString(`o`))" Overwrite="false" ContinueOnError="true" />
<Exec Command="dotnet restore $(MSBuildThisFileDirectory)src/dymaptic.GeoBlazor.Core.ESBuild/dymaptic.GeoBlazor.Core.ESBuild.csproj" />
<MSBuild Projects="$(MSBuildThisFileDirectory)src/dymaptic.GeoBlazor.Core.ESBuild/dymaptic.GeoBlazor.Core.ESBuild.csproj" Properties="GBBuildToolsPath=$(GBBuildToolsPath);ShowScriptDialogs=$(ShowScriptDialogs)" RemoveProperties="$(ESBuildRemoveProps)" />
</Target>
</Project>