-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathPiton.NuGet.proj
71 lines (60 loc) · 3.14 KB
/
Piton.NuGet.proj
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
<Project Sdk="Microsoft.Build.NoTargets/3.7.56" DefaultTargets="Pack">
<PropertyGroup>
<NoWarn>NU5100;NU5128;MSB3245</NoWarn> <!-- Disable irrelevant warnings -->
<!-- NuGet metadata -->
<PackageId>Piton</PackageId>
<Version>1.0.0</Version>
<Authors>Popax21</Authors>
<TargetFramework>net5.0</TargetFramework> <!-- This is pretty much just for MSBuild version compatibility checking -->
<Description>Publish self-contained .NET applications while downloading the runtime on-the-fly</Description>
</PropertyGroup>
<!-- Include MSBuild .props / .target files -->
<ItemGroup>
<Content Include="build/" PackagePath="build/" />
</ItemGroup>
<!-- Build + Include custom MSBuild tasks -->
<ItemGroup>
<ProjectReference Include="msbuild/Piton.Tasks.csproj" />
</ItemGroup>
<Target Name="PackTasksAssembly" BeforeTargets="Build">
<!-- Include it in the packaged .nupkg -->
<MSBuild Projects="msbuild/Piton.Tasks.csproj" Targets="GetTargetPath" Properties="Configuration=$(Configuration)">
<Output TaskParameter="TargetOutputs" ItemName="PitonTasksAssembly" />
</MSBuild>
<ItemGroup>
<Content Include="@(PitonTasksAssembly)" PackagePath="tasks" />
</ItemGroup>
</Target>
<!-- Include apphost binaries -->
<Target Name="PackAppHostBinaries" BeforeTargets="Build">
<ItemGroup>
<PitonBaseTargets Include="win_x86" ExecSuffix=".exe" />
<PitonBaseTargets Include="win_x64" ExecSuffix=".exe" />
<PitonBaseTargets Include="linux_x64" />
<PitonBaseTargets Include="macos_x64" />
<PitonBaseTargets Include="macos_arm64" />
<PitonUIDrivers Include="none" />
<PitonUIDrivers Include="cli" />
<PitonUIDrivers Include="gui" />
<PitonTargets Include="@(PitonBaseTargets)" UIDriver="%(PitonUIDrivers.Identity)" />
</ItemGroup>
<!-- Resolve apphost binary paths -->
<Error Text="No apphost binary directory given! Use the PitonAppHostBinDir MSBuild property to do so." Condition="'$(PitonAppHostBinDir)' == ''" />
<ItemGroup>
<_PitonAppHostBinRaw
Include="$(PitonAppHostBinDir)/piton-%(PitonTargets.Identity)-%(PitonTargets.UIDriver)%(PitonTargets.ExecSuffix)"
OSTarget="%(PitonTargets.Identity)"
UIDriver="%(PitonTargets.UIDriver)"
/>
<_PitonAppHostBin Include="@(_PitonAppHostBinRaw->Exists())" />
</ItemGroup>
<Error Text="No apphost binaries present in PitonAppHostBinDir '$(PitonAppHostBinDir)'!" Condition="@(_PitonAppHostBin->Count()) == 0" />
<!-- Include them in the packaged .nupkg -->
<ItemGroup>
<Content Include="@(_PitonAppHostBin)" PackagePath="apphost" />
</ItemGroup>
</Target>
<Target Name="PrintSupportedTargets" AfterTargets="PackAppHostBinaries">
<Message Text=" - supported UI drivers for target %(_PitonAppHostBin.OSTarget): @(_PitonAppHostBin->Metadata('UIDriver'), ', ')" Importance="high" />
</Target>
</Project>