Skip to content

Commit 7664e91

Browse files
committed
🔨 Support for arm64 #127
1 parent 490c7d4 commit 7664e91

File tree

13 files changed

+100
-32
lines changed

13 files changed

+100
-32
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ obj
1313
/src/Xecrets.Cli/TestCli/[email protected]
1414
/src/Xecrets.Cli/TestCli/test.mp4
1515
/src/Xecrets.Cli/TestCli/test.mp4.axx
16+
.DS_Store

.vscode/launch.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
"name": ".NET Core Launch (console)",
99
"type": "coreclr",
1010
"request": "launch",
11-
"preLaunchTask": "build",
11+
"preLaunchTask": "Build Xecrets.Cli",
1212
// If you have changed target frameworks, make sure to update the program path.
13-
"program": "${workspaceFolder}/Xecrets.Cli/bin/Debug/net6.0/XecretsCli.dll",
13+
"program": "${workspaceFolder}/src/Xecrets.Cli/bin/Debug/net8.0/XecretsCli.dll",
1414
"args": [],
15-
"cwd": "${workspaceFolder}/Xecrets.Cli",
15+
"cwd": "${workspaceFolder}/src/Xecrets.Cli",
1616
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
1717
"console": "internalConsole",
1818
"stopAtEntry": false

linux-arm64-zip.ps1

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Param ([Parameter(Mandatory=$true)][string]$Version)
2+
3+
$workdir = (Get-Location)
4+
Push-Location -Path "src\Xecrets.Cli\bin\Release\net8.0\publish\linux-arm64"
5+
try {
6+
wsl chmod 775 XecretsCli
7+
wsl mkdir XecretsCli-Linux-arm64-${Version}
8+
wsl cp -r XecretsCli XecretsCli-Linux-arm64-${Version}
9+
wsl tar -czvf XecretsCli-Linux-arm64-${Version}.tar.gz XecretsCli-Linux-arm64-${Version}
10+
wsl rm -rf XecretsCli-Linux-arm64-${Version}
11+
}
12+
finally
13+
{
14+
Pop-Location
15+
}

linux-x64-zip.ps1

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
Param ([Parameter(Mandatory=$true)][string]$Version)
22

33
$workdir = (Get-Location)
4-
Push-Location -Path "src\Xecrets.Cli\bin\Release\net8.0\publish\Linux-x64"
4+
Push-Location -Path "src\Xecrets.Cli\bin\Release\net8.0\publish\linux-x64"
55
try {
66
wsl chmod 775 XecretsCli
7-
wsl mkdir XecretsCli-Linux-${Version}
8-
wsl cp -r XecretsCli XecretsCli-Linux-${Version}
9-
wsl tar -czvf XecretsCli-Linux-${Version}.tar.gz XecretsCli-Linux-${Version}
10-
wsl rm -rf XecretsCli-Linux-${Version}
7+
wsl mkdir XecretsCli-Linux-x64-${Version}
8+
wsl cp -r XecretsCli XecretsCli-Linux-x64-${Version}
9+
wsl tar -czvf XecretsCli-Linux-x64-${Version}.tar.gz XecretsCli-Linux-x64-${Version}
10+
wsl rm -rf XecretsCli-Linux-x64-${Version}
1111
}
1212
finally
1313
{

macos-arm64-zip.ps1

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Param ([Parameter(Mandatory=$true)][string]$Version)
2+
3+
$workdir = (Get-Location)
4+
Push-Location -Path "src\Xecrets.Cli\bin\Release\net8.0\publish\osx-arm64"
5+
try {
6+
wsl chmod 775 XecretsCli
7+
wsl mkdir XecretsCli-macOS-arm64-${Version}
8+
wsl cp -r XecretsCli XecretsCli-macOS-arm64-${Version}
9+
wsl tar -czvf XecretsCli-macOS-arm64-${Version}.tar.gz XecretsCli-macOS-arm64-${Version}
10+
wsl rm -rf XecretsCli-macOS-arm64-${Version}
11+
}
12+
finally
13+
{
14+
Pop-Location
15+
}

macos-x64-zip.ps1

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ $workdir = (Get-Location)
44
Push-Location -Path "src\Xecrets.Cli\bin\Release\net8.0\publish\osx-x64"
55
try {
66
wsl chmod 775 XecretsCli
7-
wsl mkdir XecretsCli-macOS-${Version}
8-
wsl cp -r XecretsCli XecretsCli-macOS-${Version}
9-
wsl tar -czvf XecretsCli-macOS-${Version}.tar.gz XecretsCli-macOS-${Version}
10-
wsl rm -rf XecretsCli-macOS-${Version}
7+
wsl mkdir XecretsCli-macOS-x64-${Version}
8+
wsl cp -r XecretsCli XecretsCli-macOS-x64-${Version}
9+
wsl tar -czvf XecretsCli-macOS-x64-${Version}.tar.gz XecretsCli-macOS-x64-${Version}
10+
wsl rm -rf XecretsCli-macOS-x64-${Version}
1111
}
1212
finally
1313
{

osx-arm64-zip.ps1

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/Xecrets.Cli.sln

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1414
..\.editorconfig = ..\.editorconfig
1515
..\.gitignore = ..\.gitignore
1616
..\global.json = ..\global.json
17+
..\linux-arm64-zip.ps1 = ..\linux-arm64-zip.ps1
1718
..\linux-x64-zip.ps1 = ..\linux-x64-zip.ps1
18-
..\osx-x64-zip.ps1 = ..\osx-x64-zip.ps1
19+
..\macos-arm64-zip.ps1 = ..\macos-arm64-zip.ps1
20+
..\macos-x64-zip.ps1 = ..\macos-x64-zip.ps1
1921
..\README.md = ..\README.md
2022
..\SECURITY.md = ..\SECURITY.md
2123
..\win-x64-zip.ps1 = ..\win-x64-zip.ps1

src/Xecrets.Cli/Log/Splash.cs

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
#endregion Copyright and GPL License
2525

26+
using System.Runtime.InteropServices;
2627
using Xecrets.Licensing;
2728
using Xecrets.Licensing.Abstractions;
2829
using Xecrets.Licensing.Implementation;
@@ -39,13 +40,24 @@ internal class Splash
3940

4041
public Splash(string splash)
4142
{
42-
string runtime = OperatingSystem.IsLinux()
43-
? "linux-x64"
44-
: OperatingSystem.IsMacOS()
45-
? "macos-x64"
46-
: OperatingSystem.IsWindows()
47-
? "win-x64"
48-
: "unknown";
43+
string runtime;
44+
string archString = RuntimeInformation.OSArchitecture.ToString().ToLowerInvariant();
45+
if (OperatingSystem.IsMacOS())
46+
{
47+
runtime = $"macos-{archString}";
48+
}
49+
else if (OperatingSystem.IsLinux())
50+
{
51+
runtime = $"linux-{archString}";
52+
}
53+
else if (OperatingSystem.IsWindows())
54+
{
55+
runtime = $"win-{archString}";
56+
}
57+
else
58+
{
59+
runtime = $"unknown-{archString}";
60+
}
4961
string buildUtc = New<IBuildUtc>().BuildUtcText;
5062
_splash = splash
5163
.Replace("{gpl} ", New<IBuildUtc>().IsGplBuild ? "GPL " : string.Empty)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. -->
3+
<Project>
4+
<PropertyGroup>
5+
<Configuration>Release</Configuration>
6+
<Platform>Any CPU</Platform>
7+
<PublishDir>bin\Release\net8.0\publish\linux-arm64\</PublishDir>
8+
<PublishProtocol>FileSystem</PublishProtocol>
9+
<_TargetId>Folder</_TargetId>
10+
<TargetFramework>net8.0</TargetFramework>
11+
<RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
12+
<SelfContained>true</SelfContained>
13+
<PublishSingleFile>true</PublishSingleFile>
14+
<PublishTrimmed>true</PublishTrimmed>
15+
</PropertyGroup>
16+
</Project>

0 commit comments

Comments
 (0)