Skip to content

Commit 8ccd5b4

Browse files
committed
Write whether the frontend package was restored on build to an assembly attribute
1 parent 6c903f3 commit 8ccd5b4

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

src/GovUk.Frontend.AspNetCore/GovUk.Frontend.AspNetCore.targets

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,25 @@
22
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<PropertyGroup>
44
<BuildDependsOn>
5+
AddGovUkFrontendBuildInfoAttribute;
56
RestoreGovUkFrontendNpmPackage;
67
$(BuildDependsOn)
78
</BuildDependsOn>
89

910
<CopyAllFilesToSingleFolderForPackageDependsOn>
11+
AddGovUkFrontendBuildInfoAttribute;
1012
RestoreGovUkFrontendNpmPackage;
1113
$(CopyAllFilesToSingleFolderForPackageDependsOn)
1214
</CopyAllFilesToSingleFolderForPackageDependsOn>
1315

1416
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
17+
AddGovUkFrontendBuildInfoAttribute;
1518
RestoreGovUkFrontendNpmPackage;
1619
$(CopyAllFilesToSingleFolderForMsdeployDependsOn)
1720
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
1821

1922
<CopyFilesToOutputDirectory>
23+
AddGovUkFrontendBuildInfoAttribute;
2024
RestoreGovUkFrontendNpmPackage;
2125
$(CopyFilesToOutputDirectory)
2226
</CopyFilesToOutputDirectory>
@@ -26,6 +30,20 @@
2630
TaskName="GovUk.Frontend.AspNetCore.Build.DownloadNpmPackage"
2731
AssemblyFile="$(MSBuildThisFileDirectory)..\tools\net8.0\any\GovUk.Frontend.AspNetCore.Build.dll" />
2832

33+
<Target Name="AddGovUkFrontendBuildInfoAttribute">
34+
<PropertyGroup>
35+
<_frontendNpmPackageRestored>false</_frontendNpmPackageRestored>
36+
<_frontendNpmPackageRestored Condition="'$(RestoreGovUkFrontendNpmPackage)' == 'true'">true</_frontendNpmPackageRestored>
37+
</PropertyGroup>
38+
39+
<ItemGroup>
40+
<AssemblyAttribute Include="GovUk.Frontend.AspNetCore.GovUkFrontendBuildInfoAttribute">
41+
<_Parameter1>$(_frontendNpmPackageRestored)</_Parameter1>
42+
<_Parameter1_IsLiteral>true</_Parameter1_IsLiteral>
43+
</AssemblyAttribute>
44+
</ItemGroup>
45+
</Target>
46+
2947
<Target Name="RestoreGovUkFrontendNpmPackage" Condition="'$(RestoreGovUkFrontendNpmPackage)' == 'true'">
3048
<ReadLinesFromFile File="$(MSBuildThisFileDirectory)..\govuk-frontend-version.txt">
3149
<Output TaskParameter="Lines" ItemName="_GovUkFrontendVersionFileLines" />
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System.ComponentModel;
2+
3+
namespace GovUk.Frontend.AspNetCore;
4+
5+
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
6+
7+
[AttributeUsage(AttributeTargets.Assembly)]
8+
[EditorBrowsable(EditorBrowsableState.Never)]
9+
public sealed class GovUkFrontendBuildInfoAttribute : Attribute
10+
{
11+
public GovUkFrontendBuildInfoAttribute(bool frontendNpmPackageRestored)
12+
{
13+
FrontendNpmPackageRestored = frontendNpmPackageRestored;
14+
}
15+
16+
public bool FrontendNpmPackageRestored { get; }
17+
}

0 commit comments

Comments
 (0)