* 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
39 lines
1.0 KiB
C++
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
|