Skip to content

Commit

Permalink
变更命名防止别的逻辑也使用这个属性
Browse files Browse the repository at this point in the history
  • Loading branch information
lindexi committed Nov 12, 2024
1 parent fb430cc commit 1410fba
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 9 deletions.
4 changes: 2 additions & 2 deletions DebUOS/Packaging.DebUOS.NuGet/Build/package.targets
Original file line number Diff line number Diff line change
Expand Up @@ -305,8 +305,8 @@
<DebUOSPackingWriteArgLine Include=">"/>

<DebUOSPackingWriteArgLine Include=">"/>
<DebUOSPackingWriteArgLine Include="ReplaceBinWithAppVersion" Condition="$(ReplaceBinWithAppVersion)!=''"/>
<DebUOSPackingWriteArgLine Include="$([MSBuild]::Escape($(ReplaceBinWithAppVersion)))"/>
<DebUOSPackingWriteArgLine Include="UsingAppVersionInsteadOfBinOnDebPacking" Condition="$(UsingAppVersionInsteadOfBinOnDebPacking)!=''"/>
<DebUOSPackingWriteArgLine Include="$([MSBuild]::Escape($(UsingAppVersionInsteadOfBinOnDebPacking)))"/>
<DebUOSPackingWriteArgLine Include=">"/>

</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -672,11 +672,13 @@ public string? ExcludePackingDebFileExtensions
set => SetValue(value);
get => GetString() ?? ".pdb;.dbg;.md";
}

/// <summary>
/// 打包时是否将 bin 文件夹替换为应用版本号,默认不替换
/// 打包时是否将 bin 文件夹替换为应用版本号,默认不替换。如设置为 True 将使用 <see cref="UOSDebVersion"/> 属性的版本号作为文件夹名替换 bin 文件夹名
/// </summary>
public bool ReplaceBinWithAppVersion
/// <remarks>有些应用期望里层带版本号,即打出 `/opt/apps/${AppId}/files/${UOSDebVersion}/${AssemblyName}`格式的路径,如 `/opt/apps/com.dotnetcampus.app/files/1.0.0/app` 的路径,可以方便用来做软件更新。默认为 false 打出来的是 /opt/apps/${AppId}/files/bin/${AssemblyName} 格式的路径</remarks>
/// <example>False</example>
public bool UsingAppVersionInsteadOfBinOnDebPacking
{
set => SetValue(value);
get => GetBoolean() ?? false;
Expand Down
14 changes: 10 additions & 4 deletions DebUOS/Packaging.DebUOS/DebUOSPackageFileStructCreator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,15 @@ public void CreatePackagingFolder(DebUOSConfiguration configuration)
var appIdFolder = Path.Join(packingFolder, "opt", "apps", appId);
var filesFolder = Path.Join(appIdFolder, "files");
Directory.CreateDirectory(filesFolder);
var applicationFolder = configuration.ReplaceBinWithAppVersion ? Path.Join(filesFolder, configuration.UOSDebVersion) : Path.Join(filesFolder, "bin");
var binaryFolderName = "bin";
if (configuration.UsingAppVersionInsteadOfBinOnDebPacking)
{
// 如果配置了使用版本号作为文件夹名,则使用版本号作为文件夹名
// 否则使用 bin 作为文件夹名
binaryFolderName = configuration.UOSDebVersion;
}

var applicationFolder = Path.Join(filesFolder, binaryFolderName);
if (!FolderUtils.CreateSymbolLinkOrCopyFolder(projectPublishFolder, applicationFolder))
{
throw new PackagingException($"将发布输出文件拷贝到安装包打包文件夹失败,从 '{projectPublishFolder}' 复制到 '{applicationFolder}' 失败");
Expand Down Expand Up @@ -153,9 +161,7 @@ public void CreatePackagingFolder(DebUOSConfiguration configuration)
{
// 这里不能使用 Path.Join 方法,因为如果在 Windows 上进行打包,会将 \ 替换为 /,导致打包失败
//var exec = Path.Join("/opt/apps", appId, "files", "bin", configuration.AssemblyName);
var exec = configuration.ReplaceBinWithAppVersion
? $"/opt/apps/{appId}/files/{configuration.UOSDebVersion}/{configuration.AssemblyName}"
: $"/opt/apps/{appId}/files/bin/{configuration.AssemblyName}";
var exec = $"/opt/apps/{appId}/files/{binaryFolderName}/{configuration.AssemblyName}";
stringBuilder.Append($"Exec={exec}\n");
}

Expand Down

0 comments on commit 1410fba

Please sign in to comment.