//SPDX-License-Identifier: LGPL-3.0-only //SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts® module; #include "Crafter.Build-Api.h" export module Crafter.Build:Implementation; import std; namespace fs = std::filesystem; namespace Crafter { export class Module; export class ModulePartition; export class Implementation { public: std::vector moduleDependencies; std::vector partitionDependencies; std::vector> externalModuleDependencies; fs::path path; CRAFTER_API Implementation(fs::path&& path); CRAFTER_API bool Check(const fs::path& buildDir, const fs::path& pcmDir, fs::file_time_type sourceFloor = fs::file_time_type::min()) const; CRAFTER_API void Compile(const std::string_view clang, const fs::path& buildDir, std::atomic& buildCancelled, std::string& buildError) const; }; }