ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
stage_prerequisites.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 Povl Filip Sonne-Frederiksen
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#pragma once
6
7// The CLI's one gate onto the pipeline stage contract (#246).
8//
9// This replaces apps/rux/src/validation.cpp, which was a second, hand-written
10// copy of the prerequisite rules in core/stage_contract.hpp. Because it was
11// separate, `rux validate --stage mesh` and `rux create mesh` could disagree,
12// and `rux create texture` was gated by a check nobody called. There is now
13// exactly one implementation, and this is a thin reporting wrapper over it.
14
15#include <reusex/core/validate.hpp>
16
17#include <string>
18
19namespace reusex {
20class ProjectDB;
21}
22
23namespace rux {
24
35 const reusex::core::ArtifactOverrides &overrides = {});
36
37} // namespace rux
PipelineStage
Pipeline stages that have an input contract.
std::map< std::string, std::string, std::less<> > ArtifactOverrides
Runtime substitutions for artifact names, for the flags that let a stage be pointed at a differently-...
Definition validate.hpp:98
int check_stage_prerequisites(const reusex::ProjectDB &db, reusex::core::PipelineStage stage, const reusex::core::ArtifactOverrides &overrides={})
Check stage's documented inputs against db and report any problem on the CLI log, including the deriv...