Skip to content

Commit 298b3b0

Browse files
committed
V2025.11.2
1 parent e473e17 commit 298b3b0

3 files changed

Lines changed: 28 additions & 35 deletions

File tree

Nickvision.FlatpakGenerator/FlatpakSourcesGenerator.cs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ static FlatpakSourcesGenerator()
2525
};
2626
}
2727

28-
public async Task<bool> CheckRuntimeAsync(string runtime, bool runAsUser)
28+
public static async Task<bool> CheckRuntimeAsync(string runtime, bool runAsUser)
2929
{
3030
using var process = new Process
3131
{
@@ -68,7 +68,7 @@ public async Task<bool> CheckRuntimeAsync(string runtime, bool runAsUser)
6868
return false;
6969
}
7070

71-
public async Task<List<NugetSource>> GenerateSourcesAsync(string input, int dotnetVersion, string? temp, bool selfContained, bool runAsUser)
71+
public static async Task<List<NugetSource>> GenerateSourcesAsync(string input, int dotnetVersion, string? temp, bool selfContained, bool runAsUser)
7272
{
7373
input = input.Replace("~", Environment.GetFolderPath(Environment.SpecialFolder.UserProfile));
7474
temp = Path.Combine(temp?.Replace("~", Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)) ?? Directory.GetCurrentDirectory(), "nuget-temp");
@@ -169,7 +169,22 @@ public async Task<List<NugetSource>> GenerateSourcesAsync(string input, int dotn
169169
return sources;
170170
}
171171

172-
private async Task<NugetSource?> GetExtraSourceAsync(string name)
172+
public static async Task WriteSourcesFileAsync(List<NugetSource> sources, string? output)
173+
{
174+
output = output?.Replace("~", Environment.GetFolderPath(Environment.SpecialFolder.UserProfile));
175+
if (string.IsNullOrEmpty(output))
176+
{
177+
output = "nuget-sources.json";
178+
}
179+
else if (!string.IsNullOrEmpty(output) && Path.GetExtension(output) != ".json")
180+
{
181+
output += ".json";
182+
}
183+
await File.WriteAllTextAsync(output, JsonSerializer.Serialize(sources, JsonSerializerOptions));
184+
Console.WriteLine($"[Info] Sources file written to {Path.GetFullPath(output)}");
185+
}
186+
187+
private static async Task<NugetSource?> GetExtraSourceAsync(string name)
173188
{
174189
name = name.ToLower();
175190
var catalog = await HttpClient.GetFromJsonAsync<NugetCatalog>($"https://api.nuget.org/v3/registration5-semver1/{name}/index.json", JsonSerializerOptions);
@@ -202,19 +217,4 @@ public async Task<List<NugetSource>> GenerateSourcesAsync(string input, int dotn
202217
DestinationFileName = filename
203218
};
204219
}
205-
206-
public async Task WriteSourcesFileAsync(List<NugetSource> sources, string? output)
207-
{
208-
output = output?.Replace("~", Environment.GetFolderPath(Environment.SpecialFolder.UserProfile));
209-
if (string.IsNullOrEmpty(output))
210-
{
211-
output = "nuget-sources.json";
212-
}
213-
else if (!string.IsNullOrEmpty(output) && Path.GetExtension(output) != ".json")
214-
{
215-
output += ".json";
216-
}
217-
await File.WriteAllTextAsync(output, JsonSerializer.Serialize(sources, JsonSerializerOptions));
218-
Console.WriteLine($"[Info] Sources file written to {Path.GetFullPath(output)}");
219-
}
220220
}

Nickvision.FlatpakGenerator/Nickvision.FlatpakGenerator.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
5+
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
66
<ImplicitUsings>disable</ImplicitUsings>
77
<Nullable>enable</Nullable>
88
<PackageId>Nickvision.FlatpakGenerator</PackageId>
9-
<Version>2025.11.1</Version>
9+
<Version>2025.11.2</Version>
1010
<Company>Nickvision</Company>
1111
<Authors>Nickvision</Authors>
1212
<Description>A tool to generate Flatpak sources file for .NET projects</Description>
@@ -22,13 +22,13 @@
2222
</PropertyGroup>
2323

2424
<ItemGroup>
25-
<PackageReference Include="System.CommandLine" Version="2.0.0-rc.2.25502.107" />
25+
<PackageReference Include="System.CommandLine" Version="2.0.0" />
2626
</ItemGroup>
2727

2828
<ItemGroup>
2929
<None Include="..\resources\logo.png">
3030
<Pack>True</Pack>
31-
<PackagePath/>
31+
<PackagePath />
3232
<Link>logo.png</Link>
3333
</None>
3434
</ItemGroup>

Nickvision.FlatpakGenerator/Program.cs

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,11 @@ namespace Nickvision.FlatpakGenerator;
66

77
public class Program
88
{
9-
private static readonly FlatpakSourcesGenerator _generator;
10-
11-
static Program()
12-
{
13-
_generator = new FlatpakSourcesGenerator();
14-
}
15-
169
public static async Task<int> Main(string[] args)
1710
{
18-
if (Environment.OSVersion.Platform != PlatformID.Unix)
11+
if (!OperatingSystem.IsLinux())
1912
{
20-
Console.Error.WriteLine("This tool can only be run on Linux.");
13+
Console.Error.WriteLine("This tool can only run on Linux.");
2114
return 1;
2215
}
2316
var rootCommand = new RootCommand("A tool to generate Flatpak sources file for .NET projects");
@@ -103,13 +96,13 @@ public static async Task<int> Main(string[] args)
10396
};
10497
checkCommand.SetAction(async x =>
10598
{
106-
await _generator.CheckRuntimeAsync("org.freedesktop.Sdk//24.08", x.GetValue<bool>("--run-as-user"));
107-
await _generator.CheckRuntimeAsync($"org.freedesktop.Sdk.Extension.dotnet{x.GetRequiredValue<int>("--dotnet")}//24.08", x.GetValue<bool>("--run-as-user"));
99+
await FlatpakSourcesGenerator.CheckRuntimeAsync("org.freedesktop.Sdk//24.08", x.GetValue<bool>("--run-as-user"));
100+
await FlatpakSourcesGenerator.CheckRuntimeAsync($"org.freedesktop.Sdk.Extension.dotnet{x.GetRequiredValue<int>("--dotnet")}//24.08", x.GetValue<bool>("--run-as-user"));
108101
});
109102
generateCommand.SetAction(async x =>
110103
{
111-
var sources = await _generator.GenerateSourcesAsync(x.GetRequiredValue<string>("--input"), x.GetRequiredValue<int>("--dotnet"), x.GetValue<string>("--temp"), x.GetValue<bool>("--self-contained"), x.GetValue<bool>("--run-as-user"));
112-
await _generator.WriteSourcesFileAsync(sources, x.GetValue<string>("--output"));
104+
var sources = await FlatpakSourcesGenerator.GenerateSourcesAsync(x.GetRequiredValue<string>("--input"), x.GetRequiredValue<int>("--dotnet"), x.GetValue<string>("--temp"), x.GetValue<bool>("--self-contained"), x.GetValue<bool>("--run-as-user"));
105+
await FlatpakSourcesGenerator.WriteSourcesFileAsync(sources, x.GetValue<string>("--output"));
113106
});
114107
rootCommand.Subcommands.Add(checkCommand);
115108
rootCommand.Subcommands.Add(generateCommand);

0 commit comments

Comments
 (0)