Files
Sourcetrail/src/lib/settings/SourceGroupSettingsWithClasspath.h
T
Eberhard Graether 6d5a3c047d 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
2018-12-11 14:05:26 +01:00

39 lines
1.0 KiB
C++

#ifndef SOURCE_GROUP_SETTINGS_WITH_CLASSPATH_H
#define SOURCE_GROUP_SETTINGS_WITH_CLASSPATH_H
#include <memory>
#include <string>
#include <vector>
#include "FilePath.h"
#include "SourceGroupSettingsBase.h"
class ConfigManager;
class SourceGroupSettingsWithClasspath
: virtual public SourceGroupSettingsBase
{
public:
SourceGroupSettingsWithClasspath();
virtual ~SourceGroupSettingsWithClasspath() = default;
bool equals(std::shared_ptr<SourceGroupSettingsWithClasspath> other) const;
std::vector<FilePath> getClasspath() const;
std::vector<FilePath> getClasspathExpandedAndAbsolute() const;
void setClasspath(const std::vector<FilePath>& classpath);
bool getUseJreSystemLibrary() const;
void setUseJreSystemLibrary(bool useJreSystemLibrary);
protected:
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
private:
std::vector<FilePath> m_classpath;
bool m_useJreSystemLibrary;
};
#endif // SOURCE_GROUP_SETTINGS_WITH_CLASSPATH_H