CI / Go Backend (push) Canceled after 0s
初始化 monorepo: Go后端(7微服务) + Unity客户端(9模块) + 启动器 HTML5原型: Three.js 3D体素世界, Perlin噪声地形, 原版材质, 22种方块 Minecraft创造模式背包: 双栏布局, 拖拽移动物品, 方向性元件引脚 AI助搭策划文档 + 客户端/服务端骨架 + Docker Compose + CI
49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
using PCL.Core.Minecraft.Java.Parser;
|
|
using PCL.Core.Minecraft.Java.Scanner;
|
|
using System.Threading.Tasks;
|
|
using PCL.Core.App.IoC;
|
|
|
|
namespace PCL.Core.Minecraft;
|
|
|
|
[LifecycleService(LifecycleState.Loaded)]
|
|
[LifecycleScope("java", "Java 管理")]
|
|
public sealed partial class JavaService
|
|
{
|
|
|
|
private static JavaManager? _javaManager;
|
|
public static JavaManager JavaManager => _javaManager!;
|
|
|
|
[LifecycleStart]
|
|
private static async Task _StartAsync()
|
|
{
|
|
if (_javaManager is not null) return;
|
|
|
|
Context.Info("Initializing Java Manager...");
|
|
|
|
_javaManager = new JavaManager(
|
|
new PeHeaderParser(),
|
|
[
|
|
new RegistryJavaScanner(),
|
|
new DefaultPathsScanner(),
|
|
new PathEnvironmentScanner(),
|
|
new MicrosoftStoreJavaScanner(),
|
|
new WhereCommandScanner()
|
|
]);
|
|
_javaManager.ReadConfig();
|
|
|
|
Context.Info("Lookup for local Java...");
|
|
await _javaManager.ScanJavaAsync();
|
|
|
|
var logInfo = string.Join("\n\t", _javaManager.GetSortedJavaList());
|
|
Context.Info($"Finished to scan java: \n\t{logInfo}");
|
|
}
|
|
|
|
[LifecycleStop]
|
|
private static void _Stop()
|
|
{
|
|
if (_javaManager is null) return;
|
|
|
|
_javaManager.SaveConfig();
|
|
_javaManager = null;
|
|
}
|
|
} |