Move nuget packaging properties to shared targets

This commit is contained in:
Caelan Sayler
2024-03-14 16:30:13 +00:00
parent 4834a5182f
commit 4088cee484
6 changed files with 74 additions and 97 deletions

View File

@@ -12,6 +12,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionLevel", "SolutionLe
.gitignore = .gitignore
.github\workflows\build.yml = .github\workflows\build.yml
src\Directory.Build.props = src\Directory.Build.props
src\Directory.Build.targets = src\Directory.Build.targets
nuget.config = nuget.config
README.md = README.md
Velopack.entitlements = Velopack.entitlements

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<ProjectName Condition=" '$(ProjectName)' == '' ">$(MSBuildProjectName)</ProjectName>
@@ -9,22 +10,16 @@
<AppendTargetFrameworkToOutputPath>true</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<LangVersion>latest</LangVersion>
<SignAssembly>True</SignAssembly>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
<AssemblyOriginatorKeyFile>..\..\Velopack.snk</AssemblyOriginatorKeyFile>
<DebugType>embedded</DebugType>
<DebugSymbols>true</DebugSymbols>
<PathMap>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)'))=./</PathMap>
<Product>Velopack</Product>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Copyright>Copyright © Caelan Sayler 2021</Copyright>
<Authors>Caelan Sayler;Kevin Bost</Authors>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/velopack/velopack</PackageProjectUrl>
<RepositoryUrl>https://github.com/velopack/velopack</RepositoryUrl>
<PackageTags>windows;macos;osx;updater;dotnet;installer;desktop;squirrel;velopack;autoupdate;automatic-updates</PackageTags>
<Description>Installer and automatic update framework for cross-platform desktop applications</Description>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\Velopack.snk</AssemblyOriginatorKeyFile>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(MSBuildProjectExtension)'=='.csproj' ">
@@ -32,9 +27,4 @@
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All"/>
</ItemGroup>
<PropertyGroup Condition=" '$(MSBuildProjectExtension)'=='.vcxproj' ">
<Platform Condition=" '$(Platform)' == '' OR '$(Platform)' == 'AnyCPU' ">Win32</Platform>
<IntDir>$(BaseIntermediateOutputPath)$(Configuration)\$(Platform)\</IntDir>
<OutDir>$(OutputPath)$(Platform)\</OutDir>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<!-- Automatically add all NuGet related properties if VelopackPackageId is set -->
<PropertyGroup Condition=" '$(VelopackPackageId)' != '' ">
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Copyright>Copyright © Velopack Ltd. All rights reserved.</Copyright>
<Authors>Velopack Ltd;Caelan Sayler;Kevin Bost</Authors>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/velopack/velopack</PackageProjectUrl>
<RepositoryUrl>https://github.com/velopack/velopack</RepositoryUrl>
<PackageTags>windows;macos;osx;updater;dotnet;installer;desktop;squirrel;velopack;autoupdate;automatic-updates</PackageTags>
<PackageIcon>Velopack_200.png</PackageIcon>
<PackageReadmeFile>README_NUGET.md</PackageReadmeFile>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Title>$(VelopackPackageId)</Title>
<Product>$(VelopackPackageId)</Product>
<PackageId>$(VelopackPackageId)</PackageId>
<IsPackable>true</IsPackable>
</PropertyGroup>
<Target Name="AddNugetStaticFiles" BeforeTargets="Build">
<ItemGroup Condition=" '$(VelopackPackageId)' != '' ">
<None Include="..\..\artwork\Velopack_200.png" Pack="true" PackagePath="\" />
<None Include="..\..\README_NUGET.md" Pack="true" PackagePath="\" />
</ItemGroup>
</Target>
<Target Name="AddNugetVendorLibs" BeforeTargets="Build" Condition=" '$(VelopackPackageVendorLibs)' == 'true' ">
<ItemGroup Condition=" $([System.OperatingSystem]::IsWindows()) or '$(PackRustAssets)' == 'true' ">
<None Include="..\Rust\target\release\update.exe" Pack="true" PackagePath="vendor" />
<None Include="..\Rust\target\release\setup.exe" Pack="true" PackagePath="vendor" />
<None Include="..\Rust\target\release\stub.exe" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\rcedit.exe" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\zstd.exe" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\signtool.exe" Pack="true" PackagePath="vendor" />
</ItemGroup>
<ItemGroup Condition=" $([System.OperatingSystem]::IsMacOS()) or '$(PackRustAssets)' == 'true' ">
<None Include="..\Rust\target\release\UpdateMac" Pack="true" PackagePath="vendor" />
<None Include="..\..\Velopack.entitlements" Pack="true" PackagePath="vendor" />
<None Include="..\..\artwork\DefaultApp.icns" Pack="true" PackagePath="vendor" />
</ItemGroup>
<ItemGroup Condition=" $([System.OperatingSystem]::IsLinux()) or '$(PackRustAssets)' == 'true' ">
<None Include="..\Rust\target\release\UpdateNix" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\appimagetool-x86_64.AppImage" Pack="true" PackagePath="vendor" />
<None Include="..\..\artwork\DefaultApp_64.png" Pack="true" PackagePath="vendor" />
</ItemGroup>
</Target>
</Project>

View File

@@ -10,6 +10,12 @@
<NoWarn>$(NoWarn);NU5128</NoWarn>
</PropertyGroup>
<PropertyGroup>
<VelopackPackageId>Velopack.Build</VelopackPackageId>
<VelopackPackageVendorLibs>true</VelopackPackageVendorLibs>
<DevelopmentDependency>true</DevelopmentDependency>
</PropertyGroup>
<PropertyGroup>
<!-- Improve devloop by clearing this package from NuGet cache before building -->
<HttpNuGetCache>$(LocalAppData)\NuGet\v3-cache</HttpNuGetCache>
@@ -23,18 +29,6 @@
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);IncludeTfmDependenciesInPackage</TargetsForTfmSpecificContentInPackage>
</PropertyGroup>
<PropertyGroup>
<Title>Velopack.Build</Title>
<Description>Velopack.Build</Description>
<PackageId>Velopack.Build</PackageId>
<PackageIcon>Velopack_200.png</PackageIcon>
<PackageReadmeFile>README_NUGET.md</PackageReadmeFile>
<Description>Quick and easy installer and automatic updates for cross-platform desktop applications</Description>
<DevelopmentDependency>true</DevelopmentDependency>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<RepositoryUrl>https://github.com/velopack/velopack</RepositoryUrl>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Velopack.Packaging.Unix\Velopack.Packaging.Unix.csproj" PrivateAssets="all" />
<ProjectReference Include="..\Velopack.Packaging.Windows\Velopack.Packaging.Windows.csproj" PrivateAssets="all" />
@@ -46,32 +40,9 @@
</ItemGroup>
<ItemGroup>
<None Include="..\..\artwork\Velopack_200.png" Pack="true" PackagePath="/" />
<None Include="..\..\README_NUGET.md" Pack="true" PackagePath="/" />
<None Include="Velopack.Build.targets" Pack="true" PackagePath="build/Velopack.Build.targets" />
</ItemGroup>
<ItemGroup Condition=" $([System.OperatingSystem]::IsWindows()) or '$(PackRustAssets)' == 'true' ">
<None Include="..\Rust\target\release\update.exe" Pack="true" PackagePath="vendor" />
<None Include="..\Rust\target\release\setup.exe" Pack="true" PackagePath="vendor" />
<None Include="..\Rust\target\release\stub.exe" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\rcedit.exe" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\zstd.exe" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\signtool.exe" Pack="true" PackagePath="vendor" />
</ItemGroup>
<ItemGroup Condition=" $([System.OperatingSystem]::IsMacOS()) or '$(PackRustAssets)' == 'true' ">
<None Include="..\Rust\target\release\UpdateMac" Pack="true" PackagePath="vendor" />
<None Include="..\..\Velopack.entitlements" Pack="true" PackagePath="vendor" />
<None Include="..\..\artwork\DefaultApp.icns" Pack="true" PackagePath="vendor" />
</ItemGroup>
<ItemGroup Condition=" $([System.OperatingSystem]::IsLinux()) or '$(PackRustAssets)' == 'true' ">
<None Include="..\Rust\target\release\UpdateNix" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\appimagetool-x86_64.AppImage" Pack="true" PackagePath="vendor" />
<None Include="..\..\artwork\DefaultApp_64.png" Pack="true" PackagePath="vendor" />
</ItemGroup>
<Target Name="IncludeTfmDependenciesInPackage">
<ItemGroup>
<TfmSpecificPackageFile Include="$(TargetDir)*.*">

View File

@@ -3,40 +3,18 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net6.0;net8.0</TargetFrameworks>
<IsPackable>true</IsPackable>
<AssemblyName>vpk</AssemblyName>
<PackageId>vpk</PackageId>
<PackageReadmeFile>README_NUGET.md</PackageReadmeFile>
<Title>Velopack CLI</Title>
<ToolCommandName>vpk</ToolCommandName>
<DevelopmentDependency>true</DevelopmentDependency>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackAsTool>true</PackAsTool>
<Description>A .NET Core Tool to build Velopack releases.</Description>
<PackageIcon>Velopack_200.png</PackageIcon>
<LangVersion>latest</LangVersion>
<NoWarn>$(NoWarn);CA2007;CS8002</NoWarn>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\artwork\Velopack_200.png" Pack="true" PackagePath="\" />
<None Include="..\..\README_NUGET.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup Condition="'$(PackRustAssets)' == 'true'">
<None Include="..\Rust\target\release\UpdateMac" Pack="true" PackagePath="vendor" />
<None Include="..\Rust\target\release\UpdateNix" Pack="true" PackagePath="vendor" />
<None Include="..\Rust\target\release\update.exe" Pack="true" PackagePath="vendor" />
<None Include="..\Rust\target\release\setup.exe" Pack="true" PackagePath="vendor" />
<None Include="..\Rust\target\release\stub.exe" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\appimagetool-x86_64.AppImage" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\rcedit.exe" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\zstd.exe" Pack="true" PackagePath="vendor" />
<None Include="..\..\vendor\signtool.exe" Pack="true" PackagePath="vendor" />
<None Include="..\..\Velopack.entitlements" Pack="true" PackagePath="vendor" />
<None Include="..\..\artwork\DefaultApp.icns" Pack="true" PackagePath="vendor" />
<None Include="..\..\artwork\DefaultApp_64.png" Pack="true" PackagePath="vendor" />
</ItemGroup>
<PropertyGroup>
<VelopackPackageId>vpk</VelopackPackageId>
<VelopackPackageVendorLibs>true</VelopackPackageVendorLibs>
<ToolCommandName>vpk</ToolCommandName>
<PackAsTool>true</PackAsTool>
<DevelopmentDependency>true</DevelopmentDependency>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />

View File

@@ -8,24 +8,9 @@
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<LangVersion>9</LangVersion>
<VelopackPackageId>Velopack</VelopackPackageId>
</PropertyGroup>
<PropertyGroup>
<Title>Velopack</Title>
<Description>Velopack</Description>
<PackageId>Velopack</PackageId>
<PackageIcon>Velopack_200.png</PackageIcon>
<PackageReadmeFile>README_NUGET.md</PackageReadmeFile>
<Description>Quick and easy installer and automatic updates for cross-platform desktop applications</Description>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<RepositoryUrl>https://github.com/velopack/velopack</RepositoryUrl>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\artwork\Velopack_200.png" Pack="true" PackagePath="\" />
<None Include="..\..\README_NUGET.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="NuGet.Versioning" Version="6.9.1" />
</ItemGroup>