20#ifndef LIBREPCB_CLI_COMMANDLINEINTERFACE_H
21#define LIBREPCB_CLI_COMMANDLINEINTERFACE_H
36class LibraryBaseElement;
38class TransactionalFileSystem;
58 int execute(const QStringList& args) noexcept;
68 const QString& projectFile,
bool runErc,
bool runDrc,
69 const QString& drcSettingsPath,
const QStringList& runJobs,
70 bool runAllJobs,
const QString& customJobsPath,
71 const QString& customOutDir,
const QStringList& exportSchematicsFiles,
72 const QStringList& exportBomFiles,
const QStringList& exportBoardBomFiles,
73 const QString& bomAttributes,
bool exportPcbFabricationData,
74 const QString& pcbFabricationSettingsPath,
75 const QStringList& exportPnpTopFiles,
76 const QStringList& exportPnpBottomFiles,
77 const QStringList& exportNetlistFiles,
const QStringList& boardNames,
78 const QStringList& boardIndices,
bool removeOtherBoards,
79 const QStringList& avNames,
const QStringList& avIndices,
80 const QString& setDefaultAv,
bool save,
bool strict)
const noexcept;
82 bool openLibrary(
const QString& libDir,
bool all,
bool runCheck,
83 bool minifyStepFiles,
bool save,
bool strict)
const noexcept;
102 const QString& indent =
"")
const;
106 bool minifyStepFiles,
bool save,
bool strict,
107 bool& success)
const;
108 bool openSymbol(
const QString& symbolFile,
bool runCheck,
109 const QString& exportFile)
const noexcept;
110 bool openPackage(
const QString& packageFile,
bool runCheck,
111 const QString& exportFile)
const noexcept;
112 bool openStep(
const QString& filePath,
bool minify,
bool tesselate,
113 const QString& saveTo)
const noexcept;
116 int& approvedMsgCount)
noexcept;
118 const QString& style)
noexcept;
120 static
void print(const QString& str) noexcept;
121 static
void printErr(const QString& str) noexcept;
This class represents absolute, well-formatted paths to files or directories.
Definition filepath.h:127
The LibraryBaseElement class.
Definition librarybaseelement.h:48
Transactional librepcb::FileSystem implementation.
Definition transactionalfilesystem.h:70
The CommandLineInterface class.
Definition commandlineinterface.h:49
static QString prettyPath(const FilePath &path, const QString &style) noexcept
Definition commandlineinterface.cpp:1732
static void print(const QString &str) noexcept
Definition commandlineinterface.cpp:1762
bool openLibrary(const QString &libDir, bool all, bool runCheck, bool minifyStepFiles, bool save, bool strict) const noexcept
Definition commandlineinterface.cpp:1127
CommandLineInterface() noexcept
Definition commandlineinterface.cpp:78
QStringList formatCheckSummary(int approvedCount, int nonApprovedCount, const QString &indent="") const
Definition commandlineinterface.cpp:1287
void processLibraryElement(const QString &libDir, TransactionalFileSystem &fs, LibraryBaseElement &element, bool runCheck, bool minifyStepFiles, bool save, bool strict, bool &success) const
Definition commandlineinterface.cpp:1295
CheckResult gatherElementCheckMessages(const LibraryBaseElement &element) const
Gather validation check messages for a library element.
Definition commandlineinterface.cpp:1268
static bool failIfFileFormatUnstable() noexcept
Definition commandlineinterface.cpp:1746
bool openSymbol(const QString &symbolFile, bool runCheck, const QString &exportFile) const noexcept
Definition commandlineinterface.cpp:1401
static QStringList prepareRuleCheckMessages(RuleCheckMessageList messages, const QSet< SExpression > &approvals, int &approvedMsgCount) noexcept
Definition commandlineinterface.cpp:1703
bool openPackage(const QString &packageFile, bool runCheck, const QString &exportFile) const noexcept
Definition commandlineinterface.cpp:1494
int execute(const QStringList &args) noexcept
Definition commandlineinterface.cpp:85
static void printErr(const QString &str) noexcept
Definition commandlineinterface.cpp:1767
QStringList formatLibraryElementCheckSummary(const CheckResult &checkResult) const
Definition commandlineinterface.cpp:1278
bool openStep(const QString &filePath, bool minify, bool tesselate, const QString &saveTo) const noexcept
Definition commandlineinterface.cpp:1627
~CommandLineInterface() noexcept=default
bool openProject(const QString &projectFile, bool runErc, bool runDrc, const QString &drcSettingsPath, const QStringList &runJobs, bool runAllJobs, const QString &customJobsPath, const QString &customOutDir, const QStringList &exportSchematicsFiles, const QStringList &exportBomFiles, const QStringList &exportBoardBomFiles, const QString &bomAttributes, bool exportPcbFabricationData, const QString &pcbFabricationSettingsPath, const QStringList &exportPnpTopFiles, const QStringList &exportPnpBottomFiles, const QStringList &exportNetlistFiles, const QStringList &boardNames, const QStringList &boardIndices, bool removeOtherBoards, const QStringList &avNames, const QStringList &avIndices, const QString &setDefaultAv, bool save, bool strict) const noexcept
Definition commandlineinterface.cpp:544
Definition occmodel.cpp:77
QVector< std::shared_ptr< const RuleCheckMessage > > RuleCheckMessageList
Definition rulecheckmessage.h:104
Definition commandlineinterface.h:62
int approvedMsgCount
Definition commandlineinterface.h:63
QStringList nonApprovedMessages
Definition commandlineinterface.h:64