release: v0.2.4 里程碑快照(孤儿提交,无父;树 = dev 68362e5)
CI / fmt (rustfmt --check) (push) Waiting to run
CI / clippy (ubuntu-latest) (push) Waiting to run
CI / clippy (windows-latest) (push) Waiting to run
CI / test (ubuntu-latest) (push) Waiting to run
CI / test (windows-latest) (push) Waiting to run
CI / build release (ubuntu-latest) (push) Waiting to run
CI / build release (windows-latest) (push) Waiting to run
CI / runtime smoke (ubuntu x64, xvfb) (push) Waiting to run
CI / runtime smoke (macos arm64, probe) (push) Skipped
CI / update-e2e (windows x64) (push) Waiting to run
GPU evidence / GPU 判据自测(不需 GPU;跳过 ≠ 已验证) (push) Waiting to run
GPU evidence / GPU 证据 — 探测可用产物与硬件适配器 (push) Waiting to run
Guards / core 零 UI 守门 (push) Waiting to run
Guards / presenter 零 UI 守门 (push) Waiting to run
Guards / design 零第三方依赖守门 (push) Waiting to run
Guards / unsafe 落点守门(集合必须恰好等于期望) (push) Waiting to run
Guards / 文件行数 ≤400 守门 (push) Waiting to run
Guards / 依赖许可与来源(cargo-deny) (push) Waiting to run
Release guard / 发布标记语义守门(push tag → 稳定版) (push) Waiting to run
Signing status(播报,不是门禁) / 判据自测(三行/退出码/变异重放/接线) (push) Waiting to run
Signing status(播报,不是门禁) / 签名就绪度(播报) (push) Waiting to run
Release / 选槽位(默认四个:Windows 两档 + Linux 两档) (push) Waiting to run

本批内容见 CHANGELOG.md 的 0.2.4 段。按 D41 用孤儿快照推 main,保留「公开史只有里程碑」的模型。
This commit is contained in:
AskaEth committed 2026-11-11 21:41:38 +08:00
commit a5d1dec495
1580 files changed
+320938

No files matched your search

+53
View File
@@ -0,0 +1,53 @@
//! 测试共用设施(crate 名只出现在这里)。
use std::path::PathBuf;
pub use unlucky_core::launch::args_table::assemble;
pub use unlucky_core::launch::argument::{ArgumentEntry, OsRule, Rule, RuleContext};
pub use unlucky_core::launch::game_version::GameVersion;
pub use unlucky_core::launch::platform::{OsFamily, PlatformCtx};
pub use unlucky_core::launch::request::*;
pub use unlucky_core::platform::linux_caps::{self, GlProbe, LinuxCaps, SessionKind};
pub use unlucky_core::platform::macos_version::{self, MacOsVersion};
pub use unlucky_core::platform::os_info::{self, OsInfo, SupportCheck, SupportLevel};
pub use unlucky_core::platform::vk_probe::{
classify, count_icd_manifests, env_icd_path, ldconfig_has_libvulkan, loader_candidates,
probe_vk, registry_has_driver_entry, VkEvidence, VkProbe, ICD_DIRS, ICD_ENV_VARS,
VULKAN_DRIVERS_KEY,
};
pub use unlucky_core::platform::windows_version::{self, WindowsVersion};
/// 一个最小可组装请求:现代清单,游戏参数由调用方给。
pub fn request_with_game(game: Vec<ArgumentEntry>) -> LaunchRequest {
LaunchRequest {
instance: InstanceInfo {
id: "inst-1".to_string(),
name: "1.20.1".to_string(),
version: GameVersion::parse("1.20.1"),
version_type: "release".to_string(),
},
launcher: LauncherInfo {
name: "UnluckyLauncher".to_string(),
version: "0.1.0".to_string(),
},
java: JavaSelection::new("C:/java/bin/java.exe", 17, 64),
manifest: ManifestArgs {
main_class: Some("net.minecraft.client.main.Main".to_string()),
game,
..ManifestArgs::default()
},
classpath: vec![PathBuf::from("C:/mc/libraries/a.jar")],
..LaunchRequest::default()
}
}
/// 一条带 `rules.os.version` 的游戏参数项。
pub fn version_ruled_entry(pattern: &str, value: &str) -> ArgumentEntry {
let mut rule = Rule::allow();
rule.os = Some(OsRule {
name: None,
arch: None,
version: Some(pattern.to_string()),
});
ArgumentEntry::ruled(vec![rule], [value])
}