pub const LICENSE: &str = include_str!("../LICENSE");
pub const THIRD_PARTY_NOTICES: &str = include_str!("../THIRD-PARTY-NOTICES.txt");
pub fn license_text() -> String {
let rule = "#".repeat(80);
format!(
"{rule}\n# Run and Log\n{rule}\n\n{}\n\n{}",
LICENSE.trim_end(),
THIRD_PARTY_NOTICES
)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn the_license_text_starts_with_our_own_licence_and_carries_the_notices() {
let text = license_text();
assert!(text.contains("# Run and Log\n"));
assert!(text.contains("Copyright (c) 2026 Cyberneura"));
assert!(text.contains("THIRD-PARTY NOTICES"));
let own = text.find("Copyright (c) 2026 Cyberneura").unwrap();
let notices = text.find("THIRD-PARTY NOTICES").unwrap();
assert!(own < notices, "our own licence comes first");
}
}