Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create packing UOS deb tool #106

Merged
merged 74 commits into from
Jan 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
21d04d6
新建创建给 UOS 使用的 deb 包项目
lindexi Dec 27, 2023
08c1acc
Copy code from quamotion/dotnet-packaging
lindexi Dec 27, 2023
abda148
加上感谢信息
lindexi Dec 27, 2023
51c5a2e
修复命名
lindexi Dec 27, 2023
418e6c8
删掉不使用的文件
lindexi Dec 27, 2023
20cfa0e
创建更多项目和添加引用
lindexi Dec 27, 2023
0a14fb8
开始获取项目信息尝试进入调试
lindexi Dec 27, 2023
7ebb3ab
调试测试定义打包时机
lindexi Dec 27, 2023
c5b6296
获取正确的打包工作文件夹
lindexi Dec 27, 2023
4b1f45e
开始写入命令参数
lindexi Dec 27, 2023
3eb14e1
添加更多参数
lindexi Dec 27, 2023
ad266b6
完成基础的打包代码
lindexi Dec 28, 2023
7da0096
添加快速调试代码
lindexi Dec 28, 2023
8494700
修复找不到文件
lindexi Dec 28, 2023
37dbd7e
尝试添加执行权限
lindexi Dec 28, 2023
37ce545
提供打包工具
lindexi Dec 28, 2023
eece20d
提供配置
lindexi Dec 28, 2023
341e376
提供创建文件逻辑
lindexi Dec 28, 2023
97b125a
对接打包
lindexi Dec 28, 2023
8e0c5f1
加上命令行参数
lindexi Jan 2, 2024
6cd9892
测试命令行参数
lindexi Jan 2, 2024
cc13033
支持命令行打包
lindexi Jan 2, 2024
533d752
删掉空值参数
lindexi Jan 2, 2024
96d20e2
提供打包输出参数
lindexi Jan 2, 2024
08a9155
完成命令行打包基础逻辑
lindexi Jan 2, 2024
a37de49
搭建命令行机制
lindexi Jan 2, 2024
2f855f1
减少多余的命令转换
lindexi Jan 2, 2024
4da7769
添加更多的参数
lindexi Jan 2, 2024
c5a948e
改进获取构建输出文件方法
lindexi Jan 2, 2024
b63c6c8
搭建日志框架
lindexi Jan 2, 2024
c796f23
完成创建文件
lindexi Jan 2, 2024
ce53d50
只有存在旧的文件夹才能删除
lindexi Jan 2, 2024
c9f7837
修复写入文件失败
lindexi Jan 2, 2024
2f633ec
修复输出格式化
lindexi Jan 2, 2024
c8eb566
修复换行
lindexi Jan 2, 2024
2bec412
修复打包失败
lindexi Jan 2, 2024
44eae28
修复工作文件夹
lindexi Jan 2, 2024
ddf09f1
优化警告内容
lindexi Jan 2, 2024
6c3110d
添加一些默认参数,让打包更加方便
lindexi Jan 2, 2024
9906ae4
准备发布版本
lindexi Jan 2, 2024
7fd3b5c
准备对接逻辑
lindexi Jan 2, 2024
ed43d59
修复因为相对路径错误导致找不到加载程序
lindexi Jan 3, 2024
c491f09
准备发布代码
lindexi Jan 3, 2024
a4d0e40
加上更多注释
lindexi Jan 3, 2024
84f6b04
拆分多个类型实现不同的功能
lindexi Jan 3, 2024
b9074e8
将配置放入到正确命名空间
lindexi Jan 3, 2024
62ff9e5
修复错误命名
lindexi Jan 3, 2024
7d0b60e
修复命名空间
lindexi Jan 3, 2024
0fa0486
拆分两个项目提供单独的工具
lindexi Jan 3, 2024
2d061df
加上更多打包日志修复乱码
lindexi Jan 3, 2024
a2d4341
修复找不到文件
lindexi Jan 3, 2024
595c7b6
重新修复输出乱码
lindexi Jan 3, 2024
54c9960
尝试加上标准过滤,但是失败
lindexi Jan 3, 2024
6e59862
Revert "尝试加上标准过滤,但是失败"
lindexi Jan 3, 2024
1cbce68
带上中文帮助
lindexi Jan 3, 2024
33d6f6b
测试不带参数命令行
lindexi Jan 3, 2024
98c58a3
Revert "测试不带参数命令行"
lindexi Jan 3, 2024
fb8846c
打包完成加上输出
lindexi Jan 3, 2024
188b0bd
提供支持定制安装包版本号
lindexi Jan 3, 2024
04bae27
添加使用文档
lindexi Jan 3, 2024
b22e4f0
添加配置注释
lindexi Jan 3, 2024
c8f510e
加上帮助内容
lindexi Jan 3, 2024
47c6140
添加更加细节的注释
lindexi Jan 4, 2024
1897023
加上调试方法
lindexi Jan 4, 2024
b141d16
提供矢量图标文件夹拷贝功能
lindexi Jan 4, 2024
4c643da
构建过程中传入配置参数
lindexi Jan 4, 2024
898675b
配置只有在 windows 平台才使用自己写的代码打包
lindexi Jan 4, 2024
b201a6e
加上文档例子
lindexi Jan 4, 2024
97b5eeb
添加开发信息和感谢
lindexi Jan 4, 2024
496c50f
减少命名空间引用
lindexi Jan 4, 2024
a956e7f
准备发布
lindexi Jan 4, 2024
8e60527
头铁一些,即使 Linux 上也用咱自己的打包算法 要是跑不了,就请用户自己手动执行命令行 尝试修复 CentOS / ArchLinux…
lindexi Jan 5, 2024
e351de1
修复属性写错
lindexi Jan 5, 2024
d7a8c41
更正注释
lindexi Jan 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions DebUOS/Packaging.DebUOS.NuGet/Build/package.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<Project>

</Project>
260 changes: 260 additions & 0 deletions DebUOS/Packaging.DebUOS.NuGet/Build/package.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
<Project>

<Target Name="AutoCreateDebUOS" AfterTargets="Publish" Condition="'$(AutoCreateDebUOSAfterPublish)' == 'true'" DependsOnTargets="CreateDebUOS">
<!-- 用来配置属性自动输出打包 -->
</Target>

<Target Name="CreateDebUOS" DependsOnTargets="Publish">
<!-- 这里用 DependsOnTargets 原因是不要默认打包,只需要打包命令写 -t:CreateDebUOS 参数 -->
<!-- 如果期望默认发布时自动打出 UOS 的 deb 包,可以通过设置 AutoCreateDebUOSAfterPublish 属性为 true 的值,依靠 AutoCreateDebUOS 触发打包 -->
<PropertyGroup>
<!-- 工作路径 -->
<DebUOSPackingWorkFolder>$([MSBuild]::NormalizePath($(IntermediateOutputPath), 'DebUOSPacking'))</DebUOSPackingWorkFolder>

<!-- 参数文件 -->
<DebUOSPackingArgsFile>$([MSBuild]::NormalizePath($(DebUOSPackingWorkFolder), 'DebUOSPackingArgs.coin'))</DebUOSPackingArgsFile>

<!-- 默认参数 -->
<AppName Condition="'$(AppName)' == ''">$(Product)</AppName>
<DebControlDescription Condition="'$(DebControlDescription)' == ''">$(Description)</DebControlDescription>
<DebControlMaintainer Condition="'$(DebControlMaintainer)' == ''">$(Authors)</DebControlMaintainer>
<DebControlMaintainer Condition="'$(DebControlMaintainer)' == ''">$(Author)</DebControlMaintainer>
<DebControlMaintainer Condition="'$(DebControlMaintainer)' == ''">$(Company)</DebControlMaintainer>
<DebControlMaintainer Condition="'$(DebControlMaintainer)' == ''">$(Publisher)</DebControlMaintainer>
<DebControlHomepage Condition="'$(DebControlHomepage)' == ''">$(PackageProjectUrl)</DebControlHomepage>
</PropertyGroup>
<ItemGroup>
<!-- COIN 格式的配置文件 https://github.com/dotnet-campus/dotnetCampus.Configurations -->
<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="WorkingFolder"/>
<DebUOSPackingWriteArgLine Include="$(DebUOSPackingWorkFolder)"/>
<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="ProjectPublishFolder"/>
<DebUOSPackingWriteArgLine Include="$([MSBuild]::NormalizePath($(MSBuildProjectDirectory), $(PublishDir)))"/>
<DebUOSPackingWriteArgLine Include=">"/>
<!-- 用来作为可执行文件的文件名 -->
<DebUOSPackingWriteArgLine Include="AssemblyName"/>
<DebUOSPackingWriteArgLine Include="$(AssemblyName)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<!-- 打包输出文件路径-->
<DebUOSPackingWriteArgLine Include="DebUOSOutputFilePath" Condition="$(DebUOSOutputFilePath)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebUOSOutputFilePath)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebControlFile" Condition="$(DebControlFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebControlFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebInfoFile" Condition="$(DebInfoFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebInfoFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebDesktopFile" Condition="$(DebDesktopFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebDesktopFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="AppId" Condition="$(AppId)!=''"/>
<DebUOSPackingWriteArgLine Include="$(AppId)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="UOSAppId" Condition="$(UOSAppId)!=''"/>
<DebUOSPackingWriteArgLine Include="$(UOSAppId)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="Version" Condition="$(Version)!=''"/>
<DebUOSPackingWriteArgLine Include="$(Version)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="UOSDebVersion" Condition="$(UOSDebVersion)!=''"/>
<DebUOSPackingWriteArgLine Include="$(UOSDebVersion)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebControlSection" Condition="$(DebControlSection)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebControlSection)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebControlPriority" Condition="$(DebControlPriority)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebControlPriority)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="Architecture" Condition="$(Architecture)!=''"/>
<DebUOSPackingWriteArgLine Include="$(Architecture)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebControlMultiArch" Condition="$(DebControlMultiArch)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebControlMultiArch)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebControlBuildDepends" Condition="$(DebControlBuildDepends)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebControlBuildDepends)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebControlStandardsVersion" Condition="$(DebControlStandardsVersion)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebControlStandardsVersion)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebControlMaintainer" Condition="$(DebControlMaintainer)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebControlMaintainer)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebControlHomepage" Condition="$(DebControlHomepage)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebControlHomepage)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DebControlDescription" Condition="$(DebControlDescription)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DebControlDescription)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="AppName" Condition="$(AppName)!=''"/>
<DebUOSPackingWriteArgLine Include="$(AppName)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="InfoPermissions" Condition="$(InfoPermissions)!=''"/>
<DebUOSPackingWriteArgLine Include="$(InfoPermissions)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="AppNameZhCN" Condition="$(AppNameZhCN)!=''"/>
<DebUOSPackingWriteArgLine Include="$(AppNameZhCN)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopCategories" Condition="$(DesktopCategories)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopCategories)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopKeywords" Condition="$(DesktopKeywords)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopKeywords)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopKeywordsZhCN" Condition="$(DesktopKeywordsZhCN)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopKeywordsZhCN)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopComment" Condition="$(DesktopComment)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopComment)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopCommentZhCN" Condition="$(DesktopCommentZhCN)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopCommentZhCN)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopExec" Condition="$(DesktopExec)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopExec)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopIcon" Condition="$(DesktopIcon)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopIcon)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopType" Condition="$(DesktopType)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopType)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopTerminal" Condition="$(DesktopTerminal)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopTerminal)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopStartupNotify" Condition="$(DesktopStartupNotify)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopStartupNotify)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="DesktopMimeType" Condition="$(DesktopMimeType)!=''"/>
<DebUOSPackingWriteArgLine Include="$(DesktopMimeType)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="PackingFolder" Condition="$(PackingFolder)!=''"/>
<DebUOSPackingWriteArgLine Include="$(PackingFolder)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="WorkingFolder" Condition="$(WorkingFolder)!=''"/>
<DebUOSPackingWriteArgLine Include="$(WorkingFolder)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="ProjectPublishFolder" Condition="$(ProjectPublishFolder)!=''"/>
<DebUOSPackingWriteArgLine Include="$(ProjectPublishFolder)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="UOSDebIconFolder" Condition="$(UOSDebIconFolder)!=''"/>
<DebUOSPackingWriteArgLine Include="$(UOSDebIconFolder)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="SvgIconFile" Condition="$(SvgIconFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(SvgIconFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="Png16x16IconFile" Condition="$(Png16x16IconFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(Png16x16IconFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="Png24x24IconFile" Condition="$(Png24x24IconFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(Png24x24IconFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="Png32x32IconFile" Condition="$(Png32x32IconFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(Png32x32IconFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="Png48x48IconFile" Condition="$(Png48x48IconFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(Png48x48IconFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="Png128x128IconFile" Condition="$(Png128x128IconFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(Png128x128IconFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="Png256x256IconFile" Condition="$(Png256x256IconFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(Png256x256IconFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="Png512x512IconFile" Condition="$(Png512x512IconFile)!=''"/>
<DebUOSPackingWriteArgLine Include="$(Png512x512IconFile)"/>
<DebUOSPackingWriteArgLine Include=">"/>

</ItemGroup>
<WriteLinesToFile File="$(DebUOSPackingArgsFile)" Lines="@(DebUOSPackingWriteArgLine)" Overwrite="True" />
<Exec Command="dotnet &quot;$(MSBuildThisFileDirectory)..\tools\Packaging.DebUOS.Tool.dll&quot; -p $(DebUOSPackingArgsFile)" />
</Target>
</Project>
36 changes: 36 additions & 0 deletions DebUOS/Packaging.DebUOS.NuGet/Packaging.DebUOS.NuGet.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

<PropertyGroup>
<IncludeBuildOutput>false</IncludeBuildOutput>
<!-- <BuildOutputTargetFolder>tools</BuildOutputTargetFolder> -->
<!-- Suppress warning about lib being empty -->
<NoPackageAnalysis>true</NoPackageAnalysis>
<!-- <IncludeSymbols>true</IncludeSymbols> -->
<!-- <SymbolPackageFormat>snupkg</SymbolPackageFormat> -->
<!-- <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder> -->
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<DevelopmentDependency>true</DevelopmentDependency>
<PackageId>Packaging.DebUOS</PackageId>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Packaging.DebUOS.Tool\Packaging.DebUOS.Tool.csproj" ReferenceOutputAssembly="false">
<!-- 防止 nuget 引用 -->
<PrivateAssets>all</PrivateAssets>
</ProjectReference>
</ItemGroup>

<ItemGroup>
<None Include="Build\package.targets" Pack="True" PackagePath="\build\$(PackageId).targets" />
<None Include="Build\package.props" Pack="True" PackagePath="\build\$(PackageId).props" />

<!-- 不能引用自身,因为自身是 DLL 而不是 EXE 输出,将不会带上依赖 -->
<None Include="..\Packaging.DebUOS.Tool\bin\$(Configuration)\$(TargetFramework)\**\*" Pack="True" Exclude="..\Packaging.DebUOS.Tool\bin\$(Configuration)\$(TargetFramework)\publish\**\*" PackagePath="\tools\" />
</ItemGroup>

</Project>
25 changes: 25 additions & 0 deletions DebUOS/Packaging.DebUOS.Tool/Options.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using dotnetCampus.Cli;

namespace Packaging.DebUOS.Tool;

/// <summary>
/// 命令行参数
/// </summary>
public class Options
{
/// <summary>
/// 将给定路径文件夹打包为 UOS 的 deb 包
/// </summary>
/// 和 <see cref="PackageArgumentFilePath"/> 二选一,如果同时存在,优先使用 <see cref="BuildPath"/> 参数
[Option('b', "Build", Description = "Build path", LocalizableDescription = "将符合 UOS 安装包组织规范的文件夹打包为 deb 包,和 -p 参数二选一")]
public string? BuildPath { set; get; }

/// <summary>
/// 将根据给定的打包参数文件打包为 UOS 的 deb 包
/// </summary>
[Option('p', "Pack", Description = "Package argument file path", LocalizableDescription = "使用给定的 coin 格式参数文件制作 deb 包")]
public string? PackageArgumentFilePath { set; get; }

[Option('o', "Output", Description = "Output path", LocalizableDescription = "输出的 deb 文件路径")]
public string? OutputPath { set; get; }
}
30 changes: 30 additions & 0 deletions DebUOS/Packaging.DebUOS.Tool/Packaging.DebUOS.Tool.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup>
<!-- <BuildOutputTargetFolder>tools</BuildOutputTargetFolder> -->
<!-- Suppress warning about lib being empty -->
<NoPackageAnalysis>true</NoPackageAnalysis>
<!-- <IncludeSymbols>true</IncludeSymbols> -->
<!-- <SymbolPackageFormat>snupkg</SymbolPackageFormat> -->
<!-- <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder> -->
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<DevelopmentDependency>true</DevelopmentDependency>
<!-- 嵌入源代码到符号文件,方便调试 -->
<EmbedAllSources>true</EmbedAllSources>
<PackAsTool>True</PackAsTool>
<ToolCommandName>dotnet-dpkg-debuos</ToolCommandName>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Packaging.DebUOS\Packaging.DebUOS.csproj">
<!-- 防止 nuget 引用 -->
<PrivateAssets>all</PrivateAssets>
</ProjectReference>
</ItemGroup>
</Project>
Loading
Loading