Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions include/Algos.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ std::string toMacroName(std::string_view name) noexcept;
std::string replaceAll(std::string str, std::string_view from,
std::string_view to) noexcept;

Result<ExitStatus> execCmd(const Command& cmd) noexcept;
Result<std::string> getCmdOutput(const Command& cmd,
std::size_t retry = 3) noexcept;
rs::Result<ExitStatus> execCmd(const Command& cmd) noexcept;
rs::Result<std::string> getCmdOutput(const Command& cmd,
std::size_t retry = 3) noexcept;
bool commandExists(std::string_view cmd) noexcept;

constexpr char toLower(char c) noexcept {
Expand Down
40 changes: 20 additions & 20 deletions include/Builder/BuildGraph.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ class BuildGraph {
TestKind kind = TestKind::Unit;
};

static Result<BuildGraph> create(const Manifest& manifest,
const BuildProfile& buildProfile);
static rs::Result<BuildGraph> create(const Manifest& manifest,
const BuildProfile& buildProfile);

const fs::path& outBasePath() const { return outBasePath_; }
const Manifest& manifest() const { return project.manifest; }
Expand All @@ -46,16 +46,16 @@ class BuildGraph {
const std::string& libraryName() const { return libName; }
const std::vector<TestTarget>& testTargets() const { return testTargets_; }

Result<void> installDeps(bool includeDevDeps);
rs::Result<void> installDeps(bool includeDevDeps);
void enableCoverage();
Result<void> plan(bool logAnalysis = true);
Result<void> writeBuildFilesIfNeeded() const;
Result<void> generateCompdb() const;
rs::Result<void> plan(bool logAnalysis = true);
rs::Result<void> writeBuildFilesIfNeeded() const;
rs::Result<void> generateCompdb() const;

Result<bool> needsBuild(const std::vector<std::string>& targets) const;
rs::Result<bool> needsBuild(const std::vector<std::string>& targets) const;
Command ninjaCommand(bool dryRun = false) const;
Result<ExitStatus> buildTargets(const std::vector<std::string>& targets,
std::string_view displayName) const;
rs::Result<ExitStatus> buildTargets(const std::vector<std::string>& targets,
std::string_view displayName) const;

private:
struct CompileUnit {
Expand Down Expand Up @@ -84,22 +84,22 @@ class BuildGraph {
const std::unordered_set<std::string>& dependencies,
bool isTest);

Result<std::string> runMM(const std::string& sourceFile,
bool isTest = false) const;
Result<bool> containsTestCode(const std::string& sourceFile) const;
rs::Result<std::string> runMM(const std::string& sourceFile,
bool isTest = false) const;
rs::Result<bool> containsTestCode(const std::string& sourceFile) const;

Result<void> processSrc(const fs::path& sourceFilePath,
const SourceRoot& root,
std::unordered_set<std::string>& buildObjTargets,
tbb::spin_mutex* mtx = nullptr);
Result<std::unordered_set<std::string>>
rs::Result<void> processSrc(const fs::path& sourceFilePath,
const SourceRoot& root,
std::unordered_set<std::string>& buildObjTargets,
tbb::spin_mutex* mtx = nullptr);
rs::Result<std::unordered_set<std::string>>
processSources(const std::vector<fs::path>& sourceFilePaths,
const SourceRoot& root);

Result<std::optional<TestTarget>>
rs::Result<std::optional<TestTarget>>
processUnittestSrc(const fs::path& sourceFilePath,
tbb::spin_mutex* mtx = nullptr);
Result<std::optional<TestTarget>>
rs::Result<std::optional<TestTarget>>
processIntegrationTestSrc(const fs::path& sourceFilePath,
tbb::spin_mutex* mtx = nullptr);

Expand All @@ -108,7 +108,7 @@ class BuildGraph {
const std::unordered_set<std::string>& objTargetDeps,
const std::unordered_set<std::string>& buildObjTargets) const;

Result<void> configure();
rs::Result<void> configure();
void writeBuildFiles() const;

fs::path outBasePath_;
Expand Down
13 changes: 8 additions & 5 deletions include/Builder/Compiler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ struct CFlags {
: macros(std::move(macros)), includeDirs(std::move(includeDirs)),
others(std::move(others)) {}

static Result<CFlags> parsePkgConfig(std::string_view pkgConfigVer) noexcept;
static rs::Result<CFlags>
parsePkgConfig(std::string_view pkgConfigVer) noexcept;

void merge(const CFlags& other) noexcept;
};
Expand All @@ -71,7 +72,8 @@ struct LdFlags {
LdFlags(std::vector<LibDir> libDirs, std::vector<Lib> libs,
std::vector<std::string> others) noexcept;

static Result<LdFlags> parsePkgConfig(std::string_view pkgConfigVer) noexcept;
static rs::Result<LdFlags>
parsePkgConfig(std::string_view pkgConfigVer) noexcept;

void merge(const LdFlags& other) noexcept;
};
Expand All @@ -84,8 +86,9 @@ struct CompilerOpts {
CompilerOpts(CFlags cFlags, LdFlags ldFlags) noexcept
: cFlags(std::move(cFlags)), ldFlags(std::move(ldFlags)) {}

static Result<CompilerOpts> parsePkgConfig(const VersionReq& pkgVerReq,
std::string_view pkgName) noexcept;
static rs::Result<CompilerOpts>
parsePkgConfig(const VersionReq& pkgVerReq,
std::string_view pkgName) noexcept;

void merge(const CompilerOpts& other) noexcept;
};
Expand All @@ -95,7 +98,7 @@ class Compiler {
const std::string cxx;

static Compiler init(std::string cxx) noexcept;
static Result<Compiler> init() noexcept;
static rs::Result<Compiler> init() noexcept;

Command makeCompileCmd(const CompilerOpts& opts,
const std::string& sourceFile,
Expand Down
5 changes: 3 additions & 2 deletions include/Builder/DepGraph.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ class DepGraph {
public:
explicit DepGraph(fs::path rootPath) : rootPath(std::move(rootPath)) {}

Result<void> resolve();
Result<BuildGraph> computeBuildGraph(const BuildProfile& buildProfile) const;
rs::Result<void> resolve();
rs::Result<BuildGraph>
computeBuildGraph(const BuildProfile& buildProfile) const;

private:
fs::path rootPath;
Expand Down
8 changes: 4 additions & 4 deletions include/Command.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ class Child {
friend struct Command;

public:
Result<ExitStatus> wait() const noexcept;
Result<CommandOutput> waitWithOutput() const noexcept;
rs::Result<ExitStatus> wait() const noexcept;
rs::Result<CommandOutput> waitWithOutput() const noexcept;
};

struct Command {
Expand Down Expand Up @@ -110,8 +110,8 @@ struct Command {

std::string toString() const;

Result<Child> spawn() const noexcept;
Result<CommandOutput> output() const noexcept;
rs::Result<Child> spawn() const noexcept;
rs::Result<CommandOutput> output() const noexcept;
};

} // namespace cabin
Expand Down
6 changes: 3 additions & 3 deletions include/Dependency.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ struct GitDependency {
const std::string url;
const std::optional<std::string> target;

Result<CompilerOpts> install() const;
rs::Result<CompilerOpts> install() const;

GitDependency(std::string name, std::string url,
std::optional<std::string> target)
Expand All @@ -27,7 +27,7 @@ struct PathDependency {
const std::string name;
const std::string path;

Result<CompilerOpts> install() const;
rs::Result<CompilerOpts> install() const;

PathDependency(std::string name, std::string path)
: name(std::move(name)), path(std::move(path)) {}
Expand All @@ -37,7 +37,7 @@ struct SystemDependency {
const std::string name;
const VersionReq versionReq;

Result<CompilerOpts> install() const;
rs::Result<CompilerOpts> install() const;

SystemDependency(std::string name, VersionReq versionReq)
: name(std::move(name)), versionReq(std::move(versionReq)) {}
Expand Down
24 changes: 12 additions & 12 deletions include/Manifest.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ struct Edition {
const Year edition;
const std::string str;

static Result<Edition> tryFromString(std::string str) noexcept;
static rs::Result<Edition> tryFromString(std::string str) noexcept;

bool operator==(const Edition& otherEdition) const {
return edition == otherEdition.edition;
Expand All @@ -62,7 +62,7 @@ struct Package {
const Edition edition;
const Version version;

static Result<Package> tryFromToml(const toml::value& val) noexcept;
static rs::Result<Package> tryFromToml(const toml::value& val) noexcept;

private:
Package(std::string name, Edition edition, Version version) noexcept
Expand Down Expand Up @@ -93,7 +93,7 @@ struct Profile {
struct Cpplint {
const std::vector<std::string> filters;

static Result<Cpplint> tryFromToml(const toml::value& val) noexcept;
static rs::Result<Cpplint> tryFromToml(const toml::value& val) noexcept;

private:
explicit Cpplint(std::vector<std::string> filters) noexcept
Expand All @@ -103,7 +103,7 @@ struct Cpplint {
struct Lint {
const Cpplint cpplint;

static Result<Lint> tryFromToml(const toml::value& val) noexcept;
static rs::Result<Lint> tryFromToml(const toml::value& val) noexcept;

private:
explicit Lint(Cpplint cpplint) noexcept : cpplint(std::move(cpplint)) {}
Expand All @@ -120,16 +120,16 @@ class Manifest {
const std::unordered_map<BuildProfile, Profile> profiles;
const Lint lint;

static Result<Manifest> tryParse(fs::path path = fs::current_path()
/ FILE_NAME,
bool findParents = true) noexcept;
static Result<Manifest> tryFromToml(const toml::value& data,
fs::path path = "unknown") noexcept;
static rs::Result<Manifest> tryParse(fs::path path = fs::current_path()
/ FILE_NAME,
bool findParents = true) noexcept;
static rs::Result<Manifest> tryFromToml(const toml::value& data,
fs::path path = "unknown") noexcept;

static Result<fs::path>
static rs::Result<fs::path>
findPath(fs::path candidateDir = fs::current_path()) noexcept;

Result<std::vector<CompilerOpts>> installDeps(bool includeDevDeps) const;
rs::Result<std::vector<CompilerOpts>> installDeps(bool includeDevDeps) const;

private:
Manifest(fs::path path, Package package, std::vector<Dependency> dependencies,
Expand All @@ -142,7 +142,7 @@ class Manifest {
profiles(std::move(profiles)), lint(std::move(lint)) {}
};

Result<void> validatePackageName(std::string_view name) noexcept;
rs::Result<void> validatePackageName(std::string_view name) noexcept;

} // namespace cabin

Expand Down
28 changes: 14 additions & 14 deletions include/Semver.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ struct VersionToken {
struct Prerelease {
std::vector<VersionToken> ident;

static Result<Prerelease> parse(std::string_view str) noexcept;
static rs::Result<Prerelease> parse(std::string_view str) noexcept;
bool empty() const noexcept;
std::string toString() const noexcept;
};
Expand All @@ -63,7 +63,7 @@ bool operator>=(const Prerelease& lhs, const Prerelease& rhs) noexcept;
struct BuildMetadata {
std::vector<VersionToken> ident;

static Result<BuildMetadata> parse(std::string_view str) noexcept;
static rs::Result<BuildMetadata> parse(std::string_view str) noexcept;
bool empty() const noexcept;
std::string toString() const noexcept;
};
Expand All @@ -75,7 +75,7 @@ struct Version {
Prerelease pre;
BuildMetadata build;

static Result<Version> parse(std::string_view str) noexcept;
static rs::Result<Version> parse(std::string_view str) noexcept;
std::string toString() const noexcept;
uint64_t toNum() const noexcept;
};
Expand All @@ -99,10 +99,10 @@ struct VersionLexer {
constexpr bool isEof() const noexcept { return pos >= s.size(); }
constexpr void step() noexcept { ++pos; }
VersionToken consumeIdent() noexcept;
Result<VersionToken> consumeNum() noexcept;
Result<VersionToken> consumeNumOrIdent() noexcept;
Result<VersionToken> next() noexcept;
Result<VersionToken> peek() noexcept;
rs::Result<VersionToken> consumeNum() noexcept;
rs::Result<VersionToken> consumeNumOrIdent() noexcept;
rs::Result<VersionToken> next() noexcept;
rs::Result<VersionToken> peek() noexcept;
constexpr char curChar() const noexcept { return isEof() ? '\0' : s[pos]; }
};

Expand All @@ -112,11 +112,11 @@ struct VersionParser {
constexpr explicit VersionParser(const std::string_view str) noexcept
: lexer(str) {}

Result<Version> parse() noexcept;
Result<uint64_t> parseNum() noexcept;
Result<void> parseDot() noexcept;
Result<Prerelease> parsePre() noexcept;
Result<VersionToken> parseNumOrIdent() noexcept;
Result<BuildMetadata> parseBuild() noexcept;
Result<VersionToken> parseIdent() noexcept;
rs::Result<Version> parse() noexcept;
rs::Result<uint64_t> parseNum() noexcept;
rs::Result<void> parseDot() noexcept;
rs::Result<Prerelease> parsePre() noexcept;
rs::Result<VersionToken> parseNumOrIdent() noexcept;
rs::Result<BuildMetadata> parseBuild() noexcept;
rs::Result<VersionToken> parseIdent() noexcept;
};
6 changes: 3 additions & 3 deletions include/VersionReq.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ struct Comparator {
std::optional<uint64_t> patch;
Prerelease pre;

static Result<Comparator> parse(std::string_view str) noexcept;
static rs::Result<Comparator> parse(std::string_view str) noexcept;
void from(const OptVersion& ver) noexcept;
std::string toString() const noexcept;
std::string toPkgConfigString() const noexcept;
Expand All @@ -89,8 +89,8 @@ struct VersionReq {
Comparator left;
std::optional<Comparator> right;

static Result<VersionReq> parse(std::string_view str) noexcept;
static Result<VersionReq> tryParse(std::string_view str) noexcept;
static rs::Result<VersionReq> parse(std::string_view str) noexcept;
static rs::Result<VersionReq> tryParse(std::string_view str) noexcept;
bool satisfiedBy(const Version& ver) const noexcept;
std::string toString() const noexcept;
std::string toPkgConfigString(std::string_view name) const noexcept;
Expand Down
Loading
Loading