Repository navigation
Expand file tree
/
Copy pathOpenStreamMS.csproj
More file actions
109 lines (98 loc) · 5.28 KB
/
Copy pathOpenStreamMS.csproj
File metadata and controls
109 lines (98 loc) · 5.28 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
101
102
103
104
105
106
107
108
109
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows</TargetFramework>
<Version>1.5.1</Version>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<UseWindowsForms>true</UseWindowsForms>
<ApplicationIcon>app.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="10.0.0" />
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.4314.35" />
<PackageReference Include="NAudio.Wasapi" Version="2.2.1" />
<PackageReference Include="Scalar.AspNetCore" Version="2.14.8" />
<PackageReference Include="System.ServiceProcess.ServiceController" Version="10.0.0" />
<PackageReference Include="Vortice.D3DCompiler" Version="3.8.3" />
<PackageReference Include="Vortice.Direct3D11" Version="3.8.3" />
<PackageReference Include="Vortice.DXGI" Version="3.8.3" />
</ItemGroup>
<ItemGroup>
<Compile Remove="tests\**" />
<EmbeddedResource Remove="tests\**" />
<None Remove="tests\**" />
</ItemGroup>
<ItemGroup>
<None Update="service.config.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<Content Include="app.ico" Condition="Exists('$(MSBuildProjectDirectory)\app.ico')">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Scripts\*.ps1">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="LICENSE;THIRD_PARTY_NOTICES.md">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Core\Installer\Languages\InnoSetup-LICENSE.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<TargetPath>licenses\InnoSetup-LICENSE.txt</TargetPath>
</Content>
<Content Include="Core\wwwroot\app.js" />
<Content Include="Core\wwwroot\seats.js" />
<Content Include="Core\wwwroot\guide.js" />
<Content Include="Core\wwwroot\i18n.js" />
<Content Include="Core\wwwroot\ui-messages.js" />
<Content Include="Core\wwwroot\insights.js" />
<Content Include="Core\wwwroot\theme.js" />
<Content Include="Core\wwwroot\index.html" />
<Content Include="Core\wwwroot\login.html" />
<Content Include="Core\wwwroot\setup.html" />
<Content Include="Core\wwwroot\style.css" />
</ItemGroup>
<ItemGroup>
<Folder Include="ExternalDeps\" />
<EmbeddedResource Include="Services\TrayApp\Locales\*.json" LogicalName="OpenStreamMS.TrayLocales.%(Filename).json" />
<EmbeddedResource Include="Services\Localization\Locales\*.json" LogicalName="OpenStreamMS.BackendLocales.%(Filename).json" />
</ItemGroup>
<!-- Genera app.ico antes de compilar si no existe. BeforeBuild y no Build: "Build"
corre tras CoreCompile, que ya necesita el icono (un clon limpio no compilaba). -->
<Target Name="EnsureAppIcon" BeforeTargets="BeforeBuild" Condition="!Exists('$(MSBuildProjectDirectory)\app.ico')">
<Exec Command="powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File "$(MSBuildProjectDirectory)\generate-icon.ps1" -Out "$(MSBuildProjectDirectory)\app.ico"" />
</Target>
<Target Name="CopyWwwroot" AfterTargets="Build">
<ItemGroup>
<WwwrootFiles Include="$(MSBuildProjectDirectory)\Core\wwwroot\**\*" />
</ItemGroup>
<Copy SourceFiles="@(WwwrootFiles)" DestinationFolder="$(OutputPath)wwwroot\%(RecursiveDir)" SkipUnchangedFiles="true" />
</Target>
<Target Name="CopyFreeRdpFolder" AfterTargets="Build">
<ItemGroup>
<FreeRdpFiles Include="$(MSBuildProjectDirectory)\FreeRDP\**\*" />
</ItemGroup>
<Copy SourceFiles="@(FreeRdpFiles)" DestinationFolder="$(OutputPath)FreeRDP\%(RecursiveDir)" SkipUnchangedFiles="true" />
</Target>
<Target Name="CopySunshineFolder" AfterTargets="Build">
<ItemGroup>
<SunshineFiles Include="$(MSBuildProjectDirectory)\Sunshine\**\*" />
</ItemGroup>
<Copy SourceFiles="@(SunshineFiles)" DestinationFolder="$(OutputPath)Sunshine\%(RecursiveDir)" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
</Target>
<!-- Los Copy*Folder de arriba solo copian a $(OutputPath); dotnet publish (instalador)
necesita también wwwroot, FreeRDP y Sunshine en $(PublishDir). -->
<Target Name="PublishExtraFolders" AfterTargets="Publish">
<ItemGroup>
<PublishWwwrootFiles Include="$(MSBuildProjectDirectory)\Core\wwwroot\**\*" />
<PublishFreeRdpFiles Include="$(MSBuildProjectDirectory)\FreeRDP\**\*" />
<PublishSunshineFiles Include="$(MSBuildProjectDirectory)\Sunshine\**\*" />
</ItemGroup>
<Copy SourceFiles="@(PublishWwwrootFiles)" DestinationFolder="$(PublishDir)wwwroot\%(RecursiveDir)" SkipUnchangedFiles="true" />
<Copy SourceFiles="@(PublishFreeRdpFiles)" DestinationFolder="$(PublishDir)FreeRDP\%(RecursiveDir)" SkipUnchangedFiles="true" />
<Copy SourceFiles="@(PublishSunshineFiles)" DestinationFolder="$(PublishDir)Sunshine\%(RecursiveDir)" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
</Target>
</Project>