|
1 | | -/*=============================================================================*/ |
2 | | -/* File Path: Element/Maintain/Source/Library.rs */ |
3 | | -/*=============================================================================*/ |
4 | | -/* Module: Library */ |
5 | | -/* */ |
6 | | -/* Brief Description: Entry point for the Maintain binary supporting both */ |
7 | | -/* Build and Run workflows. */ |
8 | | -/* */ |
9 | | -/* RESPONSIBILITIES: */ |
10 | | -/* ================ */ |
11 | | -/* */ |
12 | | -/* Primary: */ |
13 | | -/* - Serve as the entry point for the Maintain orchestrator */ |
14 | | -/* - Initialize Build and Run modules based on CLI arguments */ |
15 | | -/* - Route commands to appropriate workflow handlers */ |
16 | | -/* */ |
17 | | -/* Secondary: */ |
18 | | -/* - Provide unified CLI interface for build and run operations */ |
19 | | -/* - Support legacy mode for backward compatibility */ |
20 | | -/* */ |
21 | | -/* ARCHITECTURAL ROLE: */ |
22 | | -/* =================== */ |
23 | | -/* */ |
24 | | -/* Position: */ |
25 | | -/* - Entry point layer */ |
26 | | -/* - Binary initialization and routing */ |
27 | | -/* */ |
28 | | -/* Dependencies (What this module requires): */ |
29 | | -/* - External crates: clap, std */ |
30 | | -/* - Internal modules: Build, Run */ |
31 | | -/* - Traits implemented: None */ |
32 | | -/* */ |
33 | | -/* Dependents (What depends on this module): */ |
34 | | -/* - Cargo.toml (binary definition) */ |
35 | | -/* - Build system entry point */ |
36 | | -/* - Development run entry point */ |
37 | | -/* */ |
38 | | -/*=============================================================================*/ |
39 | | -/* IMPLEMENTATION */ |
40 | | -/*=============================================================================*/ |
41 | | - |
42 | | -// Disable Windows console for release builds |
43 | 1 | #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] |
44 | | - |
45 | | -// Allow PascalCase naming for function names |
46 | 2 | #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] |
47 | 3 |
|
48 | | -/*=============================================================================*/ |
49 | | -/* MAIN ENTRY POINT */ |
50 | | -/*=============================================================================*/ |
| 4 | +//! # Maintain: CI/CD and Build Orchestrator for Code Editor Land |
| 5 | +//! |
| 6 | +//! Maintain is the build system that compiles, bundles, and packages Land for |
| 7 | +//! all three platforms (macOS, Windows, Linux) from a single command. It |
| 8 | +//! replaces ad-hoc shell scripts with a structured Rust binary that handles |
| 9 | +//! profile management, Tauri builds, and development server orchestration. |
| 10 | +//! |
| 11 | +//! ## Two Modes |
| 12 | +//! |
| 13 | +//! **Build mode** (default): Compile Land for release or debug with named |
| 14 | +//! profiles that configure Cargo flags, Tauri targets, and environment vars. |
| 15 | +//! |
| 16 | +//! ```bash |
| 17 | +//! cargo run --bin Maintain -- --profile debug-mountain |
| 18 | +//! cargo run --bin Maintain -- --list-profiles |
| 19 | +//! ``` |
| 20 | +//! |
| 21 | +//! **Run mode** (`--run`): Start the development server with hot reload. |
| 22 | +//! |
| 23 | +//! ```bash |
| 24 | +//! cargo run --bin Maintain -- --run --profile debug-mountain |
| 25 | +//! ``` |
| 26 | +//! |
| 27 | +//! ## Modules |
| 28 | +//! |
| 29 | +//! - [`Build`]: Build orchestration, profile resolution, Tauri invocation |
| 30 | +//! - [`Run`]: Development server, watch mode, profile-aware dev builds |
| 31 | +//! - [`Architecture`]: Target triple detection and platform support |
51 | 32 |
|
52 | 33 | /// The primary entry point for the Maintain Orchestrator binary. |
53 | 34 | /// |
|
0 commit comments