me-web? skeleton: Avalonia 12 app, server, packaging and CI
Build / Desktop, server and tools (push) Successful in 1m7s
Build / Desktop, server and tools (push) Successful in 1m7s
The first screen (online or not, a Check button, every language with a draft notice), the desktop and Android heads, the server's /api/info and /api/ip, a release tool that builds deb, rpm, a Windows exe, macOS zips, a signed APK and the server, and the Gitea workflows that run it. Rules adapted from passolo; AGPL-3.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
This commit is contained in:
commit
7589121846
76 files changed
+3082
No files matched your search
@@ -0,0 +1,27 @@
|
||||
namespace MeWeb.Shared;
|
||||
|
||||
public static class Endpoints
|
||||
{
|
||||
public const string Host = "meweb.arasaka.software";
|
||||
public const string HostV4 = "v4.meweb.arasaka.software";
|
||||
public const string HostV6 = "v6.meweb.arasaka.software";
|
||||
|
||||
public static string Base => $"https://{Host}";
|
||||
public static string BaseV4 => $"https://{HostV4}";
|
||||
public static string BaseV6 => $"https://{HostV6}";
|
||||
|
||||
public const string Api = "/api";
|
||||
|
||||
public static class Server
|
||||
{
|
||||
public const string GET_Info = $"{Api}/info";
|
||||
public const string GET_Ip = $"{Api}/ip";
|
||||
}
|
||||
|
||||
public static class Downloads
|
||||
{
|
||||
public const string GET_Platform = "/download/{platform}";
|
||||
|
||||
public static string GET_M_Platform(string platform) => $"/download/{platform}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<RootNamespace>MeWeb.Shared</RootNamespace>
|
||||
<BuildCommit Condition="'$(BuildCommit)' == ''">dev</BuildCommit>
|
||||
<BuildTimeUtc Condition="'$(BuildTimeUtc)' == ''">2000-01-01T00:00:00Z</BuildTimeUtc>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="GenerateBuildInfo" BeforeTargets="BeforeCompile">
|
||||
<PropertyGroup>
|
||||
<BuildInfoPath>$(IntermediateOutputPath)BuildInfo.g.cs</BuildInfoPath>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<BuildInfoLine Include="namespace MeWeb.Shared%3B" />
|
||||
<BuildInfoLine Include="public static class BuildInfo" />
|
||||
<BuildInfoLine Include="{" />
|
||||
<BuildInfoLine Include=" public const string Version = "$(Version)"%3B" />
|
||||
<BuildInfoLine Include=" public const string Commit = "$(BuildCommit)"%3B" />
|
||||
<BuildInfoLine Include=" public const string BuiltAt = "$(BuildTimeUtc)"%3B" />
|
||||
<BuildInfoLine Include="}" />
|
||||
</ItemGroup>
|
||||
<WriteLinesToFile File="$(BuildInfoPath)" Lines="@(BuildInfoLine)" Overwrite="true" WriteOnlyWhenDifferent="true" />
|
||||
<ItemGroup>
|
||||
<Compile Include="$(BuildInfoPath)" />
|
||||
<FileWrites Include="$(BuildInfoPath)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
</Project>
|
||||
@@ -0,0 +1,11 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace MeWeb.Shared;
|
||||
|
||||
[JsonSourceGenerationOptions(JsonSerializerDefaults.Web)]
|
||||
[JsonSerializable(typeof(ViewInfo))]
|
||||
[JsonSerializable(typeof(ViewIp))]
|
||||
public partial class MeWebJsonContext : JsonSerializerContext
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
namespace MeWeb.Shared;
|
||||
|
||||
public class ViewInfo
|
||||
{
|
||||
public string Version { get; set; }
|
||||
public string Commit { get; set; }
|
||||
public string BuiltAt { get; set; }
|
||||
}
|
||||
|
||||
public class ViewIp
|
||||
{
|
||||
public string Address { get; set; }
|
||||
public string Family { get; set; }
|
||||
}
|
||||
Reference in new issue
Block a user