-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJobTracker.csproj
More file actions
100 lines (83 loc) · 7.33 KB
/
JobTracker.csproj
File metadata and controls
100 lines (83 loc) · 7.33 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<BlazorDisableThrowNavigationException>true</BlazorDisableThrowNavigationException>
<Version>1.$([System.DateTime]::Now.ToString("yy")).$([System.DateTime]::Now.ToString("MMdd")).$([System.DateTime]::Now.ToString("HHmm"))</Version>
<DefaultItemExcludes>$(DefaultItemExcludes);JobTracker.Tests\**</DefaultItemExcludes>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Azure.Identity" Version="1.17.1" />
<PackageReference Include="MailKit" Version="4.15.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="10.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.0" />
<PackageReference Include="Hangfire.Core" Version="1.8.*" />
<PackageReference Include="Hangfire.SqlServer" Version="1.8.*" />
<PackageReference Include="Hangfire.AspNetCore" Version="1.8.*" />
<PackageReference Include="Otp.NET" Version="1.4.0" />
</ItemGroup>
<!-- Extension directories to zip -->
<ItemGroup>
<ExtensionSource Include="BrowserExtensions\LinkedInExtension" ZipName="LinkedInExtension.zip" />
<ExtensionSource Include="BrowserExtensions\IndeedExtension" ZipName="IndeedExtension.zip" />
<ExtensionSource Include="BrowserExtensions\S1JobsExtension" ZipName="S1JobsExtension.zip" />
<ExtensionSource Include="BrowserExtensions\WTTJExtension" ZipName="WTTJExtension.zip" />
<ExtensionSource Include="BrowserExtensions\EnergyJobSearchExtension" ZipName="EnergyJobSearchExtension.zip" />
<ExtensionSource Include="BrowserExtensions\GenericExtension" ZipName="GenericExtension.zip" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\PublishProfiles\" />
</ItemGroup>
<!-- Update extension versions when content changes -->
<Target Name="UpdateExtensionVersions" BeforeTargets="ZipExtensions">
<Message Importance="high" Text="Checking extension versions..." />
<Exec Command="powershell -ExecutionPolicy Bypass -File "build\update-extension-version.ps1" -ExtensionDir "%(ExtensionSource.Identity)"" />
</Target>
<!-- Zip extensions on build -->
<Target Name="ZipExtensions" BeforeTargets="Build">
<Message Importance="high" Text="Creating extension zip files..." />
<!-- Ensure output directory exists -->
<MakeDir Directories="wwwroot/extensions" />
<!-- Delete existing zips to ensure fresh build -->
<Delete Files="wwwroot/extensions/LinkedInExtension.zip" Condition="Exists('wwwroot/extensions/LinkedInExtension.zip')" />
<Delete Files="wwwroot/extensions/IndeedExtension.zip" Condition="Exists('wwwroot/extensions/IndeedExtension.zip')" />
<Delete Files="wwwroot/extensions/S1JobsExtension.zip" Condition="Exists('wwwroot/extensions/S1JobsExtension.zip')" />
<Delete Files="wwwroot/extensions/WTTJExtension.zip" Condition="Exists('wwwroot/extensions/WTTJExtension.zip')" />
<Delete Files="wwwroot/extensions/EnergyJobSearchExtension.zip" Condition="Exists('wwwroot/extensions/EnergyJobSearchExtension.zip')" />
<Delete Files="wwwroot/extensions/GenericExtension.zip" Condition="Exists('wwwroot/extensions/GenericExtension.zip')" />
<!-- Create zip files using PowerShell (Windows) -->
<Exec Command="powershell -Command "Compress-Archive -Path 'BrowserExtensions\LinkedInExtension\*' -DestinationPath 'wwwroot\extensions\LinkedInExtension.zip' -Force"" Condition="Exists('BrowserExtensions\LinkedInExtension')" />
<Exec Command="powershell -Command "Compress-Archive -Path 'BrowserExtensions\IndeedExtension\*' -DestinationPath 'wwwroot\extensions\IndeedExtension.zip' -Force"" Condition="Exists('BrowserExtensions\IndeedExtension')" />
<Exec Command="powershell -Command "Compress-Archive -Path 'BrowserExtensions\S1JobsExtension\*' -DestinationPath 'wwwroot\extensions\S1JobsExtension.zip' -Force"" Condition="Exists('BrowserExtensions\S1JobsExtension')" />
<Exec Command="powershell -Command "Compress-Archive -Path 'BrowserExtensions\WTTJExtension\*' -DestinationPath 'wwwroot\extensions\WTTJExtension.zip' -Force"" Condition="Exists('BrowserExtensions\WTTJExtension')" />
<Exec Command="powershell -Command "Compress-Archive -Path 'BrowserExtensions\EnergyJobSearchExtension\*' -DestinationPath 'wwwroot\extensions\EnergyJobSearchExtension.zip' -Force"" Condition="Exists('BrowserExtensions\EnergyJobSearchExtension')" />
<Exec Command="powershell -Command "Compress-Archive -Path 'BrowserExtensions\GenericExtension\*' -DestinationPath 'wwwroot\extensions\GenericExtension.zip' -Force"" Condition="Exists('BrowserExtensions\GenericExtension')" />
<Message Importance="high" Text="Extension zip files created in wwwroot/extensions/" />
</Target>
<!-- Publish self-contained x86 and x64 builds, zip into Portable/.
Skips when already inside a publish (to avoid recursion). -->
<Target Name="CreatePortableZip" AfterTargets="Build"
Condition="'$(CreatePortableZip)' != 'false'">
<PropertyGroup>
<PortableOutputDir>$(MSBuildProjectDirectory)\Portable</PortableOutputDir>
</PropertyGroup>
<MakeDir Directories="$(PortableOutputDir)" />
<!-- x86 -->
<Message Importance="high" Text="Publishing self-contained portable build (win-x86)..." />
<Exec Command="dotnet publish "$(MSBuildProjectFullPath)" -c Release --self-contained -r win-x86 -p:PublishSingleFile=true -p:PublishReadyToRun=true -o "$(MSBuildProjectDirectory)\bin\portable-x86" -p:CreatePortableZip=false" />
<Exec Command="powershell -Command "if (Test-Path '$(MSBuildProjectDirectory)\bin\portable-x86\Data') { Remove-Item -Recurse -Force '$(MSBuildProjectDirectory)\bin\portable-x86\Data' }"" />
<Exec Command="powershell -Command "Remove-Item -Force '$(PortableOutputDir)\JobTracker-x86.zip*' -ErrorAction SilentlyContinue"" />
<Exec Command="7z a -v80m "$(PortableOutputDir)\JobTracker-x86.zip" "$(MSBuildProjectDirectory)\bin\portable-x86\*"" />
<RemoveDir Directories="$(MSBuildProjectDirectory)\bin\portable-x86" />
<Message Importance="high" Text="Portable build created: Portable\JobTracker-x86.zip (split at 80MB)" />
<!-- x64 -->
<Message Importance="high" Text="Publishing self-contained portable build (win-x64)..." />
<Exec Command="dotnet publish "$(MSBuildProjectFullPath)" -c Release --self-contained -r win-x64 -p:PublishSingleFile=true -p:PublishReadyToRun=true -o "$(MSBuildProjectDirectory)\bin\portable-x64" -p:CreatePortableZip=false" />
<Exec Command="powershell -Command "if (Test-Path '$(MSBuildProjectDirectory)\bin\portable-x64\Data') { Remove-Item -Recurse -Force '$(MSBuildProjectDirectory)\bin\portable-x64\Data' }"" />
<Exec Command="powershell -Command "Remove-Item -Force '$(PortableOutputDir)\JobTracker-x64.zip*' -ErrorAction SilentlyContinue"" />
<Exec Command="7z a -v80m "$(PortableOutputDir)\JobTracker-x64.zip" "$(MSBuildProjectDirectory)\bin\portable-x64\*"" />
<RemoveDir Directories="$(MSBuildProjectDirectory)\bin\portable-x64" />
<Message Importance="high" Text="Portable build created: Portable\JobTracker-x64.zip (split at 80MB)" />
</Target>
</Project>