Build incrementalism for npmpropj files (#14032)
* Build incrementalism for npmpropj files * Ensure missing js output files results in rebuild * Make the _Pack target incremental * Reduce build spew
This commit is contained in:
parent
d7e19c429c
commit
a6fb55c405
|
|
@ -20,16 +20,20 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<TSFiles Include="$(MSBuildProjectDirectory)\*\*.ts" />
|
||||
<TSFiles Include="$(MSBuildProjectDirectory)\package.json" />
|
||||
<TSFiles Include="$(MSBuildProjectDirectory)\*.npmproj" />
|
||||
<TSFiles Include="src\**\*.ts" />
|
||||
<TSFiles Include="test\**\*.ts" />
|
||||
<TSFiles Include="package.json" />
|
||||
<TSFiles Include="*.npmproj" />
|
||||
|
||||
<BuildOutputFiles Include="$(BaseIntermediateOutputPath)\build-sentinel" />
|
||||
<BuildOutputFiles Include="dist\**\*.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="_CheckForInvalidConfiguration">
|
||||
<Error Text="Missing expected property: PackageId" Condition="'$(IsPackable)' != 'false' and '$(PackageId)' == ''" />
|
||||
|
||||
<Exec ContinueOnError="true" Command="node -v">
|
||||
<Output TaskParameter="ExitCode" PropertyName="ErrorCode"/>
|
||||
<Exec ContinueOnError="true" Command="node -v" StandardOutputImportance="Low">
|
||||
<Output TaskParameter="ExitCode" PropertyName="ErrorCode"/>
|
||||
</Exec>
|
||||
|
||||
<Error Text="Building *.npmproj but NodeJS was not detected on path. Ensure NodeJS is on path or disable building NodeJS projects with /p:BuildNodeJs=false. Skipping NodeJS projects will also skip managed projects depending on them, including Components, Mvc and Analysers." Condition="'$(ErrorCode)' != '0'"/>
|
||||
|
|
@ -53,12 +57,25 @@
|
|||
<CallTarget Targets="_Pack" Condition="'$(PackOnBuild)' == 'true'" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GetBuildInputCacheFile">
|
||||
<Hash ItemsToHash="@(TSFiles)">
|
||||
<Output TaskParameter="HashResult" PropertyName="_TSFileHash" />
|
||||
</Hash>
|
||||
|
||||
<WriteLinesToFile
|
||||
Lines="$(_TSFileHash)"
|
||||
File="$(BaseIntermediateOutputPath)tsfiles.cache"
|
||||
Overwrite="True"
|
||||
WriteOnlyWhenDifferent="True" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_Build"
|
||||
Condition="'$(IsBuildable)' != 'false'"
|
||||
Inputs="@(TSFiles)"
|
||||
Outputs="$(BaseIntermediateOutputPath)\build-sentinel" >
|
||||
DependsOnTargets="GetBuildInputCacheFile"
|
||||
Inputs="@(TSFiles);$(BaseIntermediateOutputPath)tsfiles.cache"
|
||||
Outputs="@(BuildOutputFiles)">
|
||||
<Yarn Command="$(NpmBuildArgs)" StandardOutputImportance="High" StandardErrorImportance="High" />
|
||||
<WriteLinesToFile Overwrite="true" File="$(BaseIntermediateOutputPath)\build-sentinel" />
|
||||
<WriteLinesToFile Overwrite="true" File="$(BaseIntermediateOutputPath)build-sentinel" />
|
||||
</Target>
|
||||
|
||||
<PropertyGroup>
|
||||
|
|
@ -73,7 +90,10 @@
|
|||
</PackDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="_Pack" Condition="'$(IsPackable)' == 'true'" >
|
||||
<Target Name="_Pack" Condition="'$(IsPackable)' == 'true'"
|
||||
Inputs="@(TSFiles)"
|
||||
Outputs="$(PackageOutputPath)\$(PackageFileName)">
|
||||
|
||||
<PropertyGroup>
|
||||
<_PackageTargetPath>$(MSBuildProjectDirectory)\$(PackageFileName)</_PackageTargetPath>
|
||||
</PropertyGroup>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,11 @@
|
|||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<BuildOutputFiles Include="dist\release\blazor.server.js" />
|
||||
<BuildOutputFiles Include="dist\release\blazor.webassembly.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference
|
||||
Include="..\..\SignalR\clients\ts\signalr\signalr.npmproj"
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -13,5 +13,9 @@
|
|||
<ProjectReference Include="..\signalr\signalr.npmproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<BuildOutputFiles Include="dist\browser\signalr-protocol-msgpack.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -8,5 +8,10 @@
|
|||
<IsShippingPackage>true</IsShippingPackage>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<BuildOutputFiles Include="dist\browser\signalr.js" />
|
||||
<BuildOutputFiles Include="dist\webworker\signalr.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
|
||||
</Project>
|
||||
|
|
|
|||
Loading…
Reference in New Issue