1 Commits

Author SHA1 Message Date
ebf42e0d92 Update .net10, k8s lib, avalonia 2025-11-13 19:58:48 +01:00
8 changed files with 37 additions and 29 deletions

View File

@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<ApplicationManifest>app.manifest</ApplicationManifest>
@@ -9,8 +9,9 @@
<Configurations>Debug;Release</Configurations>
<Platforms>AnyCPU</Platforms>
<ApplicationIcon>Assets/app.ico</ApplicationIcon>
<Version>0.1.4</Version>
<Version>1.7.0</Version>
<RuntimeIdentifiers>win-x64;linux-x64;osx-arm64</RuntimeIdentifiers>
<LangVersion>default</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DefineConstants>TRACE</DefineConstants>
@@ -22,21 +23,21 @@
<ItemGroup>
<PackageReference Include="Avalonia" Version="11.3.7" />
<PackageReference Include="Avalonia.Desktop" Version="11.3.7" />
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.3.7" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.3.7" />
<PackageReference Include="Avalonia.Controls.DataGrid" Version="11.3.7" />
<PackageReference Include="Avalonia" Version="11.3.8" />
<PackageReference Include="Avalonia.Desktop" Version="11.3.8" />
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.3.8" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.3.8" />
<PackageReference Include="Avalonia.Controls.DataGrid" Version="11.3.8" />
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.3.7" />
<PackageReference Include="Avalonia.ReactiveUI" Version="11.3.7" />
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.3.8" />
<PackageReference Include="Avalonia.Xaml.Interactions" Version="11.3.0.6" />
<PackageReference Include="Avalonia.Xaml.Interactivity" Version="11.3.0.6" />
<PackageReference Include="KubernetesClient" Version="17.0.14" />
<PackageReference Include="KubernetesClient" Version="18.0.5" />
<PackageReference Include="ReactiveUI.Avalonia" Version="11.3.8" />
<PackageReference Include="ReactiveUI.Fody" Version="19.5.41" />
<PackageReference Include="Serilog" Version="4.3.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="6.1.1" />
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
<PackageReference Include="SharpZipLib" Version="1.4.2" />
</ItemGroup>

View File

@@ -1,7 +1,8 @@
using Avalonia;
using Avalonia.ReactiveUI;
using System;
using Avalonia.Logging;
using ReactiveUI.Avalonia;
using Serilog;
namespace K8sFileBrowser;

View File

@@ -68,7 +68,7 @@ public class KubernetesService : IKubernetesService
try
{
var execResult = new KubernetesFileInformationResult(path);
var resultCode = _kubernetesClient
_kubernetesClient
.NamespacedPodExecAsync(
podName, namespaceName, containerName,
new[] { "find", path, "-maxdepth", "1", "-exec", "stat", "-c", "%F|%n|%s|%Y", "{}", ";" },
@@ -128,10 +128,15 @@ public class KubernetesService : IKubernetesService
}
using var streamReader = new StreamReader(stdError);
while (streamReader.EndOfStream == false)
var error = string.Empty;
while (await streamReader.ReadLineAsync(cancellationToken) is { } line)
{
var error = await streamReader.ReadToEndAsync(cancellationToken);
Log.Error("Remote error: {Error}",error);
error += line.Trim() + Environment.NewLine;
}
if (string.IsNullOrEmpty(error))
{
Log.Error("Remote error: {Error}",error);
}
});

View File

@@ -7,9 +7,10 @@ namespace K8sFileBrowser;
public class ViewLocator : IDataTemplate
{
public Control Build(object data)
public Control Build(object? data)
{
var name = data.GetType().FullName!.Replace("ViewModel", "View");
var name = data?.GetType().FullName!.Replace("ViewModel", "View");
if (name == null) return new TextBlock { Text = "Not Found: " + name };
var type = Type.GetType(name);
if (type != null)
@@ -20,7 +21,7 @@ public class ViewLocator : IDataTemplate
return new TextBlock { Text = "Not Found: " + name };
}
public bool Match(object data)
public bool Match(object? data)
{
return data is ViewModelBase;
}

View File

@@ -3,7 +3,7 @@
<!-- This manifest is used on Windows only.
Don't remove it as it might cause problems with window transparency and embeded controls.
For more details visit https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests -->
<assemblyIdentity version="1.4.0.0" name="K8sFileBrowser.Desktop"/>
<assemblyIdentity version="1.7.0.0" name="K8sFileBrowser.Desktop"/>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>

View File

@@ -12,7 +12,7 @@ class Build : NukeBuild
[Parameter("Configuration to build - Default is 'Debug' (local) or 'Release' (server)")]
readonly Configuration Configuration = IsLocalBuild ? Configuration.Debug : Configuration.Release;
[Parameter] readonly string Version = "1.6.0";
[Parameter] readonly string Version = "1.7.0";
AbsolutePath SourceDirectory => RootDirectory / "K8sFileBrowser";
AbsolutePath OutputDirectory => RootDirectory / "output";
@@ -47,12 +47,12 @@ class Build : NukeBuild
.SetConfiguration(Configuration)
.SetOutput(WinOutputDirectory)
.EnableSelfContained()
.SetFramework("net9.0")
.SetFramework("net10.0")
.SetRuntime("win-x64")
.EnablePublishSingleFile()
.EnablePublishReadyToRun()
.SetAuthors("Andreas Billmann")
.SetCopyright("Copyright (c) 2023")
.SetCopyright("Copyright (c) 2025")
.SetVersion(Version)
.SetProcessAdditionalArguments("-p:IncludeNativeLibrariesForSelfExtract=true"));
@@ -72,12 +72,12 @@ class Build : NukeBuild
.SetConfiguration(Configuration)
.SetOutput(LinuxOutputDirectory)
.EnableSelfContained()
.SetFramework("net9.0")
.SetFramework("net10.0")
.SetRuntime("linux-x64")
.EnablePublishSingleFile()
.EnablePublishReadyToRun()
.SetAuthors("Andreas Billmann")
.SetCopyright("Copyright (c) 2023")
.SetCopyright("Copyright (c) 2025")
.SetVersion(Version)
.SetProcessAdditionalArguments("-p:IncludeNativeLibrariesForSelfExtract=true"));
@@ -96,12 +96,12 @@ class Build : NukeBuild
.SetConfiguration(Configuration)
.SetOutput(OsxOutputDirectory)
.EnableSelfContained()
.SetFramework("net9.0")
.SetFramework("net10.0")
.SetRuntime("osx-arm64")
.EnablePublishSingleFile()
.EnablePublishReadyToRun()
.SetAuthors("Andreas Billmann")
.SetCopyright("Copyright (c) 2023")
.SetCopyright("Copyright (c) 2025")
.SetVersion(Version)
.SetProcessAdditionalArguments("-p:IncludeNativeLibrariesForSelfExtract=true"));

View File

@@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<RootNamespace></RootNamespace>
<NoWarn>CS0649;CS0169</NoWarn>
<NukeRootDirectory>..</NukeRootDirectory>

View File

@@ -1,6 +1,6 @@
{
"sdk": {
"version": "9.0.0",
"version": "10.0.0",
"rollForward": "latestFeature",
"allowPrerelease": false
}