assemble_rust/
rustc.rs

1//! Tasks that execute through rustc
2
3use assemble_core::file_collection::FileSet;
4
5use assemble_core::task::initialize_task::InitializeTask;
6
7use assemble_core::task::up_to_date::UpToDate;
8use assemble_core::{BuildResult, Executable, Project, Task};
9use assemble_std::specs::exec_spec::ExecSpec;
10
11/// A generic rustc task
12#[derive(Debug, CreateTask, TaskIO)]
13pub struct RustC {
14    source: FileSet,
15    dependencies: FileSet,
16}
17
18impl RustC {
19    pub fn create_exec_spec(&self) -> ExecSpec {
20        // ExecSpecBuilder::new()
21        //     .exec("rustc")
22        //     .build()
23        //     .unwrap()
24        todo!()
25    }
26}
27
28impl UpToDate for RustC {}
29
30impl InitializeTask for RustC {}
31
32impl Task for RustC {
33    fn task_action(_task: &mut Executable<Self>, _project: &Project) -> BuildResult {
34        todo!()
35    }
36}