logic: Added SourceGroupCustomCommand to use with SourcetrailDB binaries
* Added new Source Group type SourceGroupCustomCommand to UI and ProjectSettings * The Source Group executes a specified command on every source file * The variables $SOURCE_PATH, $PROJECT_PATH, $DB_PATH, $STORAGE_VERSION can be passed * The commands are executed after all other source groups finished indexing * The command is executed with working directory set to project directory * Errors during command execution are shown as status update and in the Status View * SourceGroupCustomCommand cannot be partially cleared, when one file needs clearing the project must be fully re-indexed
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
#include "IndexerCommandCustom.h"
|
||||
|
||||
#include <QJsonArray>
|
||||
#include <QJsonObject>
|
||||
|
||||
IndexerCommandType IndexerCommandCustom::getStaticIndexerCommandType()
|
||||
{
|
||||
return INDEXER_COMMAND_CUSTOM;
|
||||
}
|
||||
|
||||
IndexerCommandCustom::IndexerCommandCustom(
|
||||
const FilePath& sourceFilePath,
|
||||
const std::wstring& customCommand
|
||||
)
|
||||
: IndexerCommand(sourceFilePath)
|
||||
, m_customCommand(customCommand)
|
||||
{
|
||||
}
|
||||
|
||||
IndexerCommandType IndexerCommandCustom::getIndexerCommandType() const
|
||||
{
|
||||
return getStaticIndexerCommandType();
|
||||
}
|
||||
|
||||
size_t IndexerCommandCustom::getByteSize(size_t stringSize) const
|
||||
{
|
||||
size_t size = IndexerCommand::getByteSize(stringSize);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
const std::wstring& IndexerCommandCustom::getCustomCommand() const
|
||||
{
|
||||
return m_customCommand;
|
||||
}
|
||||
|
||||
QJsonObject IndexerCommandCustom::doSerialize() const
|
||||
{
|
||||
QJsonObject jsonObject = IndexerCommand::doSerialize();
|
||||
|
||||
{
|
||||
jsonObject["custom_command"] = QString::fromStdWString(m_customCommand);
|
||||
}
|
||||
|
||||
return jsonObject;
|
||||
}
|
||||
Reference in New Issue
Block a user