src: Refactored SourceGroupSettings into components as bases architecture
This commit is contained in:
+59
-50
@@ -341,59 +341,68 @@ add_files(
|
||||
settings/migration/SettingsMigrationMoveKey.h
|
||||
settings/migration/SettingsMigrator.h
|
||||
|
||||
settings/source_group/component/java/SourceGroupSettingsWithClasspath.cpp
|
||||
settings/source_group/component/java/SourceGroupSettingsWithClasspath.h
|
||||
settings/source_group/component/java/SourceGroupSettingsWithJavaGradle.cpp
|
||||
settings/source_group/component/java/SourceGroupSettingsWithJavaGradle.h
|
||||
settings/source_group/component/java/SourceGroupSettingsWithJavaMaven.cpp
|
||||
settings/source_group/component/java/SourceGroupSettingsWithJavaMaven.h
|
||||
settings/source_group/component/java/SourceGroupSettingsWithJavaStandard.cpp
|
||||
settings/source_group/component/java/SourceGroupSettingsWithJavaStandard.h
|
||||
settings/source_group/component/java/SourceGroupSettingsWithSourceExtensionsJava.h
|
||||
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCppStandard.cpp
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCppStandard.h
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCStandard.cpp
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCStandard.h
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCxxCdbPath.cpp
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCxxCdbPath.h
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCxxCodeblocksPath.cpp
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCxxCodeblocksPath.h
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCxxCrossCompilationOptions.cpp
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCxxCrossCompilationOptions.h
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCxxPathsAndFlags.cpp
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCxxPathsAndFlags.h
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCxxPchOptions.cpp
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithCxxPchOptions.h
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithIndexedHeaderPaths.cpp
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithIndexedHeaderPaths.h
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithSourceExtensionsC.h
|
||||
settings/source_group/component/cxx/SourceGroupSettingsWithSourceExtensionsCpp.h
|
||||
|
||||
settings/source_group/component/python/SourceGroupSettingsWithPythonEnvironmentPath.cpp
|
||||
settings/source_group/component/python/SourceGroupSettingsWithPythonEnvironmentPath.h
|
||||
settings/source_group/component/python/SourceGroupSettingsWithSourceExtensionsPython.h
|
||||
|
||||
settings/source_group/component/SourceGroupSettingsWithCustomCommand.cpp
|
||||
settings/source_group/component/SourceGroupSettingsWithCustomCommand.h
|
||||
settings/source_group/component/SourceGroupSettingsWithExcludeFilters.cpp
|
||||
settings/source_group/component/SourceGroupSettingsWithExcludeFilters.h
|
||||
settings/source_group/component/SourceGroupSettingsWithSonargraphProjectPath.cpp
|
||||
settings/source_group/component/SourceGroupSettingsWithSonargraphProjectPath.h
|
||||
settings/source_group/component/SourceGroupSettingsWithSourceExtensions.cpp
|
||||
settings/source_group/component/SourceGroupSettingsWithSourceExtensions.h
|
||||
settings/source_group/component/SourceGroupSettingsWithSourceExtensionsEmpty.h
|
||||
settings/source_group/component/SourceGroupSettingsWithSourcePaths.cpp
|
||||
settings/source_group/component/SourceGroupSettingsWithSourcePaths.h
|
||||
|
||||
settings/source_group/type/SourceGroupSettingsCEmpty.h
|
||||
settings/source_group/type/SourceGroupSettingsCppEmpty.h
|
||||
settings/source_group/type/SourceGroupSettingsCustomCommand.h
|
||||
settings/source_group/type/SourceGroupSettingsCxxCdb.h
|
||||
settings/source_group/type/SourceGroupSettingsCxxCdbVs.h
|
||||
settings/source_group/type/SourceGroupSettingsCxxCodeblocks.h
|
||||
settings/source_group/type/SourceGroupSettingsCxxSonargraph.h
|
||||
settings/source_group/type/SourceGroupSettingsJavaEmpty.h
|
||||
settings/source_group/type/SourceGroupSettingsJavaGradle.h
|
||||
settings/source_group/type/SourceGroupSettingsJavaMaven.h
|
||||
settings/source_group/type/SourceGroupSettingsJavaSonargraph.h
|
||||
settings/source_group/type/SourceGroupSettingsPythonEmpty.h
|
||||
|
||||
settings/source_group/SourceGroupSettings.cpp
|
||||
settings/source_group/SourceGroupSettings.h
|
||||
settings/source_group/SourceGroupSettingsBase.h
|
||||
settings/source_group/SourceGroupSettingsCxx.cpp
|
||||
settings/source_group/SourceGroupSettingsCxx.h
|
||||
settings/source_group/SourceGroupSettingsCEmpty.cpp
|
||||
settings/source_group/SourceGroupSettingsCEmpty.h
|
||||
settings/source_group/SourceGroupSettingsCppEmpty.cpp
|
||||
settings/source_group/SourceGroupSettingsCppEmpty.h
|
||||
settings/source_group/SourceGroupSettingsCustomCommand.cpp
|
||||
settings/source_group/SourceGroupSettingsCustomCommand.h
|
||||
settings/source_group/SourceGroupSettingsCxxCdb.cpp
|
||||
settings/source_group/SourceGroupSettingsCxxCdb.h
|
||||
settings/source_group/SourceGroupSettingsCxxCdbVs.cpp
|
||||
settings/source_group/SourceGroupSettingsCxxCdbVs.h
|
||||
settings/source_group/SourceGroupSettingsCxxCodeblocks.cpp
|
||||
settings/source_group/SourceGroupSettingsCxxCodeblocks.h
|
||||
settings/source_group/SourceGroupSettingsCxxSonargraph.cpp
|
||||
settings/source_group/SourceGroupSettingsCxxSonargraph.h
|
||||
settings/source_group/SourceGroupSettingsJava.cpp
|
||||
settings/source_group/SourceGroupSettingsJava.h
|
||||
settings/source_group/SourceGroupSettingsJavaEmpty.cpp
|
||||
settings/source_group/SourceGroupSettingsJavaEmpty.h
|
||||
settings/source_group/SourceGroupSettingsJavaGradle.cpp
|
||||
settings/source_group/SourceGroupSettingsJavaGradle.h
|
||||
settings/source_group/SourceGroupSettingsJavaMaven.cpp
|
||||
settings/source_group/SourceGroupSettingsJavaMaven.h
|
||||
settings/source_group/SourceGroupSettingsJavaSonargraph.cpp
|
||||
settings/source_group/SourceGroupSettingsJavaSonargraph.h
|
||||
settings/source_group/SourceGroupSettingsPythonEmpty.cpp
|
||||
settings/source_group/SourceGroupSettingsPythonEmpty.h
|
||||
settings/source_group/SourceGroupSettingsWithClasspath.cpp
|
||||
settings/source_group/SourceGroupSettingsWithClasspath.h
|
||||
settings/source_group/SourceGroupSettingsWithCppStandard.cpp
|
||||
settings/source_group/SourceGroupSettingsWithCppStandard.h
|
||||
settings/source_group/SourceGroupSettingsWithCStandard.cpp
|
||||
settings/source_group/SourceGroupSettingsWithCStandard.h
|
||||
settings/source_group/SourceGroupSettingsWithCxxCrossCompilationOptions.cpp
|
||||
settings/source_group/SourceGroupSettingsWithCxxCrossCompilationOptions.h
|
||||
settings/source_group/SourceGroupSettingsWithExcludeFilters.cpp
|
||||
settings/source_group/SourceGroupSettingsWithExcludeFilters.h
|
||||
settings/source_group/SourceGroupSettingsWithIndexedHeaderPaths.cpp
|
||||
settings/source_group/SourceGroupSettingsWithIndexedHeaderPaths.h
|
||||
settings/source_group/SourceGroupSettingsWithJavaStandard.cpp
|
||||
settings/source_group/SourceGroupSettingsWithJavaStandard.h
|
||||
settings/source_group/SourceGroupSettingsWithCxxPchOptions.cpp
|
||||
settings/source_group/SourceGroupSettingsWithCxxPchOptions.h
|
||||
settings/source_group/SourceGroupSettingsWithSonargraphProjectPath.cpp
|
||||
settings/source_group/SourceGroupSettingsWithSonargraphProjectPath.h
|
||||
settings/source_group/SourceGroupSettingsWithSourceExtensions.cpp
|
||||
settings/source_group/SourceGroupSettingsWithSourceExtensions.h
|
||||
settings/source_group/SourceGroupSettingsWithSourcePaths.cpp
|
||||
settings/source_group/SourceGroupSettingsWithSourcePaths.h
|
||||
settings/source_group/SourceGroupSettingsWithComponents.h
|
||||
settings/source_group/SourceGroupStatusType.cpp
|
||||
settings/source_group/SourceGroupStatusType.h
|
||||
settings/source_group/SourceGroupType.cpp
|
||||
|
||||
@@ -78,7 +78,7 @@ bool ProjectSettings::equalsExceptNameAndLocation(const ProjectSettings& other)
|
||||
bool matched = false;
|
||||
for (const std::shared_ptr<SourceGroupSettings>& otherSourceGroup : allOtherSettings)
|
||||
{
|
||||
if (mySourceGroup->equals(otherSourceGroup))
|
||||
if (mySourceGroup->equalsSettings(otherSourceGroup.get()))
|
||||
{
|
||||
matched = true;
|
||||
break;
|
||||
@@ -215,7 +215,7 @@ std::vector<std::shared_ptr<SourceGroupSettings>> ProjectSettings::getAllSourceG
|
||||
|
||||
if (settings)
|
||||
{
|
||||
settings->load(m_config);
|
||||
settings->loadSettings(m_config.get());
|
||||
allSettings.push_back(settings);
|
||||
}
|
||||
else
|
||||
@@ -240,7 +240,7 @@ void ProjectSettings::setAllSourceGroupSettings(const std::vector<std::shared_pt
|
||||
const SourceGroupType type = settings->getType();
|
||||
setValue(key + "/type", sourceGroupTypeToString(type));
|
||||
|
||||
settings->save(m_config);
|
||||
settings->saveSettings(m_config.get());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,47 +8,46 @@ const size_t SourceGroupSettings::s_version = 1;
|
||||
const std::string SourceGroupSettings::s_keyPrefix = "source_groups/source_group_";
|
||||
|
||||
SourceGroupSettings::SourceGroupSettings(
|
||||
const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings
|
||||
SourceGroupType type, const std::string& id, const ProjectSettings* projectSettings
|
||||
)
|
||||
: m_projectSettings(projectSettings)
|
||||
, m_type(type)
|
||||
, m_id(id)
|
||||
, m_name(sourceGroupTypeToString(type))
|
||||
, m_type(type)
|
||||
, m_status(SOURCE_GROUP_STATUS_ENABLED)
|
||||
{
|
||||
}
|
||||
|
||||
void SourceGroupSettings::load(std::shared_ptr<const ConfigManager> config)
|
||||
bool SourceGroupSettings::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
const SourceGroupSettings* otherPtr = dynamic_cast<const SourceGroupSettings*>(other);
|
||||
|
||||
return (
|
||||
m_id == otherPtr->m_id &&
|
||||
// m_name == otherPtr->m_name && // Ignore name, since not significant regarding index state
|
||||
m_type == otherPtr->m_type &&
|
||||
m_status == otherPtr->m_status
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettings::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
const std::string name = config->getValueOrDefault<std::string>(key + "/name", "");
|
||||
if (!name.empty())
|
||||
{
|
||||
setName(name);
|
||||
}
|
||||
|
||||
setStatus(stringToSourceGroupStatusType(config->getValueOrDefault(key + "/status", sourceGroupStatusTypeToString(SOURCE_GROUP_STATUS_ENABLED))));
|
||||
setStatus(stringToSourceGroupStatusType(
|
||||
config->getValueOrDefault(key + "/status", sourceGroupStatusTypeToString(SOURCE_GROUP_STATUS_ENABLED))));
|
||||
}
|
||||
|
||||
void SourceGroupSettings::save(std::shared_ptr<ConfigManager> config)
|
||||
void SourceGroupSettings::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
config->setValue(key + "/status", sourceGroupStatusTypeToString(getStatus()));
|
||||
config->setValue(key + "/name", getName());
|
||||
}
|
||||
|
||||
bool SourceGroupSettings::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
return (
|
||||
m_id == other->m_id &&
|
||||
// m_name == other->m_name && // Ignore name, since not significant regarding index state
|
||||
m_type == other->m_type &&
|
||||
m_status == other->m_status
|
||||
);
|
||||
}
|
||||
|
||||
std::string SourceGroupSettings::getId() const
|
||||
{
|
||||
return m_id;
|
||||
|
||||
@@ -19,15 +19,18 @@ public:
|
||||
static const size_t s_version;
|
||||
static const std::string s_keyPrefix;
|
||||
|
||||
SourceGroupSettings(const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings);
|
||||
SourceGroupSettings(SourceGroupType type, const std::string& id, const ProjectSettings* projectSettings);
|
||||
virtual ~SourceGroupSettings() = default;
|
||||
|
||||
virtual std::shared_ptr<SourceGroupSettings> createCopy() const = 0;
|
||||
|
||||
virtual void load(std::shared_ptr<const ConfigManager> config);
|
||||
virtual void save(std::shared_ptr<ConfigManager> config);
|
||||
virtual void loadSettings(const ConfigManager* config) = 0;
|
||||
virtual void saveSettings(ConfigManager* config) = 0;
|
||||
virtual bool equalsSettings(const SourceGroupSettingsBase* other) = 0;
|
||||
|
||||
virtual bool equals(std::shared_ptr<SourceGroupSettings> other) const;
|
||||
bool equals(const SourceGroupSettingsBase* other) const;
|
||||
void load(const ConfigManager* config, const std::string& key);
|
||||
void save(ConfigManager* config, const std::string& key);
|
||||
|
||||
std::string getId() const;
|
||||
void setId(const std::string& id);
|
||||
@@ -51,9 +54,9 @@ protected:
|
||||
const ProjectSettings* m_projectSettings;
|
||||
|
||||
private:
|
||||
const SourceGroupType m_type;
|
||||
std::string m_id;
|
||||
std::string m_name;
|
||||
const SourceGroupType m_type;
|
||||
SourceGroupStatusType m_status;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
#include "SourceGroupSettingsCEmpty.h"
|
||||
|
||||
SourceGroupSettingsCEmpty::SourceGroupSettingsCEmpty(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsCxx(id, SOURCE_GROUP_C_EMPTY, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsCEmpty::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCEmpty>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCEmpty::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsCxx::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithCStandard::load(config, key);
|
||||
SourceGroupSettingsWithCxxCrossCompilationOptions::load(config, key);
|
||||
SourceGroupSettingsWithSourceExtensions::load(config, key);
|
||||
SourceGroupSettingsWithCxxPchOptions::load(config, key);
|
||||
SourceGroupSettingsWithSourcePaths::load(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::load(config, key);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCEmpty::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsCxx::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithCStandard::save(config, key);
|
||||
SourceGroupSettingsWithCxxCrossCompilationOptions::save(config, key);
|
||||
SourceGroupSettingsWithSourceExtensions::save(config, key);
|
||||
SourceGroupSettingsWithCxxPchOptions::save(config, key);
|
||||
SourceGroupSettingsWithSourcePaths::save(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::save(config, key);
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsCEmpty::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCEmpty> otherCxxEmpty = std::dynamic_pointer_cast<SourceGroupSettingsCEmpty>(other);
|
||||
|
||||
return (
|
||||
otherCxxEmpty &&
|
||||
SourceGroupSettingsCxx::equals(other) &&
|
||||
SourceGroupSettingsWithCStandard::equals(otherCxxEmpty) &&
|
||||
SourceGroupSettingsWithCxxCrossCompilationOptions::equals(otherCxxEmpty) &&
|
||||
SourceGroupSettingsWithSourceExtensions::equals(otherCxxEmpty) &&
|
||||
SourceGroupSettingsWithCxxPchOptions::equals(otherCxxEmpty) &&
|
||||
SourceGroupSettingsWithSourcePaths::equals(otherCxxEmpty) &&
|
||||
SourceGroupSettingsWithExcludeFilters::equals(otherCxxEmpty)
|
||||
);
|
||||
}
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsCEmpty::getDefaultSourceExtensions() const
|
||||
{
|
||||
return { L".c" };
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_C_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_C_EMPTY_H
|
||||
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
#include "SourceGroupSettingsWithCStandard.h"
|
||||
#include "SourceGroupSettingsWithCxxCrossCompilationOptions.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithCxxPchOptions.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
|
||||
class SourceGroupSettingsCEmpty
|
||||
: public SourceGroupSettingsCxx
|
||||
, public SourceGroupSettingsWithCStandard
|
||||
, public SourceGroupSettingsWithCxxCrossCompilationOptions
|
||||
, public SourceGroupSettingsWithExcludeFilters
|
||||
, public SourceGroupSettingsWithCxxPchOptions
|
||||
, public SourceGroupSettingsWithSourceExtensions
|
||||
, public SourceGroupSettingsWithSourcePaths
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCEmpty(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_C_EMPTY_H
|
||||
@@ -1,64 +0,0 @@
|
||||
#include "SourceGroupSettingsCppEmpty.h"
|
||||
|
||||
SourceGroupSettingsCppEmpty::SourceGroupSettingsCppEmpty(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsCxx(id, SOURCE_GROUP_CPP_EMPTY, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsCppEmpty::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCppEmpty>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCppEmpty::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsCxx::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithCppStandard::load(config, key);
|
||||
SourceGroupSettingsWithCxxCrossCompilationOptions::load(config, key);
|
||||
SourceGroupSettingsWithSourceExtensions::load(config, key);
|
||||
SourceGroupSettingsWithCxxPchOptions::load(config, key);
|
||||
SourceGroupSettingsWithSourcePaths::load(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::load(config, key);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCppEmpty::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsCxx::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithCppStandard::save(config, key);
|
||||
SourceGroupSettingsWithCxxCrossCompilationOptions::save(config, key);
|
||||
SourceGroupSettingsWithSourceExtensions::save(config, key);
|
||||
SourceGroupSettingsWithCxxPchOptions::save(config, key);
|
||||
SourceGroupSettingsWithSourcePaths::save(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::save(config, key);
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsCppEmpty::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCppEmpty> otherCxxEmpty = std::dynamic_pointer_cast<SourceGroupSettingsCppEmpty>(other);
|
||||
|
||||
return (
|
||||
otherCxxEmpty &&
|
||||
SourceGroupSettingsCxx::equals(other) &&
|
||||
SourceGroupSettingsWithCppStandard::equals(otherCxxEmpty) &&
|
||||
SourceGroupSettingsWithCxxCrossCompilationOptions::equals(otherCxxEmpty) &&
|
||||
SourceGroupSettingsWithSourceExtensions::equals(otherCxxEmpty) &&
|
||||
SourceGroupSettingsWithCxxPchOptions::equals(otherCxxEmpty) &&
|
||||
SourceGroupSettingsWithSourcePaths::equals(otherCxxEmpty) &&
|
||||
SourceGroupSettingsWithExcludeFilters::equals(otherCxxEmpty)
|
||||
);
|
||||
}
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsCppEmpty::getDefaultSourceExtensions() const
|
||||
{
|
||||
return {
|
||||
L".cpp",
|
||||
L".cxx",
|
||||
L".cc"
|
||||
};
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CPP_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_CPP_EMPTY_H
|
||||
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
#include "SourceGroupSettingsWithCppStandard.h"
|
||||
#include "SourceGroupSettingsWithCxxCrossCompilationOptions.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithCxxPchOptions.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
|
||||
class SourceGroupSettingsCppEmpty
|
||||
: public SourceGroupSettingsCxx
|
||||
, public SourceGroupSettingsWithCppStandard
|
||||
, public SourceGroupSettingsWithCxxCrossCompilationOptions
|
||||
, public SourceGroupSettingsWithExcludeFilters
|
||||
, public SourceGroupSettingsWithCxxPchOptions
|
||||
, public SourceGroupSettingsWithSourceExtensions
|
||||
, public SourceGroupSettingsWithSourcePaths
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCppEmpty(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CPP_EMPTY_H
|
||||
@@ -1,85 +0,0 @@
|
||||
#include "SourceGroupSettingsCustomCommand.h"
|
||||
|
||||
#include "ConfigManager.h"
|
||||
#include "FilePath.h"
|
||||
|
||||
SourceGroupSettingsCustomCommand::SourceGroupSettingsCustomCommand(
|
||||
const std::string& id, const ProjectSettings* projectSettings
|
||||
)
|
||||
: SourceGroupSettings(id, SOURCE_GROUP_CUSTOM_COMMAND, projectSettings)
|
||||
, m_runInParallel(false)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsCustomCommand::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCustomCommand>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCustomCommand::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettings::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithSourceExtensions::load(config, key);
|
||||
SourceGroupSettingsWithSourcePaths::load(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::load(config, key);
|
||||
|
||||
setCustomCommand(config->getValueOrDefault(key + "/custom_command", std::wstring()));
|
||||
setRunInParallel(config->getValueOrDefault(key + "/run_in_parallel", false));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCustomCommand::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettings::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithSourceExtensions::save(config, key);
|
||||
SourceGroupSettingsWithSourcePaths::save(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::save(config, key);
|
||||
|
||||
config->setValue(key + "/custom_command", getCustomCommand());
|
||||
config->setValue(key + "/run_in_parallel", getRunInParallel());
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsCustomCommand::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCustomCommand> otherCustom =
|
||||
std::dynamic_pointer_cast<SourceGroupSettingsCustomCommand>(other);
|
||||
|
||||
return (
|
||||
otherCustom &&
|
||||
SourceGroupSettings::equals(other) &&
|
||||
SourceGroupSettingsWithSourceExtensions::equals(otherCustom) &&
|
||||
SourceGroupSettingsWithSourcePaths::equals(otherCustom) &&
|
||||
SourceGroupSettingsWithExcludeFilters::equals(otherCustom) &&
|
||||
m_customCommand == otherCustom->m_customCommand
|
||||
);
|
||||
}
|
||||
|
||||
const std::wstring& SourceGroupSettingsCustomCommand::getCustomCommand() const
|
||||
{
|
||||
return m_customCommand;
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCustomCommand::setCustomCommand(const std::wstring& customCommand)
|
||||
{
|
||||
m_customCommand = customCommand;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsCustomCommand::getRunInParallel() const
|
||||
{
|
||||
return m_runInParallel;
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCustomCommand::setRunInParallel(bool runInParallel)
|
||||
{
|
||||
m_runInParallel = runInParallel;
|
||||
}
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsCustomCommand::getDefaultSourceExtensions() const
|
||||
{
|
||||
return {};
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CUSTOM_COMMAND_H
|
||||
#define SOURCE_GROUP_SETTINGS_CUSTOM_COMMAND_H
|
||||
|
||||
#include "SourceGroupSettings.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
|
||||
class SourceGroupSettingsCustomCommand
|
||||
: public SourceGroupSettings
|
||||
, public SourceGroupSettingsWithExcludeFilters
|
||||
, public SourceGroupSettingsWithSourceExtensions
|
||||
, public SourceGroupSettingsWithSourcePaths
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCustomCommand(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
|
||||
const std::wstring& getCustomCommand() const;
|
||||
void setCustomCommand(const std::wstring& customCommand);
|
||||
|
||||
bool getRunInParallel() const;
|
||||
void setRunInParallel(bool runInParallel);
|
||||
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override;
|
||||
|
||||
std::wstring m_customCommand;
|
||||
bool m_runInParallel;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CUSTOM_COMMAND_H
|
||||
@@ -1,88 +0,0 @@
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "ConfigManager.h"
|
||||
#include "utility.h"
|
||||
|
||||
SourceGroupSettingsCxx::SourceGroupSettingsCxx(const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettings(id, type, projectSettings)
|
||||
, m_headerSearchPaths(std::vector<FilePath>())
|
||||
, m_frameworkSearchPaths(std::vector<FilePath>())
|
||||
, m_compilerFlags(std::vector<std::wstring>())
|
||||
{
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxx::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettings::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
setHeaderSearchPaths(config->getValuesOrDefaults(key + "/header_search_paths/header_search_path", std::vector<FilePath>()));
|
||||
setFrameworkSearchPaths(config->getValuesOrDefaults(key + "/framework_search_paths/framework_search_path", std::vector<FilePath>()));
|
||||
setCompilerFlags(config->getValuesOrDefaults(key + "/compiler_flags/compiler_flag", std::vector<std::wstring>()));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxx::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettings::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
config->setValues(key + "/header_search_paths/header_search_path", getHeaderSearchPaths());
|
||||
config->setValues(key + "/framework_search_paths/framework_search_path", getFrameworkSearchPaths());
|
||||
config->setValues(key + "/compiler_flags/compiler_flag", getCompilerFlags());
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsCxx::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCxx> otherCxx = std::dynamic_pointer_cast<SourceGroupSettingsCxx>(other);
|
||||
|
||||
return (
|
||||
otherCxx &&
|
||||
SourceGroupSettings::equals(other) &&
|
||||
utility::isPermutation(m_headerSearchPaths, otherCxx->m_headerSearchPaths) &&
|
||||
utility::isPermutation(m_frameworkSearchPaths, otherCxx->m_frameworkSearchPaths) &&
|
||||
utility::isPermutation(m_compilerFlags, otherCxx->m_compilerFlags)
|
||||
);
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsCxx::getHeaderSearchPaths() const
|
||||
{
|
||||
return m_headerSearchPaths;
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsCxx::getHeaderSearchPathsExpandedAndAbsolute() const
|
||||
{
|
||||
return m_projectSettings->makePathsExpandedAndAbsolute(getHeaderSearchPaths());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxx::setHeaderSearchPaths(const std::vector<FilePath>& headerSearchPaths)
|
||||
{
|
||||
m_headerSearchPaths = headerSearchPaths;
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsCxx::getFrameworkSearchPaths() const
|
||||
{
|
||||
return m_frameworkSearchPaths;
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsCxx::getFrameworkSearchPathsExpandedAndAbsolute() const
|
||||
{
|
||||
return m_projectSettings->makePathsExpandedAndAbsolute(getFrameworkSearchPaths());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxx::setFrameworkSearchPaths(const std::vector<FilePath>& frameworkSearchPaths)
|
||||
{
|
||||
m_frameworkSearchPaths = frameworkSearchPaths;
|
||||
}
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsCxx::getCompilerFlags() const
|
||||
{
|
||||
return m_compilerFlags;
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxx::setCompilerFlags(const std::vector<std::wstring>& compilerFlags)
|
||||
{
|
||||
m_compilerFlags = compilerFlags;
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
#include "SourceGroupSettingsCxxCdb.h"
|
||||
|
||||
#include "ConfigManager.h"
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
SourceGroupSettingsCxxCdb::SourceGroupSettingsCxxCdb(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsCxx(id, SOURCE_GROUP_CXX_CDB, projectSettings)
|
||||
, m_compilationDatabasePath(FilePath())
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsCxxCdb::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCxxCdb>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxxCdb::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsCxx::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithCxxPchOptions::load(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::load(config, key);
|
||||
SourceGroupSettingsWithIndexedHeaderPaths::load(config, key);
|
||||
|
||||
setCompilationDatabasePath(config->getValueOrDefault(key + "/build_file_path/compilation_db_path", FilePath(L"")));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxxCdb::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsCxx::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithCxxPchOptions::save(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::save(config, key);
|
||||
SourceGroupSettingsWithIndexedHeaderPaths::save(config, key);
|
||||
|
||||
config->setValue(key + "/build_file_path/compilation_db_path", getCompilationDatabasePath().wstr());
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsCxxCdb::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCxxCdb> otherCxxCdb = std::dynamic_pointer_cast<SourceGroupSettingsCxxCdb>(other);
|
||||
|
||||
return (
|
||||
otherCxxCdb &&
|
||||
SourceGroupSettingsCxx::equals(other) &&
|
||||
SourceGroupSettingsWithCxxPchOptions::equals(otherCxxCdb) &&
|
||||
SourceGroupSettingsWithExcludeFilters::equals(otherCxxCdb) &&
|
||||
SourceGroupSettingsWithIndexedHeaderPaths::equals(otherCxxCdb) &&
|
||||
m_compilationDatabasePath == otherCxxCdb->m_compilationDatabasePath
|
||||
);
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsCxxCdb::getCompilationDatabasePath() const
|
||||
{
|
||||
return m_compilationDatabasePath;
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsCxxCdb::getCompilationDatabasePathExpandedAndAbsolute() const
|
||||
{
|
||||
return utility::getExpandedAndAbsolutePath(getCompilationDatabasePath(), m_projectSettings->getProjectDirectoryPath());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxxCdb::setCompilationDatabasePath(const FilePath& compilationDatabasePath)
|
||||
{
|
||||
m_compilationDatabasePath = compilationDatabasePath;
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CXX_CDB_H
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_CDB_H
|
||||
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
#include "SourceGroupSettingsWithCxxPchOptions.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithIndexedHeaderPaths.h"
|
||||
#include "FilePath.h"
|
||||
|
||||
class SourceGroupSettingsCxxCdb
|
||||
: public SourceGroupSettingsCxx
|
||||
, public SourceGroupSettingsWithCxxPchOptions
|
||||
, public SourceGroupSettingsWithExcludeFilters
|
||||
, public SourceGroupSettingsWithIndexedHeaderPaths
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCxxCdb(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
|
||||
FilePath getCompilationDatabasePath() const;
|
||||
FilePath getCompilationDatabasePathExpandedAndAbsolute() const;
|
||||
void setCompilationDatabasePath(const FilePath& compilationDatabasePath);
|
||||
|
||||
private:
|
||||
FilePath m_compilationDatabasePath;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_CDB_H
|
||||
@@ -1,11 +0,0 @@
|
||||
#include "SourceGroupSettingsCxxCdbVs.h"
|
||||
|
||||
SourceGroupSettingsCxxCdbVs::SourceGroupSettingsCxxCdbVs(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsCxxCdb(id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsCxxCdbVs::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCxxCdbVs>(*this);
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
#include "SourceGroupSettingsCxxCodeblocks.h"
|
||||
|
||||
#include "ConfigManager.h"
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
SourceGroupSettingsCxxCodeblocks::SourceGroupSettingsCxxCodeblocks(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsCxx(id, SOURCE_GROUP_CXX_CODEBLOCKS, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsCxxCodeblocks::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCxxCodeblocks>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxxCodeblocks::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsCxx::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithCppStandard::load(config, key);
|
||||
SourceGroupSettingsWithCStandard::load(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::load(config, key);
|
||||
SourceGroupSettingsWithIndexedHeaderPaths::load(config, key);
|
||||
SourceGroupSettingsWithSourceExtensions::load(config, key);
|
||||
|
||||
setCodeblocksProjectPath(config->getValueOrDefault(key + "/codeblocks_project_path", FilePath(L"")));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxxCodeblocks::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsCxx::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithCppStandard::save(config, key);
|
||||
SourceGroupSettingsWithCStandard::save(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::save(config, key);
|
||||
SourceGroupSettingsWithIndexedHeaderPaths::save(config, key);
|
||||
SourceGroupSettingsWithSourceExtensions::save(config, key);
|
||||
|
||||
config->setValue(key + "/codeblocks_project_path", getCodeblocksProjectPath().wstr());
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsCxxCodeblocks::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCxxCodeblocks> otherCxxCodeblocks = std::dynamic_pointer_cast<SourceGroupSettingsCxxCodeblocks>(other);
|
||||
|
||||
return (
|
||||
otherCxxCodeblocks &&
|
||||
SourceGroupSettingsCxx::equals(other) &&
|
||||
SourceGroupSettingsWithCppStandard::equals(otherCxxCodeblocks) &&
|
||||
SourceGroupSettingsWithCStandard::equals(otherCxxCodeblocks) &&
|
||||
SourceGroupSettingsWithExcludeFilters::equals(otherCxxCodeblocks) &&
|
||||
SourceGroupSettingsWithIndexedHeaderPaths::equals(otherCxxCodeblocks) &&
|
||||
SourceGroupSettingsWithSourceExtensions::equals(otherCxxCodeblocks) &&
|
||||
m_codeblocksProjectPath == otherCxxCodeblocks->m_codeblocksProjectPath
|
||||
);
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsCxxCodeblocks::getCodeblocksProjectPath() const
|
||||
{
|
||||
return m_codeblocksProjectPath;
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsCxxCodeblocks::getCodeblocksProjectPathExpandedAndAbsolute() const
|
||||
{
|
||||
return utility::getExpandedAndAbsolutePath(getCodeblocksProjectPath(), m_projectSettings->getProjectDirectoryPath());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxxCodeblocks::setCodeblocksProjectPath(const FilePath& compilationDatabasePath)
|
||||
{
|
||||
m_codeblocksProjectPath = compilationDatabasePath;
|
||||
}
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsCxxCodeblocks::getDefaultSourceExtensions() const
|
||||
{
|
||||
return {
|
||||
L".c",
|
||||
L".cpp",
|
||||
L".cxx",
|
||||
L".cc"
|
||||
};
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CXX_CODEBLOCKS_H
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_CODEBLOCKS_H
|
||||
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
#include "SourceGroupSettingsWithCppStandard.h"
|
||||
#include "SourceGroupSettingsWithCStandard.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithIndexedHeaderPaths.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsCxxCodeblocks
|
||||
: public SourceGroupSettingsCxx
|
||||
, public SourceGroupSettingsWithCppStandard
|
||||
, public SourceGroupSettingsWithCStandard
|
||||
, public SourceGroupSettingsWithExcludeFilters
|
||||
, public SourceGroupSettingsWithIndexedHeaderPaths
|
||||
, public SourceGroupSettingsWithSourceExtensions
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCxxCodeblocks(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
|
||||
FilePath getCodeblocksProjectPath() const;
|
||||
FilePath getCodeblocksProjectPathExpandedAndAbsolute() const;
|
||||
void setCodeblocksProjectPath(const FilePath& compilationDatabasePath);
|
||||
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override;
|
||||
|
||||
FilePath m_codeblocksProjectPath;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_CODEBLOCKS_H
|
||||
@@ -1,46 +0,0 @@
|
||||
#include "SourceGroupSettingsCxxSonargraph.h"
|
||||
|
||||
SourceGroupSettingsCxxSonargraph::SourceGroupSettingsCxxSonargraph(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsCxx(id, SOURCE_GROUP_CXX_SONARGRAPH, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsCxxSonargraph::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCxxSonargraph>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxxSonargraph::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsCxx::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithCppStandard::load(config, key);
|
||||
SourceGroupSettingsWithIndexedHeaderPaths::load(config, key);
|
||||
SourceGroupSettingsWithSonargraphProjectPath::load(config, key);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsCxxSonargraph::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsCxx::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithCppStandard::save(config, key);
|
||||
SourceGroupSettingsWithIndexedHeaderPaths::save(config, key);
|
||||
SourceGroupSettingsWithSonargraphProjectPath::save(config, key);
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsCxxSonargraph::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCxxSonargraph> otherCxxSonargraph = std::dynamic_pointer_cast<SourceGroupSettingsCxxSonargraph>(other);
|
||||
|
||||
return (
|
||||
otherCxxSonargraph &&
|
||||
SourceGroupSettingsCxx::equals(other) &&
|
||||
SourceGroupSettingsWithCppStandard::equals(otherCxxSonargraph) &&
|
||||
SourceGroupSettingsWithIndexedHeaderPaths::equals(otherCxxSonargraph) &&
|
||||
SourceGroupSettingsWithSonargraphProjectPath::equals(otherCxxSonargraph)
|
||||
);
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CXX_SONARGRAPH_H
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_SONARGRAPH_H
|
||||
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
#include "SourceGroupSettingsWithCppStandard.h"
|
||||
#include "SourceGroupSettingsWithIndexedHeaderPaths.h"
|
||||
#include "SourceGroupSettingsWithSonargraphProjectPath.h"
|
||||
|
||||
class SourceGroupSettingsCxxSonargraph
|
||||
: public SourceGroupSettingsCxx
|
||||
, public SourceGroupSettingsWithCppStandard
|
||||
, public SourceGroupSettingsWithIndexedHeaderPaths
|
||||
, public SourceGroupSettingsWithSonargraphProjectPath
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCxxSonargraph(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_SONARGRAPH_H
|
||||
@@ -1,46 +0,0 @@
|
||||
#include "SourceGroupSettingsJava.h"
|
||||
|
||||
SourceGroupSettingsJava::SourceGroupSettingsJava(const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettings(id, type, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJava::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettings::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithSourceExtensions::load(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::load(config, key);
|
||||
SourceGroupSettingsWithJavaStandard::load(config, key);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJava::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettings::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithSourceExtensions::save(config, key);
|
||||
SourceGroupSettingsWithExcludeFilters::save(config, key);
|
||||
SourceGroupSettingsWithJavaStandard::save(config, key);
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsJava::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsJava> otherJava = std::dynamic_pointer_cast<SourceGroupSettingsJava>(other);
|
||||
|
||||
return (
|
||||
otherJava &&
|
||||
SourceGroupSettings::equals(other) &&
|
||||
SourceGroupSettingsWithSourceExtensions::equals(otherJava) &&
|
||||
SourceGroupSettingsWithExcludeFilters::equals(otherJava) &&
|
||||
SourceGroupSettingsWithJavaStandard::equals(otherJava)
|
||||
);
|
||||
}
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsJava::getDefaultSourceExtensions() const
|
||||
{
|
||||
return { L".java" };
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_H
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettings.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithJavaStandard.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsJava
|
||||
: public SourceGroupSettings
|
||||
, public SourceGroupSettingsWithSourceExtensions
|
||||
, public SourceGroupSettingsWithExcludeFilters
|
||||
, public SourceGroupSettingsWithJavaStandard
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsJava(const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings);
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_H
|
||||
@@ -1,43 +0,0 @@
|
||||
#include "SourceGroupSettingsJavaEmpty.h"
|
||||
|
||||
SourceGroupSettingsJavaEmpty::SourceGroupSettingsJavaEmpty(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsJava(id, SOURCE_GROUP_JAVA_EMPTY, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsJavaEmpty::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsJavaEmpty>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaEmpty::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsJava::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithSourcePaths::load(config, key);
|
||||
SourceGroupSettingsWithClasspath::load(config, key);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaEmpty::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsJava::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithSourcePaths::save(config, key);
|
||||
SourceGroupSettingsWithClasspath::save(config, key);
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsJavaEmpty::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsJavaEmpty> otherJava = std::dynamic_pointer_cast<SourceGroupSettingsJavaEmpty>(other);
|
||||
|
||||
return (
|
||||
otherJava &&
|
||||
SourceGroupSettingsJava::equals(other) &&
|
||||
SourceGroupSettingsWithSourcePaths::equals(otherJava) &&
|
||||
SourceGroupSettingsWithClasspath::equals(otherJava)
|
||||
);
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_EMPTY_H
|
||||
|
||||
#include "SourceGroupSettingsJava.h"
|
||||
#include "SourceGroupSettingsWithClasspath.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
|
||||
class SourceGroupSettingsJavaEmpty
|
||||
: public SourceGroupSettingsJava
|
||||
, public SourceGroupSettingsWithSourcePaths
|
||||
, public SourceGroupSettingsWithClasspath
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsJavaEmpty(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_EMPTY_H
|
||||
@@ -1,79 +0,0 @@
|
||||
#include "SourceGroupSettingsJavaGradle.h"
|
||||
|
||||
#include "ConfigManager.h"
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
SourceGroupSettingsJavaGradle::SourceGroupSettingsJavaGradle(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsJava(id, SOURCE_GROUP_JAVA_GRADLE, projectSettings)
|
||||
, m_gradleProjectFilePath(FilePath())
|
||||
, m_shouldIndexGradleTests(false)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsJavaGradle::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsJavaGradle>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaGradle::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsJava::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
setGradleProjectFilePath(config->getValueOrDefault(key + "/gradle/project_file_path", FilePath(L"")));
|
||||
setShouldIndexGradleTests(config->getValueOrDefault(key + "/gradle/should_index_tests", false));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaGradle::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsJava::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
config->setValue(key + "/gradle/project_file_path", getGradleProjectFilePath().wstr());
|
||||
config->setValue(key + "/gradle/should_index_tests", getShouldIndexGradleTests());
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsJavaGradle::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsJavaGradle> otherJavaGradle = std::dynamic_pointer_cast<SourceGroupSettingsJavaGradle>(other);
|
||||
|
||||
return (
|
||||
otherJavaGradle &&
|
||||
SourceGroupSettingsJava::equals(other) &&
|
||||
m_gradleProjectFilePath == otherJavaGradle->m_gradleProjectFilePath &&
|
||||
m_shouldIndexGradleTests == otherJavaGradle->m_shouldIndexGradleTests
|
||||
);
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsJavaGradle::getGradleDependenciesDirectoryPath() const
|
||||
{
|
||||
return getSourceGroupDependenciesDirectoryPath().concatenate(L"gradle");
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsJavaGradle::getGradleProjectFilePath() const
|
||||
{
|
||||
return m_gradleProjectFilePath;
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsJavaGradle::getGradleProjectFilePathExpandedAndAbsolute() const
|
||||
{
|
||||
return utility::getExpandedAndAbsolutePath(getGradleProjectFilePath(), getProjectSettings()->getProjectDirectoryPath());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaGradle::setGradleProjectFilePath(const FilePath& path)
|
||||
{
|
||||
m_gradleProjectFilePath = path;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsJavaGradle::getShouldIndexGradleTests() const
|
||||
{
|
||||
return m_shouldIndexGradleTests;
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaGradle::setShouldIndexGradleTests(bool value)
|
||||
{
|
||||
m_shouldIndexGradleTests = value;
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_GRADLE_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_GRADLE_H
|
||||
|
||||
#include "SourceGroupSettingsJava.h"
|
||||
#include "FilePath.h"
|
||||
|
||||
class SourceGroupSettingsJavaGradle
|
||||
: public SourceGroupSettingsJava
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsJavaGradle(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
|
||||
FilePath getGradleDependenciesDirectoryPath() const;
|
||||
|
||||
FilePath getGradleProjectFilePath() const;
|
||||
FilePath getGradleProjectFilePathExpandedAndAbsolute() const;
|
||||
void setGradleProjectFilePath(const FilePath& path);
|
||||
|
||||
bool getShouldIndexGradleTests() const;
|
||||
void setShouldIndexGradleTests(bool value);
|
||||
|
||||
private:
|
||||
FilePath m_gradleProjectFilePath;
|
||||
bool m_shouldIndexGradleTests;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_GRADLE_H
|
||||
@@ -1,79 +0,0 @@
|
||||
#include "SourceGroupSettingsJavaMaven.h"
|
||||
|
||||
#include "ConfigManager.h"
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
SourceGroupSettingsJavaMaven::SourceGroupSettingsJavaMaven(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsJava(id, SOURCE_GROUP_JAVA_MAVEN, projectSettings)
|
||||
, m_mavenProjectFilePath(FilePath())
|
||||
, m_shouldIndexMavenTests(false)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsJavaMaven::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsJavaMaven>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaMaven::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsJava::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
setMavenProjectFilePath(config->getValueOrDefault(key + "/maven/project_file_path", FilePath(L"")));
|
||||
setShouldIndexMavenTests(config->getValueOrDefault(key + "/maven/should_index_tests", false));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaMaven::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettingsJava::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
config->setValue(key + "/maven/project_file_path", getMavenProjectFilePath().wstr());
|
||||
config->setValue(key + "/maven/should_index_tests", getShouldIndexMavenTests());
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsJavaMaven::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsJavaMaven> otherJavaMaven = std::dynamic_pointer_cast<SourceGroupSettingsJavaMaven>(other);
|
||||
|
||||
return (
|
||||
otherJavaMaven &&
|
||||
SourceGroupSettingsJava::equals(other) &&
|
||||
m_mavenProjectFilePath == otherJavaMaven->m_mavenProjectFilePath &&
|
||||
m_shouldIndexMavenTests == otherJavaMaven->m_shouldIndexMavenTests
|
||||
);
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsJavaMaven::getMavenDependenciesDirectoryPath() const
|
||||
{
|
||||
return getSourceGroupDependenciesDirectoryPath().concatenate(L"maven");
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsJavaMaven::getMavenProjectFilePath() const
|
||||
{
|
||||
return m_mavenProjectFilePath;
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsJavaMaven::getMavenProjectFilePathExpandedAndAbsolute() const
|
||||
{
|
||||
return utility::getExpandedAndAbsolutePath(getMavenProjectFilePath(), getProjectSettings()->getProjectDirectoryPath());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaMaven::setMavenProjectFilePath(const FilePath& path)
|
||||
{
|
||||
m_mavenProjectFilePath = path;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsJavaMaven::getShouldIndexMavenTests() const
|
||||
{
|
||||
return m_shouldIndexMavenTests;
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaMaven::setShouldIndexMavenTests(bool value)
|
||||
{
|
||||
m_shouldIndexMavenTests = value;
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_MAVEN_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_MAVEN_H
|
||||
|
||||
#include "SourceGroupSettingsJava.h"
|
||||
#include "FilePath.h"
|
||||
|
||||
class SourceGroupSettingsJavaMaven
|
||||
: public SourceGroupSettingsJava
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsJavaMaven(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
|
||||
FilePath getMavenDependenciesDirectoryPath() const;
|
||||
|
||||
FilePath getMavenProjectFilePath() const;
|
||||
FilePath getMavenProjectFilePathExpandedAndAbsolute() const;
|
||||
void setMavenProjectFilePath(const FilePath& path);
|
||||
|
||||
bool getShouldIndexMavenTests() const;
|
||||
void setShouldIndexMavenTests(bool value);
|
||||
|
||||
private:
|
||||
FilePath m_mavenProjectFilePath;
|
||||
bool m_shouldIndexMavenTests;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_MAVEN_H
|
||||
@@ -1,46 +0,0 @@
|
||||
#include "SourceGroupSettingsJavaSonargraph.h"
|
||||
|
||||
SourceGroupSettingsJavaSonargraph::SourceGroupSettingsJavaSonargraph(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettings(id, SOURCE_GROUP_JAVA_SONARGRAPH, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsJavaSonargraph::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsJavaSonargraph>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaSonargraph::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettings::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithClasspath::load(config, key);
|
||||
SourceGroupSettingsWithJavaStandard::load(config, key);
|
||||
SourceGroupSettingsWithSonargraphProjectPath::load(config, key);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsJavaSonargraph::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettings::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithClasspath::save(config, key);
|
||||
SourceGroupSettingsWithJavaStandard::save(config, key);
|
||||
SourceGroupSettingsWithSonargraphProjectPath::save(config, key);
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsJavaSonargraph::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsJavaSonargraph> otherJavaSonargraph = std::dynamic_pointer_cast<SourceGroupSettingsJavaSonargraph>(other);
|
||||
|
||||
return (
|
||||
otherJavaSonargraph &&
|
||||
SourceGroupSettings::equals(other) &&
|
||||
SourceGroupSettingsWithClasspath::equals(otherJavaSonargraph) &&
|
||||
SourceGroupSettingsWithJavaStandard::equals(otherJavaSonargraph) &&
|
||||
SourceGroupSettingsWithSonargraphProjectPath::equals(otherJavaSonargraph)
|
||||
);
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
#include "SourceGroupSettingsPythonEmpty.h"
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
SourceGroupSettingsPythonEmpty::SourceGroupSettingsPythonEmpty(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettings(id, SOURCE_GROUP_PYTHON_EMPTY, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupSettingsPythonEmpty::createCopy() const
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsPythonEmpty>(*this);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsPythonEmpty::load(std::shared_ptr<const ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettings::load(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithExcludeFilters::load(config, key);
|
||||
SourceGroupSettingsWithSourcePaths::load(config, key);
|
||||
SourceGroupSettingsWithSourceExtensions::load(config, key);
|
||||
|
||||
setEnvironmentPath(config->getValueOrDefault(key + "/python_environment_path", FilePath(L"")));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsPythonEmpty::save(std::shared_ptr<ConfigManager> config)
|
||||
{
|
||||
SourceGroupSettings::save(config);
|
||||
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettingsWithExcludeFilters::save(config, key);
|
||||
SourceGroupSettingsWithSourcePaths::save(config, key);
|
||||
SourceGroupSettingsWithSourceExtensions::save(config, key);
|
||||
|
||||
config->setValue(key + "/python_environment_path", getEnvironmentPath().wstr());
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsPythonEmpty::equals(std::shared_ptr<SourceGroupSettings> other) const
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsPythonEmpty> otherPython = std::dynamic_pointer_cast<SourceGroupSettingsPythonEmpty>(other);
|
||||
|
||||
return (
|
||||
otherPython &&
|
||||
SourceGroupSettings::equals(other) &&
|
||||
SourceGroupSettingsWithExcludeFilters::equals(otherPython) &&
|
||||
SourceGroupSettingsWithSourcePaths::equals(otherPython) &&
|
||||
SourceGroupSettingsWithSourceExtensions::equals(otherPython) &&
|
||||
m_environmentPath == otherPython->m_environmentPath
|
||||
);
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsPythonEmpty::getEnvironmentPath() const
|
||||
{
|
||||
return m_environmentPath;
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsPythonEmpty::getEnvironmentPathExpandedAndAbsolute() const
|
||||
{
|
||||
return utility::getExpandedAndAbsolutePath(getEnvironmentPath(), m_projectSettings->getProjectDirectoryPath());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsPythonEmpty::setEnvironmentPath(const FilePath& environmentPath)
|
||||
{
|
||||
m_environmentPath = environmentPath;
|
||||
}
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsPythonEmpty::getDefaultSourceExtensions() const
|
||||
{
|
||||
return {
|
||||
L".py"
|
||||
};
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_PYTHON_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_PYTHON_EMPTY_H
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettings.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
|
||||
class SourceGroupSettingsPythonEmpty
|
||||
: public SourceGroupSettings
|
||||
, public SourceGroupSettingsWithExcludeFilters
|
||||
, public SourceGroupSettingsWithSourceExtensions
|
||||
, public SourceGroupSettingsWithSourcePaths
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsPythonEmpty(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
|
||||
FilePath getEnvironmentPath() const;
|
||||
FilePath getEnvironmentPathExpandedAndAbsolute() const;
|
||||
void setEnvironmentPath(const FilePath& environmentPath);
|
||||
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override;
|
||||
|
||||
FilePath m_environmentPath;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_PYTHON_EMPTY_H
|
||||
@@ -0,0 +1,72 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_COMPONENTS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_COMPONENTS_H
|
||||
|
||||
#include "SourceGroupSettings.h"
|
||||
|
||||
template<typename... ComponentTypes>
|
||||
class SourceGroupSettingsWithComponents
|
||||
: public SourceGroupSettings
|
||||
, public ComponentTypes...
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsWithComponents(SourceGroupType type, const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettings(type, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~SourceGroupSettingsWithComponents() = default;
|
||||
|
||||
void loadSettings(const ConfigManager* config) override
|
||||
{
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettings::load(config, key);
|
||||
|
||||
using expand_type = int[];
|
||||
expand_type a{ 0, ((ComponentTypes::load(config, key)), void(), 0)... };
|
||||
}
|
||||
|
||||
void saveSettings(ConfigManager* config) override
|
||||
{
|
||||
const std::string key = s_keyPrefix + getId();
|
||||
|
||||
SourceGroupSettings::save(config, key);
|
||||
|
||||
using expand_type = int[];
|
||||
expand_type a{ 0, ((ComponentTypes::save(config, key)), void(), 0)... };
|
||||
}
|
||||
|
||||
bool equalsSettings(const SourceGroupSettingsBase* other) override
|
||||
{
|
||||
if (!SourceGroupSettings::equals(other))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
const SourceGroupSettingsWithComponents<ComponentTypes...>* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithComponents<ComponentTypes...>*>(other);
|
||||
if (getComponentCount() != otherPtr->getComponentCount())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
using expand_type = int[];
|
||||
expand_type a{ false, ComponentTypes::equals(other)... };
|
||||
|
||||
bool r = true;
|
||||
for (size_t i = 1; i <= getComponentCount(); ++i)
|
||||
{
|
||||
r &= a[i];
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
private:
|
||||
size_t getComponentCount() const
|
||||
{
|
||||
return sizeof...(ComponentTypes);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_COMPONENTS_H
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_COMPONENT_H
|
||||
#define SOURCE_GROUP_SETTINGS_COMPONENT_H
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
|
||||
class ConfigManager;
|
||||
|
||||
class SourceGroupSettingsComponent
|
||||
: virtual public SourceGroupSettingsBase
|
||||
{
|
||||
public:
|
||||
virtual ~SourceGroupSettingsComponent() = default;
|
||||
|
||||
protected:
|
||||
virtual void load(const ConfigManager* config, const std::string& key) = 0;
|
||||
virtual void save(ConfigManager* config, const std::string& key) = 0;
|
||||
|
||||
virtual bool equals(const SourceGroupSettingsBase* other) const = 0;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_COMPONENT_H
|
||||
@@ -0,0 +1,46 @@
|
||||
#include "SourceGroupSettingsWithCustomCommand.h"
|
||||
|
||||
#include "ConfigManager.h"
|
||||
|
||||
const std::wstring& SourceGroupSettingsWithCustomCommand::getCustomCommand() const
|
||||
{
|
||||
return m_customCommand;
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCustomCommand::setCustomCommand(const std::wstring& customCommand)
|
||||
{
|
||||
m_customCommand = customCommand;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCustomCommand::getRunInParallel() const
|
||||
{
|
||||
return m_runInParallel;
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCustomCommand::setRunInParallel(bool runInParallel)
|
||||
{
|
||||
m_runInParallel = runInParallel;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCustomCommand::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithCustomCommand* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithCustomCommand*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_customCommand == otherPtr->m_customCommand
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCustomCommand::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setCustomCommand(config->getValueOrDefault(key + "/custom_command", std::wstring()));
|
||||
setRunInParallel(config->getValueOrDefault(key + "/run_in_parallel", false));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCustomCommand::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/custom_command", getCustomCommand());
|
||||
config->setValue(key + "/run_in_parallel", getRunInParallel());
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CUSTOM_COMMAND_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CUSTOM_COMMAND_H
|
||||
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithCustomCommand
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
virtual ~SourceGroupSettingsWithCustomCommand() = default;
|
||||
|
||||
const std::wstring& getCustomCommand() const;
|
||||
void setCustomCommand(const std::wstring& customCommand);
|
||||
|
||||
bool getRunInParallel() const;
|
||||
void setRunInParallel(bool runInParallel);
|
||||
|
||||
protected:
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
std::wstring m_customCommand;
|
||||
bool m_runInParallel = false;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CUSTOM_COMMAND_H
|
||||
+23
-24
@@ -6,29 +6,6 @@
|
||||
#include "utility.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
SourceGroupSettingsWithExcludeFilters::SourceGroupSettingsWithExcludeFilters()
|
||||
: m_excludeFilters(std::vector<std::wstring>())
|
||||
{
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithExcludeFilters::equals(std::shared_ptr<SourceGroupSettingsWithExcludeFilters> other) const
|
||||
{
|
||||
return (
|
||||
utility::isPermutation(m_excludeFilters, other->m_excludeFilters)
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithExcludeFilters::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setExcludeFilterStrings(config->getValuesOrDefaults(key + "/exclude_filters/exclude_filter", std::vector<std::wstring>()));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithExcludeFilters::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/exclude_filters/exclude_filter", getExcludeFilterStrings());
|
||||
}
|
||||
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsWithExcludeFilters::getExcludeFilterStrings() const
|
||||
{
|
||||
return m_excludeFilters;
|
||||
@@ -44,7 +21,29 @@ void SourceGroupSettingsWithExcludeFilters::setExcludeFilterStrings(const std::v
|
||||
m_excludeFilters = excludeFilters;
|
||||
}
|
||||
|
||||
std::vector<FilePathFilter> SourceGroupSettingsWithExcludeFilters::getFiltersExpandedAndAbsolute(const std::vector<std::wstring>& filterStrings) const
|
||||
bool SourceGroupSettingsWithExcludeFilters::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithExcludeFilters* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithExcludeFilters*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
utility::isPermutation(m_excludeFilters, otherPtr->m_excludeFilters)
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithExcludeFilters::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setExcludeFilterStrings(config->getValuesOrDefaults(key + "/exclude_filters/exclude_filter", std::vector<std::wstring>()));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithExcludeFilters::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/exclude_filters/exclude_filter", getExcludeFilterStrings());
|
||||
}
|
||||
|
||||
std::vector<FilePathFilter> SourceGroupSettingsWithExcludeFilters::getFiltersExpandedAndAbsolute(
|
||||
const std::vector<std::wstring>& filterStrings) const
|
||||
{
|
||||
const FilePath projectDirectoryPath = getProjectSettings()->getProjectDirectoryPath();
|
||||
|
||||
+6
-10
@@ -1,31 +1,27 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_EXCLUDE_FILTERS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_EXCLUDE_FILTERS_H
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class ConfigManager;
|
||||
class FilePathFilter;
|
||||
|
||||
class SourceGroupSettingsWithExcludeFilters
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsWithExcludeFilters();
|
||||
virtual ~SourceGroupSettingsWithExcludeFilters() = default;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettingsWithExcludeFilters> other) const;
|
||||
|
||||
std::vector<std::wstring> getExcludeFilterStrings() const;
|
||||
std::vector<FilePathFilter> getExcludeFiltersExpandedAndAbsolute() const;
|
||||
void setExcludeFilterStrings(const std::vector<std::wstring>& excludeFilters);
|
||||
|
||||
protected:
|
||||
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
|
||||
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
std::vector<FilePathFilter> getFiltersExpandedAndAbsolute(const std::vector<std::wstring>& filterStrings) const;
|
||||
+21
-22
@@ -3,28 +3,6 @@
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
SourceGroupSettingsWithSonargraphProjectPath::SourceGroupSettingsWithSonargraphProjectPath()
|
||||
{
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithSonargraphProjectPath::equals(std::shared_ptr<SourceGroupSettingsWithSonargraphProjectPath> other) const
|
||||
{
|
||||
return (
|
||||
other &&
|
||||
m_sonargraphProjectPath == other->m_sonargraphProjectPath
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSonargraphProjectPath::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setSonargraphProjectPath(config->getValueOrDefault(key + "/sonargraph_project_path", FilePath(L"")));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSonargraphProjectPath::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/sonargraph_project_path", getSonargraphProjectPath().wstr());
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsWithSonargraphProjectPath::getSonargraphProjectPath() const
|
||||
{
|
||||
return m_sonargraphProjectPath;
|
||||
@@ -39,3 +17,24 @@ void SourceGroupSettingsWithSonargraphProjectPath::setSonargraphProjectPath(cons
|
||||
{
|
||||
m_sonargraphProjectPath = sonargraphProjectPath;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithSonargraphProjectPath::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithSonargraphProjectPath* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithSonargraphProjectPath*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_sonargraphProjectPath == otherPtr->m_sonargraphProjectPath
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSonargraphProjectPath::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setSonargraphProjectPath(config->getValueOrDefault(key + "/sonargraph_project_path", FilePath(L"")));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSonargraphProjectPath::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/sonargraph_project_path", getSonargraphProjectPath().wstr());
|
||||
}
|
||||
+6
-12
@@ -1,30 +1,24 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SONARGRAPH_PROJECT_PATH_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SONARGRAPH_PROJECT_PATH_H
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
#include "FilePath.h"
|
||||
|
||||
class ConfigManager;
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithSonargraphProjectPath
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsWithSonargraphProjectPath();
|
||||
virtual ~SourceGroupSettingsWithSonargraphProjectPath() = default;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettingsWithSonargraphProjectPath> other) const;
|
||||
|
||||
FilePath getSonargraphProjectPath() const;
|
||||
FilePath getSonargraphProjectPathExpandedAndAbsolute() const;
|
||||
void setSonargraphProjectPath(const FilePath& sonargraphProjectPath);
|
||||
|
||||
protected:
|
||||
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
|
||||
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
FilePath m_sonargraphProjectPath;
|
||||
+21
-20
@@ -3,26 +3,6 @@
|
||||
#include "ProjectSettings.h"
|
||||
#include "utility.h"
|
||||
|
||||
SourceGroupSettingsWithSourceExtensions::SourceGroupSettingsWithSourceExtensions()
|
||||
: m_sourceExtensions(std::vector<std::wstring>())
|
||||
{
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithSourceExtensions::equals(std::shared_ptr<SourceGroupSettingsWithSourceExtensions> other) const
|
||||
{
|
||||
return utility::isPermutation(m_sourceExtensions, other->m_sourceExtensions);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSourceExtensions::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setSourceExtensions(config->getValuesOrDefaults(key + "/source_extensions/source_extension", std::vector<std::wstring>()));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSourceExtensions::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/source_extensions/source_extension", getSourceExtensions());
|
||||
}
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsWithSourceExtensions::getSourceExtensions() const
|
||||
{
|
||||
if (m_sourceExtensions.empty())
|
||||
@@ -36,3 +16,24 @@ void SourceGroupSettingsWithSourceExtensions::setSourceExtensions(const std::vec
|
||||
{
|
||||
m_sourceExtensions = sourceExtensions;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithSourceExtensions::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithSourceExtensions* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithSourceExtensions*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
utility::isPermutation(m_sourceExtensions, otherPtr->m_sourceExtensions)
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSourceExtensions::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setSourceExtensions(config->getValuesOrDefaults(key + "/source_extensions/source_extension", std::vector<std::wstring>()));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSourceExtensions::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/source_extensions/source_extension", getSourceExtensions());
|
||||
}
|
||||
+6
-12
@@ -1,30 +1,24 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_H
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
|
||||
class ConfigManager;
|
||||
class FilePath;
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithSourceExtensions
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsWithSourceExtensions();
|
||||
virtual ~SourceGroupSettingsWithSourceExtensions() = default;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettingsWithSourceExtensions> other) const;
|
||||
|
||||
std::vector<std::wstring> getSourceExtensions() const;
|
||||
void setSourceExtensions(const std::vector<std::wstring>& sourceExtensions);
|
||||
|
||||
protected:
|
||||
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
|
||||
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
virtual std::vector<std::wstring> getDefaultSourceExtensions() const = 0;
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_EMPTY_H
|
||||
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsWithSourceExtensionsEmpty
|
||||
: public SourceGroupSettingsWithSourceExtensions
|
||||
{
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override
|
||||
{
|
||||
return {};
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_EMPTY_H
|
||||
+20
-20
@@ -3,26 +3,6 @@
|
||||
#include "ProjectSettings.h"
|
||||
#include "utility.h"
|
||||
|
||||
SourceGroupSettingsWithSourcePaths::SourceGroupSettingsWithSourcePaths()
|
||||
: m_sourcePaths(std::vector<FilePath>())
|
||||
{
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithSourcePaths::equals(std::shared_ptr<SourceGroupSettingsWithSourcePaths> other) const
|
||||
{
|
||||
return utility::isPermutation(m_sourcePaths, other->m_sourcePaths);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSourcePaths::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setSourcePaths(config->getValuesOrDefaults(key + "/source_paths/source_path", std::vector<FilePath>()));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSourcePaths::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/source_paths/source_path", getSourcePaths());
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsWithSourcePaths::getSourcePaths() const
|
||||
{
|
||||
return m_sourcePaths;
|
||||
@@ -37,3 +17,23 @@ void SourceGroupSettingsWithSourcePaths::setSourcePaths(const std::vector<FilePa
|
||||
{
|
||||
m_sourcePaths = sourcePaths;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithSourcePaths::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithSourcePaths* otherPtr = dynamic_cast<const SourceGroupSettingsWithSourcePaths*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
utility::isPermutation(m_sourcePaths, otherPtr->m_sourcePaths)
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSourcePaths::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setSourcePaths(config->getValuesOrDefaults(key + "/source_paths/source_path", std::vector<FilePath>()));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithSourcePaths::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/source_paths/source_path", getSourcePaths());
|
||||
}
|
||||
+7
-12
@@ -1,31 +1,26 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_PATHS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_PATHS_H
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
|
||||
class ConfigManager;
|
||||
class FilePath;
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithSourcePaths
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsWithSourcePaths();
|
||||
virtual ~SourceGroupSettingsWithSourcePaths() = default;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettingsWithSourcePaths> other) const;
|
||||
|
||||
std::vector<FilePath> getSourcePaths() const;
|
||||
std::vector<FilePath> getSourcePathsExpandedAndAbsolute() const;
|
||||
void setSourcePaths(const std::vector<FilePath>& sourcePaths);
|
||||
|
||||
protected:
|
||||
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
|
||||
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
std::vector<FilePath> m_sourcePaths;
|
||||
+20
-18
@@ -7,24 +7,6 @@ std::wstring SourceGroupSettingsWithCStandard::getDefaultCStandardStatic()
|
||||
return L"c11";
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCStandard::equals(std::shared_ptr<SourceGroupSettingsWithCStandard> other) const
|
||||
{
|
||||
return (
|
||||
other &&
|
||||
m_cStandard == other->m_cStandard
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCStandard::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setCStandard(config->getValueOrDefault<std::wstring>(key + "/c_standard", L""));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCStandard::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/c_standard", getCStandard());
|
||||
}
|
||||
|
||||
std::wstring SourceGroupSettingsWithCStandard::getCStandard() const
|
||||
{
|
||||
if (m_cStandard.empty())
|
||||
@@ -57,6 +39,26 @@ std::vector<std::wstring> SourceGroupSettingsWithCStandard::getAvailableCStandar
|
||||
};
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCStandard::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithCStandard* otherPtr = dynamic_cast<const SourceGroupSettingsWithCStandard*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_cStandard == otherPtr->m_cStandard
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCStandard::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setCStandard(config->getValueOrDefault<std::wstring>(key + "/c_standard", L""));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCStandard::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/c_standard", getCStandard());
|
||||
}
|
||||
|
||||
std::wstring SourceGroupSettingsWithCStandard::getDefaultCStandard() const
|
||||
{
|
||||
return getDefaultCStandardStatic();
|
||||
+6
-11
@@ -1,33 +1,28 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_C_STANDARD_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_C_STANDARD_H
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
|
||||
class ConfigManager;
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithCStandard
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
static std::wstring getDefaultCStandardStatic();
|
||||
|
||||
SourceGroupSettingsWithCStandard() = default;
|
||||
virtual ~SourceGroupSettingsWithCStandard() = default;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettingsWithCStandard> other) const;
|
||||
|
||||
std::wstring getCStandard() const;
|
||||
void setCStandard(const std::wstring& standard);
|
||||
|
||||
std::vector<std::wstring> getAvailableCStandards() const;
|
||||
|
||||
protected:
|
||||
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
|
||||
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
std::wstring getDefaultCStandard() const;
|
||||
+20
-18
@@ -7,24 +7,6 @@ std::wstring SourceGroupSettingsWithCppStandard::getDefaultCppStandardStatic()
|
||||
return L"c++17";
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCppStandard::equals(std::shared_ptr<SourceGroupSettingsWithCppStandard> other) const
|
||||
{
|
||||
return (
|
||||
other &&
|
||||
m_cppStandard == other->m_cppStandard
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCppStandard::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setCppStandard(config->getValueOrDefault<std::wstring>(key + "/cpp_standard", L""));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCppStandard::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/cpp_standard", getCppStandard());
|
||||
}
|
||||
|
||||
std::wstring SourceGroupSettingsWithCppStandard::getCppStandard() const
|
||||
{
|
||||
if (m_cppStandard.empty())
|
||||
@@ -57,6 +39,26 @@ std::vector<std::wstring> SourceGroupSettingsWithCppStandard::getAvailableCppSta
|
||||
};
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCppStandard::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithCppStandard* otherPtr = dynamic_cast<const SourceGroupSettingsWithCppStandard*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_cppStandard == otherPtr->m_cppStandard
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCppStandard::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setCppStandard(config->getValueOrDefault<std::wstring>(key + "/cpp_standard", L""));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCppStandard::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/cpp_standard", getCppStandard());
|
||||
}
|
||||
|
||||
std::wstring SourceGroupSettingsWithCppStandard::getDefaultCppStandard() const
|
||||
{
|
||||
return getDefaultCppStandardStatic();
|
||||
+6
-11
@@ -1,33 +1,28 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CPP_STANDARD_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CPP_STANDARD_H
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
|
||||
class ConfigManager;
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithCppStandard
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
static std::wstring getDefaultCppStandardStatic();
|
||||
|
||||
SourceGroupSettingsWithCppStandard() = default;
|
||||
virtual ~SourceGroupSettingsWithCppStandard() = default;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettingsWithCppStandard> other) const;
|
||||
|
||||
std::wstring getCppStandard() const;
|
||||
void setCppStandard(const std::wstring& standard);
|
||||
|
||||
std::vector<std::wstring> getAvailableCppStandards() const;
|
||||
|
||||
protected:
|
||||
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
|
||||
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
std::wstring getDefaultCppStandard() const;
|
||||
@@ -0,0 +1,41 @@
|
||||
#include "SourceGroupSettingsWithCxxCdbPath.h"
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
FilePath SourceGroupSettingsWithCxxCdbPath::getCompilationDatabasePath() const
|
||||
{
|
||||
return m_compilationDatabasePath;
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsWithCxxCdbPath::getCompilationDatabasePathExpandedAndAbsolute() const
|
||||
{
|
||||
return utility::getExpandedAndAbsolutePath(
|
||||
getCompilationDatabasePath(), getProjectSettings()->getProjectDirectoryPath());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxCdbPath::setCompilationDatabasePath(const FilePath& compilationDatabasePath)
|
||||
{
|
||||
m_compilationDatabasePath = compilationDatabasePath;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCxxCdbPath::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithCxxCdbPath* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithCxxCdbPath*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_compilationDatabasePath == otherPtr->m_compilationDatabasePath
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxCdbPath::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setCompilationDatabasePath(config->getValueOrDefault(key + "/build_file_path/compilation_db_path", FilePath(L"")));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxCdbPath::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/build_file_path/compilation_db_path", getCompilationDatabasePath().wstr());
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CXX_CDB_PATH_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CXX_CDB_PATH_H
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithCxxCdbPath
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
virtual ~SourceGroupSettingsWithCxxCdbPath() = default;
|
||||
|
||||
FilePath getCompilationDatabasePath() const;
|
||||
FilePath getCompilationDatabasePathExpandedAndAbsolute() const;
|
||||
void setCompilationDatabasePath(const FilePath& compilationDatabasePath);
|
||||
|
||||
protected:
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
FilePath m_compilationDatabasePath;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CXX_CDB_PATH_H
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
#include "SourceGroupSettingsWithCxxCodeblocksPath.h"
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
FilePath SourceGroupSettingsWithCxxCodeblocksPath::getCodeblocksProjectPath() const
|
||||
{
|
||||
return m_codeblocksProjectPath;
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsWithCxxCodeblocksPath::getCodeblocksProjectPathExpandedAndAbsolute() const
|
||||
{
|
||||
return utility::getExpandedAndAbsolutePath(getCodeblocksProjectPath(), getProjectSettings()->getProjectDirectoryPath());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxCodeblocksPath::setCodeblocksProjectPath(const FilePath& codeblocksProjectPath)
|
||||
{
|
||||
m_codeblocksProjectPath = codeblocksProjectPath;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCxxCodeblocksPath::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithCxxCodeblocksPath* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithCxxCodeblocksPath*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_codeblocksProjectPath == otherPtr->m_codeblocksProjectPath
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxCodeblocksPath::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setCodeblocksProjectPath(config->getValueOrDefault(key + "/codeblocks_project_path", FilePath(L"")));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxCodeblocksPath::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/codeblocks_project_path", getCodeblocksProjectPath().wstr());
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CXX_CODEBLOCKS_PATH_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CXX_CODEBLOCKS_PATH_H
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithCxxCodeblocksPath
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
virtual ~SourceGroupSettingsWithCxxCodeblocksPath() = default;
|
||||
|
||||
FilePath getCodeblocksProjectPath() const;
|
||||
FilePath getCodeblocksProjectPathExpandedAndAbsolute() const;
|
||||
void setCodeblocksProjectPath(const FilePath& codeblocksProjectPath);
|
||||
|
||||
protected:
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
FilePath m_codeblocksProjectPath;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CXX_CODEBLOCKS_PATH_H
|
||||
+29
-35
@@ -140,41 +140,6 @@ std::vector<std::wstring> SourceGroupSettingsWithCxxCrossCompilationOptions::get
|
||||
};
|
||||
}
|
||||
|
||||
SourceGroupSettingsWithCxxCrossCompilationOptions::SourceGroupSettingsWithCxxCrossCompilationOptions()
|
||||
: m_targetOptionsEnabled(false)
|
||||
, m_targetArch(L"")
|
||||
, m_targetVendor(L"")
|
||||
, m_targetSys(L"")
|
||||
, m_targetAbi(L"")
|
||||
{
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCxxCrossCompilationOptions::equals(std::shared_ptr<SourceGroupSettingsWithCxxCrossCompilationOptions> other) const
|
||||
{
|
||||
return (
|
||||
other &&
|
||||
getTargetFlag() == other->getTargetFlag()
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxCrossCompilationOptions::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setTargetOptionsEnabled(config->getValueOrDefault<bool>(key + "/cross_compilation/target_options_enabled", false));
|
||||
setTargetArch(config->getValueOrDefault<std::wstring>(key + "/cross_compilation/target/arch", L""));
|
||||
setTargetVendor(config->getValueOrDefault<std::wstring>(key + "/cross_compilation/target/vendor", L""));
|
||||
setTargetSys(config->getValueOrDefault<std::wstring>(key + "/cross_compilation/target/sys", L""));
|
||||
setTargetAbi(config->getValueOrDefault<std::wstring>(key + "/cross_compilation/target/abi", L""));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxCrossCompilationOptions::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/cross_compilation/target_options_enabled", getTargetOptionsEnabled());
|
||||
config->setValue(key + "/cross_compilation/target/arch", getTargetArch());
|
||||
config->setValue(key + "/cross_compilation/target/vendor", getTargetVendor());
|
||||
config->setValue(key + "/cross_compilation/target/sys", getTargetSys());
|
||||
config->setValue(key + "/cross_compilation/target/abi", getTargetAbi());
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCxxCrossCompilationOptions::getTargetOptionsEnabled() const
|
||||
{
|
||||
return m_targetOptionsEnabled;
|
||||
@@ -238,3 +203,32 @@ std::wstring SourceGroupSettingsWithCxxCrossCompilationOptions::getTargetFlag()
|
||||
}
|
||||
return targetFlag;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCxxCrossCompilationOptions::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithCxxCrossCompilationOptions* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithCxxCrossCompilationOptions*>(other);
|
||||
|
||||
return (
|
||||
other &&
|
||||
getTargetFlag() == otherPtr->getTargetFlag()
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxCrossCompilationOptions::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setTargetOptionsEnabled(config->getValueOrDefault<bool>(key + "/cross_compilation/target_options_enabled", false));
|
||||
setTargetArch(config->getValueOrDefault<std::wstring>(key + "/cross_compilation/target/arch", L""));
|
||||
setTargetVendor(config->getValueOrDefault<std::wstring>(key + "/cross_compilation/target/vendor", L""));
|
||||
setTargetSys(config->getValueOrDefault<std::wstring>(key + "/cross_compilation/target/sys", L""));
|
||||
setTargetAbi(config->getValueOrDefault<std::wstring>(key + "/cross_compilation/target/abi", L""));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxCrossCompilationOptions::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/cross_compilation/target_options_enabled", getTargetOptionsEnabled());
|
||||
config->setValue(key + "/cross_compilation/target/arch", getTargetArch());
|
||||
config->setValue(key + "/cross_compilation/target/vendor", getTargetVendor());
|
||||
config->setValue(key + "/cross_compilation/target/sys", getTargetSys());
|
||||
config->setValue(key + "/cross_compilation/target/abi", getTargetAbi());
|
||||
}
|
||||
+7
-12
@@ -1,16 +1,12 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CXX_CROSS_COMPILATION_OPTIONS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CXX_CROSS_COMPILATION_OPTIONS_H
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
|
||||
class ConfigManager;
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithCxxCrossCompilationOptions
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
static std::vector<std::wstring> getAvailableArchTypes();
|
||||
@@ -18,11 +14,8 @@ public:
|
||||
static std::vector<std::wstring> getAvailableOsTypes();
|
||||
static std::vector<std::wstring> getAvailableEnvironmentTypes();
|
||||
|
||||
SourceGroupSettingsWithCxxCrossCompilationOptions();
|
||||
virtual ~SourceGroupSettingsWithCxxCrossCompilationOptions() = default;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettingsWithCxxCrossCompilationOptions> other) const;
|
||||
|
||||
bool getTargetOptionsEnabled() const;
|
||||
void setTargetOptionsEnabled(bool targetOptionsEnabled);
|
||||
|
||||
@@ -41,11 +34,13 @@ public:
|
||||
std::wstring getTargetFlag() const;
|
||||
|
||||
protected:
|
||||
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
|
||||
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
bool m_targetOptionsEnabled;
|
||||
bool m_targetOptionsEnabled = false;
|
||||
std::wstring m_targetArch;
|
||||
std::wstring m_targetVendor;
|
||||
std::wstring m_targetSys;
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "utility.h"
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsWithCxxPathsAndFlags::getHeaderSearchPaths() const
|
||||
{
|
||||
return m_headerSearchPaths;
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsWithCxxPathsAndFlags::getHeaderSearchPathsExpandedAndAbsolute() const
|
||||
{
|
||||
return getProjectSettings()->makePathsExpandedAndAbsolute(getHeaderSearchPaths());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxPathsAndFlags::setHeaderSearchPaths(const std::vector<FilePath>& headerSearchPaths)
|
||||
{
|
||||
m_headerSearchPaths = headerSearchPaths;
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsWithCxxPathsAndFlags::getFrameworkSearchPaths() const
|
||||
{
|
||||
return m_frameworkSearchPaths;
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsWithCxxPathsAndFlags::getFrameworkSearchPathsExpandedAndAbsolute() const
|
||||
{
|
||||
return getProjectSettings()->makePathsExpandedAndAbsolute(getFrameworkSearchPaths());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxPathsAndFlags::setFrameworkSearchPaths(const std::vector<FilePath>& frameworkSearchPaths)
|
||||
{
|
||||
m_frameworkSearchPaths = frameworkSearchPaths;
|
||||
}
|
||||
|
||||
std::vector<std::wstring> SourceGroupSettingsWithCxxPathsAndFlags::getCompilerFlags() const
|
||||
{
|
||||
return m_compilerFlags;
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxPathsAndFlags::setCompilerFlags(const std::vector<std::wstring>& compilerFlags)
|
||||
{
|
||||
m_compilerFlags = compilerFlags;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCxxPathsAndFlags::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithCxxPathsAndFlags* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithCxxPathsAndFlags*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
utility::isPermutation(m_headerSearchPaths, otherPtr->m_headerSearchPaths) &&
|
||||
utility::isPermutation(m_frameworkSearchPaths, otherPtr->m_frameworkSearchPaths) &&
|
||||
utility::isPermutation(m_compilerFlags, otherPtr->m_compilerFlags)
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxPathsAndFlags::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setHeaderSearchPaths(config->getValuesOrDefaults(key + "/header_search_paths/header_search_path", std::vector<FilePath>()));
|
||||
setFrameworkSearchPaths(config->getValuesOrDefaults(key + "/framework_search_paths/framework_search_path", std::vector<FilePath>()));
|
||||
setCompilerFlags(config->getValuesOrDefaults(key + "/compiler_flags/compiler_flag", std::vector<std::wstring>()));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxPathsAndFlags::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/header_search_paths/header_search_path", getHeaderSearchPaths());
|
||||
config->setValues(key + "/framework_search_paths/framework_search_path", getFrameworkSearchPaths());
|
||||
config->setValues(key + "/compiler_flags/compiler_flag", getCompilerFlags());
|
||||
}
|
||||
+14
-12
@@ -1,20 +1,16 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CXX_H
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_H
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CXX_PATHS_AND_FLAGS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CXX_PATHS_AND_FLAGS_H
|
||||
|
||||
#include "SourceGroupSettings.h"
|
||||
#include <vector>
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsCxx
|
||||
: public SourceGroupSettings
|
||||
class SourceGroupSettingsWithCxxPathsAndFlags
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCxx(const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings);
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
virtual ~SourceGroupSettingsWithCxxPathsAndFlags() = default;
|
||||
|
||||
std::vector<FilePath> getHeaderSearchPaths() const;
|
||||
std::vector<FilePath> getHeaderSearchPathsExpandedAndAbsolute() const;
|
||||
@@ -27,10 +23,16 @@ public:
|
||||
std::vector<std::wstring> getCompilerFlags() const;
|
||||
void setCompilerFlags(const std::vector<std::wstring>& compilerFlags);
|
||||
|
||||
protected:
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
std::vector<FilePath> m_headerSearchPaths;
|
||||
std::vector<FilePath> m_frameworkSearchPaths;
|
||||
std::vector<std::wstring> m_compilerFlags;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_H
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CXX_PATHS_AND_FLAGS_H
|
||||
+27
-24
@@ -4,30 +4,6 @@
|
||||
#include "utility.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
bool SourceGroupSettingsWithCxxPchOptions::equals(std::shared_ptr<SourceGroupSettingsWithCxxPchOptions> other) const
|
||||
{
|
||||
return (
|
||||
other &&
|
||||
m_pchInputFilePath == other->m_pchInputFilePath &&
|
||||
utility::isPermutation(m_pchFlags, other->m_pchFlags) &&
|
||||
m_useCompilerFlags == other->m_useCompilerFlags
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxPchOptions::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setPchInputFilePathFilePath(config->getValueOrDefault(key + "/pch_input_file_path", FilePath(L"")));
|
||||
setPchFlags(config->getValuesOrDefaults(key + "/pch_flags/pch_flag", std::vector<std::wstring>()));
|
||||
setUseCompilerFlags(config->getValueOrDefault(key + "/pch_flags/use_compiler_flags", false));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxPchOptions::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/pch_input_file_path", getPchInputFilePath().wstr());
|
||||
config->setValues(key + "/pch_flags/pch_flag", getPchFlags());
|
||||
config->setValue(key + "/pch_flags/use_compiler_flags", getUseCompilerFlags());
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsWithCxxPchOptions::getPchDependenciesDirectoryPath() const
|
||||
{
|
||||
return getSourceGroupDependenciesDirectoryPath().concatenate(L"pch");
|
||||
@@ -48,6 +24,33 @@ void SourceGroupSettingsWithCxxPchOptions::setPchInputFilePathFilePath(const Fil
|
||||
m_pchInputFilePath = path;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCxxPchOptions::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithCxxPchOptions* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithCxxPchOptions*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_pchInputFilePath == otherPtr->m_pchInputFilePath &&
|
||||
utility::isPermutation(m_pchFlags, otherPtr->m_pchFlags) &&
|
||||
m_useCompilerFlags == otherPtr->m_useCompilerFlags
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxPchOptions::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setPchInputFilePathFilePath(config->getValueOrDefault(key + "/pch_input_file_path", FilePath(L"")));
|
||||
setPchFlags(config->getValuesOrDefaults(key + "/pch_flags/pch_flag", std::vector<std::wstring>()));
|
||||
setUseCompilerFlags(config->getValueOrDefault(key + "/pch_flags/use_compiler_flags", false));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithCxxPchOptions::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/pch_input_file_path", getPchInputFilePath().wstr());
|
||||
config->setValues(key + "/pch_flags/pch_flag", getPchFlags());
|
||||
config->setValue(key + "/pch_flags/use_compiler_flags", getUseCompilerFlags());
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithCxxPchOptions::getUseCompilerFlags() const
|
||||
{
|
||||
return m_useCompilerFlags;
|
||||
+6
-12
@@ -1,23 +1,15 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_CXX_PCH_OPTIONS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_CXX_PCH_OPTIONS_H
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
|
||||
class ConfigManager;
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithCxxPchOptions
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsWithCxxPchOptions() = default;
|
||||
virtual ~SourceGroupSettingsWithCxxPchOptions() = default;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettingsWithCxxPchOptions> other) const;
|
||||
|
||||
FilePath getPchDependenciesDirectoryPath() const;
|
||||
|
||||
FilePath getPchInputFilePath() const;
|
||||
@@ -31,8 +23,10 @@ public:
|
||||
void setUseCompilerFlags(bool useCompilerFlags);
|
||||
|
||||
protected:
|
||||
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
|
||||
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
FilePath m_pchInputFilePath;
|
||||
+21
-22
@@ -3,28 +3,6 @@
|
||||
#include "ProjectSettings.h"
|
||||
#include "utility.h"
|
||||
|
||||
SourceGroupSettingsWithIndexedHeaderPaths::SourceGroupSettingsWithIndexedHeaderPaths()
|
||||
: m_indexedHeaderPaths(std::vector<FilePath>())
|
||||
{
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithIndexedHeaderPaths::equals(std::shared_ptr<SourceGroupSettingsWithIndexedHeaderPaths> other) const
|
||||
{
|
||||
return (
|
||||
utility::isPermutation(m_indexedHeaderPaths, other->m_indexedHeaderPaths)
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithIndexedHeaderPaths::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setIndexedHeaderPaths(config->getValuesOrDefaults(key + "/indexed_header_paths/indexed_header_path", std::vector<FilePath>()));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithIndexedHeaderPaths::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/indexed_header_paths/indexed_header_path", getIndexedHeaderPaths());
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsWithIndexedHeaderPaths::getIndexedHeaderPaths() const
|
||||
{
|
||||
return m_indexedHeaderPaths;
|
||||
@@ -39,3 +17,24 @@ void SourceGroupSettingsWithIndexedHeaderPaths::setIndexedHeaderPaths(const std:
|
||||
{
|
||||
m_indexedHeaderPaths = indexedHeaderPaths;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithIndexedHeaderPaths::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithIndexedHeaderPaths* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithIndexedHeaderPaths*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
utility::isPermutation(m_indexedHeaderPaths, otherPtr->m_indexedHeaderPaths)
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithIndexedHeaderPaths::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setIndexedHeaderPaths(config->getValuesOrDefaults(key + "/indexed_header_paths/indexed_header_path", std::vector<FilePath>()));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithIndexedHeaderPaths::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/indexed_header_paths/indexed_header_path", getIndexedHeaderPaths());
|
||||
}
|
||||
+6
-10
@@ -1,31 +1,27 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_INDEXED_HEADER_PATHS_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_INDEXED_HEADER_PATHS_H
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class ConfigManager;
|
||||
class FilePath;
|
||||
|
||||
class SourceGroupSettingsWithIndexedHeaderPaths
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsWithIndexedHeaderPaths();
|
||||
virtual ~SourceGroupSettingsWithIndexedHeaderPaths() = default;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettingsWithIndexedHeaderPaths> other) const;
|
||||
|
||||
std::vector<FilePath> getIndexedHeaderPaths() const;
|
||||
std::vector<FilePath> getIndexedHeaderPathsExpandedAndAbsolute() const;
|
||||
void setIndexedHeaderPaths(const std::vector<FilePath>& indexedHeaderPaths);
|
||||
|
||||
protected:
|
||||
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
|
||||
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
std::vector<FilePath> m_indexedHeaderPaths;
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_C_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_C_H
|
||||
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsWithSourceExtensionsC
|
||||
: public SourceGroupSettingsWithSourceExtensions
|
||||
{
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override
|
||||
{
|
||||
return { L".c" };
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_C_H
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_CPP_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_CPP_H
|
||||
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsWithSourceExtensionsCpp
|
||||
: public SourceGroupSettingsWithSourceExtensions
|
||||
{
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override
|
||||
{
|
||||
return {
|
||||
L".cpp",
|
||||
L".cxx",
|
||||
L".cc"
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_CPP_H
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_CXX_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_CXX_H
|
||||
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsWithSourceExtensionsCxx
|
||||
: public SourceGroupSettingsWithSourceExtensions
|
||||
{
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override
|
||||
{
|
||||
return {
|
||||
L".c",
|
||||
L".cpp",
|
||||
L".cxx",
|
||||
L".cc"
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_CXX_H
|
||||
+23
-26
@@ -3,32 +3,6 @@
|
||||
#include "ProjectSettings.h"
|
||||
#include "utility.h"
|
||||
|
||||
SourceGroupSettingsWithClasspath::SourceGroupSettingsWithClasspath()
|
||||
: m_classpath(std::vector<FilePath>())
|
||||
, m_useJreSystemLibrary(true)
|
||||
{
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithClasspath::equals(std::shared_ptr<SourceGroupSettingsWithClasspath> other) const
|
||||
{
|
||||
return (
|
||||
(m_useJreSystemLibrary == other->m_useJreSystemLibrary) &&
|
||||
utility::isPermutation(m_classpath, other->m_classpath)
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithClasspath::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setClasspath(config->getValuesOrDefaults(key + "/class_paths/class_path", std::vector<FilePath>()));
|
||||
setUseJreSystemLibrary(config->getValueOrDefault(key + "/use_jre_system_library", true));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithClasspath::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/class_paths/class_path", getClasspath());
|
||||
config->setValue(key + "/use_jre_system_library", getUseJreSystemLibrary());
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupSettingsWithClasspath::getClasspath() const
|
||||
{
|
||||
return m_classpath;
|
||||
@@ -53,3 +27,26 @@ void SourceGroupSettingsWithClasspath::setUseJreSystemLibrary(bool useJreSystemL
|
||||
{
|
||||
m_useJreSystemLibrary = useJreSystemLibrary;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithClasspath::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithClasspath* otherPtr = dynamic_cast<const SourceGroupSettingsWithClasspath*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
(m_useJreSystemLibrary == otherPtr->m_useJreSystemLibrary) &&
|
||||
utility::isPermutation(m_classpath, otherPtr->m_classpath)
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithClasspath::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setClasspath(config->getValuesOrDefaults(key + "/class_paths/class_path", std::vector<FilePath>()));
|
||||
setUseJreSystemLibrary(config->getValueOrDefault(key + "/use_jre_system_library", true));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithClasspath::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValues(key + "/class_paths/class_path", getClasspath());
|
||||
config->setValue(key + "/use_jre_system_library", getUseJreSystemLibrary());
|
||||
}
|
||||
+7
-12
@@ -1,24 +1,17 @@
|
||||
#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;
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithClasspath
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
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);
|
||||
@@ -27,12 +20,14 @@ public:
|
||||
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);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
std::vector<FilePath> m_classpath;
|
||||
bool m_useJreSystemLibrary;
|
||||
bool m_useJreSystemLibrary = true;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_CLASSPATH_H
|
||||
@@ -0,0 +1,58 @@
|
||||
#include "SourceGroupSettingsWithJavaGradle.h"
|
||||
|
||||
#include "ConfigManager.h"
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
FilePath SourceGroupSettingsWithJavaGradle::getGradleDependenciesDirectoryPath() const
|
||||
{
|
||||
return getSourceGroupDependenciesDirectoryPath().concatenate(L"gradle");
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsWithJavaGradle::getGradleProjectFilePath() const
|
||||
{
|
||||
return m_gradleProjectFilePath;
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsWithJavaGradle::getGradleProjectFilePathExpandedAndAbsolute() const
|
||||
{
|
||||
return utility::getExpandedAndAbsolutePath(getGradleProjectFilePath(), getProjectSettings()->getProjectDirectoryPath());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaGradle::setGradleProjectFilePath(const FilePath& path)
|
||||
{
|
||||
m_gradleProjectFilePath = path;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithJavaGradle::getShouldIndexGradleTests() const
|
||||
{
|
||||
return m_shouldIndexGradleTests;
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaGradle::setShouldIndexGradleTests(bool value)
|
||||
{
|
||||
m_shouldIndexGradleTests = value;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithJavaGradle::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithJavaGradle* otherPtr = dynamic_cast<const SourceGroupSettingsWithJavaGradle*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_gradleProjectFilePath == otherPtr->m_gradleProjectFilePath &&
|
||||
m_shouldIndexGradleTests == otherPtr->m_shouldIndexGradleTests
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaGradle::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setGradleProjectFilePath(config->getValueOrDefault(key + "/gradle/project_file_path", FilePath(L"")));
|
||||
setShouldIndexGradleTests(config->getValueOrDefault(key + "/gradle/should_index_tests", false));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaGradle::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/gradle/project_file_path", getGradleProjectFilePath().wstr());
|
||||
config->setValue(key + "/gradle/should_index_tests", getShouldIndexGradleTests());
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_JAVA_GRADLE_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_JAVA_GRADLE_H
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithJavaGradle
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
virtual ~SourceGroupSettingsWithJavaGradle() = default;
|
||||
|
||||
FilePath getGradleDependenciesDirectoryPath() const;
|
||||
|
||||
FilePath getGradleProjectFilePath() const;
|
||||
FilePath getGradleProjectFilePathExpandedAndAbsolute() const;
|
||||
void setGradleProjectFilePath(const FilePath& path);
|
||||
|
||||
bool getShouldIndexGradleTests() const;
|
||||
void setShouldIndexGradleTests(bool value);
|
||||
|
||||
protected:
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
FilePath m_gradleProjectFilePath;
|
||||
bool m_shouldIndexGradleTests = false;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_JAVA_GRADLE_H
|
||||
@@ -0,0 +1,58 @@
|
||||
#include "SourceGroupSettingsWithJavaMaven.h"
|
||||
|
||||
#include "ConfigManager.h"
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
FilePath SourceGroupSettingsWithJavaMaven::getMavenDependenciesDirectoryPath() const
|
||||
{
|
||||
return getSourceGroupDependenciesDirectoryPath().concatenate(L"maven");
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsWithJavaMaven::getMavenProjectFilePath() const
|
||||
{
|
||||
return m_mavenProjectFilePath;
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsWithJavaMaven::getMavenProjectFilePathExpandedAndAbsolute() const
|
||||
{
|
||||
return utility::getExpandedAndAbsolutePath(getMavenProjectFilePath(), getProjectSettings()->getProjectDirectoryPath());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaMaven::setMavenProjectFilePath(const FilePath& path)
|
||||
{
|
||||
m_mavenProjectFilePath = path;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithJavaMaven::getShouldIndexMavenTests() const
|
||||
{
|
||||
return m_shouldIndexMavenTests;
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaMaven::setShouldIndexMavenTests(bool value)
|
||||
{
|
||||
m_shouldIndexMavenTests = value;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithJavaMaven::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithJavaMaven* otherPtr = dynamic_cast<const SourceGroupSettingsWithJavaMaven*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_mavenProjectFilePath == otherPtr->m_mavenProjectFilePath &&
|
||||
m_shouldIndexMavenTests == otherPtr->m_shouldIndexMavenTests
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaMaven::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setMavenProjectFilePath(config->getValueOrDefault(key + "/maven/project_file_path", FilePath(L"")));
|
||||
setShouldIndexMavenTests(config->getValueOrDefault(key + "/maven/should_index_tests", false));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaMaven::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/maven/project_file_path", getMavenProjectFilePath().wstr());
|
||||
config->setValue(key + "/maven/should_index_tests", getShouldIndexMavenTests());
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_JAVA_MAVEN_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_JAVA_MAVEN_H
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithJavaMaven
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
virtual ~SourceGroupSettingsWithJavaMaven() = default;
|
||||
|
||||
FilePath getMavenDependenciesDirectoryPath() const;
|
||||
|
||||
FilePath getMavenProjectFilePath() const;
|
||||
FilePath getMavenProjectFilePathExpandedAndAbsolute() const;
|
||||
void setMavenProjectFilePath(const FilePath& path);
|
||||
|
||||
bool getShouldIndexMavenTests() const;
|
||||
void setShouldIndexMavenTests(bool value);
|
||||
|
||||
protected:
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
FilePath m_mavenProjectFilePath;
|
||||
bool m_shouldIndexMavenTests = false;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_JAVA_MAVEN_H
|
||||
+20
-18
@@ -7,24 +7,6 @@ std::wstring SourceGroupSettingsWithJavaStandard::getDefaultJavaStandardStatic()
|
||||
return L"8";
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithJavaStandard::equals(std::shared_ptr<SourceGroupSettingsWithJavaStandard> other) const
|
||||
{
|
||||
return (
|
||||
other &&
|
||||
m_javaStandard == other->m_javaStandard
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaStandard::load(std::shared_ptr<const ConfigManager> config, const std::string& key)
|
||||
{
|
||||
setJavaStandard(config->getValueOrDefault<std::wstring>(key + "/java_standard", L""));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaStandard::save(std::shared_ptr<ConfigManager> config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/java_standard", getJavaStandard());
|
||||
}
|
||||
|
||||
std::wstring SourceGroupSettingsWithJavaStandard::getJavaStandard() const
|
||||
{
|
||||
if (m_javaStandard.empty())
|
||||
@@ -44,6 +26,26 @@ std::vector<std::wstring> SourceGroupSettingsWithJavaStandard::getAvailableJavaS
|
||||
return {L"1", L"2", L"3", L"4", L"5", L"6", L"7", L"8", L"9", L"10"};
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithJavaStandard::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithJavaStandard* otherPtr = dynamic_cast<const SourceGroupSettingsWithJavaStandard*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_javaStandard == otherPtr->m_javaStandard
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaStandard::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setJavaStandard(config->getValueOrDefault<std::wstring>(key + "/java_standard", L""));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithJavaStandard::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/java_standard", getJavaStandard());
|
||||
}
|
||||
|
||||
std::wstring SourceGroupSettingsWithJavaStandard::getDefaultJavaStandard() const
|
||||
{
|
||||
return getDefaultJavaStandardStatic();
|
||||
+6
-11
@@ -1,33 +1,28 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_JAVA_STANDARD_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_JAVA_STANDARD_H
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "SourceGroupSettingsBase.h"
|
||||
|
||||
class ConfigManager;
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithJavaStandard
|
||||
: virtual public SourceGroupSettingsBase
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
static std::wstring getDefaultJavaStandardStatic();
|
||||
|
||||
SourceGroupSettingsWithJavaStandard() = default;
|
||||
virtual ~SourceGroupSettingsWithJavaStandard() = default;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettingsWithJavaStandard> other) const;
|
||||
|
||||
std::wstring getJavaStandard() const;
|
||||
void setJavaStandard(const std::wstring& standard);
|
||||
|
||||
std::vector<std::wstring> getAvailableJavaStandards() const;
|
||||
|
||||
protected:
|
||||
void load(std::shared_ptr<const ConfigManager> config, const std::string& key);
|
||||
void save(std::shared_ptr<ConfigManager> config, const std::string& key);
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
std::wstring getDefaultJavaStandard() const;
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_JAVA_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_JAVA_H
|
||||
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsWithSourceExtensionsJava
|
||||
: public SourceGroupSettingsWithSourceExtensions
|
||||
{
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override
|
||||
{
|
||||
return { L".java" };
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_JAVA_H
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
#include "SourceGroupSettingsWithPythonEnvironmentPath.h"
|
||||
|
||||
#include "ProjectSettings.h"
|
||||
#include "utilityFile.h"
|
||||
|
||||
FilePath SourceGroupSettingsWithPythonEnvironmentPath::getEnvironmentPath() const
|
||||
{
|
||||
return m_environmentPath;
|
||||
}
|
||||
|
||||
FilePath SourceGroupSettingsWithPythonEnvironmentPath::getEnvironmentPathExpandedAndAbsolute() const
|
||||
{
|
||||
return utility::getExpandedAndAbsolutePath(getEnvironmentPath(), getProjectSettings()->getProjectDirectoryPath());
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithPythonEnvironmentPath::setEnvironmentPath(const FilePath& environmentPath)
|
||||
{
|
||||
m_environmentPath = environmentPath;
|
||||
}
|
||||
|
||||
bool SourceGroupSettingsWithPythonEnvironmentPath::equals(const SourceGroupSettingsBase* other) const
|
||||
{
|
||||
const SourceGroupSettingsWithPythonEnvironmentPath* otherPtr =
|
||||
dynamic_cast<const SourceGroupSettingsWithPythonEnvironmentPath*>(other);
|
||||
|
||||
return (
|
||||
otherPtr &&
|
||||
m_environmentPath == otherPtr->m_environmentPath
|
||||
);
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithPythonEnvironmentPath::load(const ConfigManager* config, const std::string& key)
|
||||
{
|
||||
setEnvironmentPath(config->getValueOrDefault(key + "/python_environment_path", FilePath(L"")));
|
||||
}
|
||||
|
||||
void SourceGroupSettingsWithPythonEnvironmentPath::save(ConfigManager* config, const std::string& key)
|
||||
{
|
||||
config->setValue(key + "/python_environment_path", getEnvironmentPath().wstr());
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_PYTHON_ENVIRONMENT_PATH_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_PYTHON_ENVIRONMENT_PATH_H
|
||||
|
||||
#include "FilePath.h"
|
||||
#include "SourceGroupSettingsComponent.h"
|
||||
|
||||
class SourceGroupSettingsWithPythonEnvironmentPath
|
||||
: public SourceGroupSettingsComponent
|
||||
{
|
||||
public:
|
||||
virtual ~SourceGroupSettingsWithPythonEnvironmentPath() = default;
|
||||
|
||||
FilePath getEnvironmentPath() const;
|
||||
FilePath getEnvironmentPathExpandedAndAbsolute() const;
|
||||
void setEnvironmentPath(const FilePath& environmentPath);
|
||||
|
||||
protected:
|
||||
bool equals(const SourceGroupSettingsBase* other) const override;
|
||||
|
||||
void load(const ConfigManager* config, const std::string& key) override;
|
||||
void save(ConfigManager* config, const std::string& key) override;
|
||||
|
||||
private:
|
||||
FilePath m_environmentPath;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_PYTHON_ENVIRONMENT_PATH_H
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_PYTHON_H
|
||||
#define SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_PYTHON_H
|
||||
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
class SourceGroupSettingsWithSourceExtensionsPython
|
||||
: public SourceGroupSettingsWithSourceExtensions
|
||||
{
|
||||
private:
|
||||
std::vector<std::wstring> getDefaultSourceExtensions() const override
|
||||
{
|
||||
return { L".py" };
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_WITH_SOURCE_EXTENSIONS_PYTHON_H
|
||||
@@ -0,0 +1,35 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_C_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_C_EMPTY_H
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithCStandard.h"
|
||||
#include "SourceGroupSettingsWithCxxCrossCompilationOptions.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
#include "SourceGroupSettingsWithCxxPchOptions.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensionsC.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
|
||||
class SourceGroupSettingsCEmpty
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithCStandard,
|
||||
SourceGroupSettingsWithCxxCrossCompilationOptions,
|
||||
SourceGroupSettingsWithCxxPathsAndFlags,
|
||||
SourceGroupSettingsWithCxxPchOptions,
|
||||
SourceGroupSettingsWithExcludeFilters,
|
||||
SourceGroupSettingsWithSourceExtensionsC,
|
||||
SourceGroupSettingsWithSourcePaths>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCEmpty(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_C_EMPTY, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCEmpty>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_C_EMPTY_H
|
||||
@@ -0,0 +1,35 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CPP_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_CPP_EMPTY_H
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithCppStandard.h"
|
||||
#include "SourceGroupSettingsWithCxxCrossCompilationOptions.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
#include "SourceGroupSettingsWithCxxPchOptions.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensionsCpp.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
|
||||
class SourceGroupSettingsCppEmpty
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithCppStandard,
|
||||
SourceGroupSettingsWithCxxCrossCompilationOptions,
|
||||
SourceGroupSettingsWithCxxPathsAndFlags,
|
||||
SourceGroupSettingsWithCxxPchOptions,
|
||||
SourceGroupSettingsWithExcludeFilters,
|
||||
SourceGroupSettingsWithSourceExtensionsCpp,
|
||||
SourceGroupSettingsWithSourcePaths>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCppEmpty(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_CPP_EMPTY, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCppEmpty>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CPP_EMPTY_H
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CUSTOM_COMMAND_H
|
||||
#define SOURCE_GROUP_SETTINGS_CUSTOM_COMMAND_H
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithCustomCommand.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensionsEmpty.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
|
||||
class SourceGroupSettingsCustomCommand
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithCustomCommand,
|
||||
SourceGroupSettingsWithExcludeFilters,
|
||||
SourceGroupSettingsWithSourceExtensionsEmpty,
|
||||
SourceGroupSettingsWithSourcePaths>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCustomCommand(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_CUSTOM_COMMAND, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCustomCommand>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CUSTOM_COMMAND_H
|
||||
@@ -0,0 +1,31 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CXX_CDB_H
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_CDB_H
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithCxxCdbPath.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
#include "SourceGroupSettingsWithCxxPchOptions.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithIndexedHeaderPaths.h"
|
||||
|
||||
class SourceGroupSettingsCxxCdb
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithCxxCdbPath,
|
||||
SourceGroupSettingsWithCxxPathsAndFlags,
|
||||
SourceGroupSettingsWithCxxPchOptions,
|
||||
SourceGroupSettingsWithExcludeFilters,
|
||||
SourceGroupSettingsWithIndexedHeaderPaths>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCxxCdb(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_CXX_CDB, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCxxCdb>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_CDB_H
|
||||
+1
-5
@@ -2,15 +2,11 @@
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_CDB_VS_H
|
||||
|
||||
#include "SourceGroupSettingsCxxCdb.h"
|
||||
#include "FilePath.h"
|
||||
|
||||
class SourceGroupSettingsCxxCdbVs
|
||||
: public SourceGroupSettingsCxxCdb
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCxxCdbVs(const std::string& id, const ProjectSettings* projectSettings);
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
using SourceGroupSettingsCxxCdb::SourceGroupSettingsCxxCdb;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_CDB_VS_H
|
||||
@@ -0,0 +1,35 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CXX_CODEBLOCKS_H
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_CODEBLOCKS_H
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithCppStandard.h"
|
||||
#include "SourceGroupSettingsWithCStandard.h"
|
||||
#include "SourceGroupSettingsWithCxxCodeblocksPath.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithIndexedHeaderPaths.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensionsCxx.h"
|
||||
|
||||
class SourceGroupSettingsCxxCodeblocks
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithCppStandard,
|
||||
SourceGroupSettingsWithCStandard,
|
||||
SourceGroupSettingsWithCxxCodeblocksPath,
|
||||
SourceGroupSettingsWithCxxPathsAndFlags,
|
||||
SourceGroupSettingsWithExcludeFilters,
|
||||
SourceGroupSettingsWithIndexedHeaderPaths,
|
||||
SourceGroupSettingsWithSourceExtensionsCxx>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCxxCodeblocks(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_CXX_CODEBLOCKS, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCxxCodeblocks>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_CODEBLOCKS_H
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_CXX_SONARGRAPH_H
|
||||
#define SOURCE_GROUP_SETTINGS_CXX_SONARGRAPH_H
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithCppStandard.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
#include "SourceGroupSettingsWithIndexedHeaderPaths.h"
|
||||
#include "SourceGroupSettingsWithSonargraphProjectPath.h"
|
||||
|
||||
class SourceGroupSettingsCxxSonargraph
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithCppStandard,
|
||||
SourceGroupSettingsWithCxxPathsAndFlags,
|
||||
SourceGroupSettingsWithIndexedHeaderPaths,
|
||||
SourceGroupSettingsWithSonargraphProjectPath>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsCxxSonargraph(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_CXX_SONARGRAPH, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsCxxSonargraph>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_CXX_SONARGRAPH_H
|
||||
@@ -0,0 +1,31 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_EMPTY_H
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithClasspath.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithJavaStandard.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensionsJava.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
|
||||
class SourceGroupSettingsJavaEmpty
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithClasspath,
|
||||
SourceGroupSettingsWithExcludeFilters,
|
||||
SourceGroupSettingsWithJavaStandard,
|
||||
SourceGroupSettingsWithSourceExtensionsJava,
|
||||
SourceGroupSettingsWithSourcePaths>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsJavaEmpty(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_JAVA_EMPTY, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsJavaEmpty>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_EMPTY_H
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_GRADLE_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_GRADLE_H
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithJavaGradle.h"
|
||||
#include "SourceGroupSettingsWithJavaStandard.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensionsJava.h"
|
||||
|
||||
class SourceGroupSettingsJavaGradle
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithExcludeFilters,
|
||||
SourceGroupSettingsWithJavaGradle,
|
||||
SourceGroupSettingsWithJavaStandard,
|
||||
SourceGroupSettingsWithSourceExtensionsJava>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsJavaGradle(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_JAVA_GRADLE, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsJavaGradle>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_GRADLE_H
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_MAVEN_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_MAVEN_H
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithJavaMaven.h"
|
||||
#include "SourceGroupSettingsWithJavaStandard.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensionsJava.h"
|
||||
|
||||
class SourceGroupSettingsJavaMaven
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithExcludeFilters,
|
||||
SourceGroupSettingsWithJavaMaven,
|
||||
SourceGroupSettingsWithJavaStandard,
|
||||
SourceGroupSettingsWithSourceExtensionsJava>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsJavaMaven(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_JAVA_MAVEN, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsJavaMaven>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_MAVEN_H
|
||||
+13
-12
@@ -1,26 +1,27 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_JAVA_SONARGRAPH_H
|
||||
#define SOURCE_GROUP_SETTINGS_JAVA_SONARGRAPH_H
|
||||
|
||||
#include "SourceGroupSettings.h"
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithClasspath.h"
|
||||
#include "SourceGroupSettingsWithJavaStandard.h"
|
||||
#include "SourceGroupSettingsWithSonargraphProjectPath.h"
|
||||
|
||||
class SourceGroupSettingsJavaSonargraph
|
||||
: public SourceGroupSettings
|
||||
, public SourceGroupSettingsWithClasspath
|
||||
, public SourceGroupSettingsWithJavaStandard
|
||||
, public SourceGroupSettingsWithSonargraphProjectPath
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithClasspath,
|
||||
SourceGroupSettingsWithJavaStandard,
|
||||
SourceGroupSettingsWithSonargraphProjectPath>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsJavaSonargraph(const std::string& id, const ProjectSettings* projectSettings);
|
||||
SourceGroupSettingsJavaSonargraph(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_JAVA_SONARGRAPH, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override;
|
||||
|
||||
void load(std::shared_ptr<const ConfigManager> config) override;
|
||||
void save(std::shared_ptr<ConfigManager> config) override;
|
||||
|
||||
bool equals(std::shared_ptr<SourceGroupSettings> other) const override;
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsJavaSonargraph>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_JAVA_SONARGRAPH_H
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef SOURCE_GROUP_SETTINGS_PYTHON_EMPTY_H
|
||||
#define SOURCE_GROUP_SETTINGS_PYTHON_EMPTY_H
|
||||
|
||||
#include "SourceGroupSettingsWithComponents.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithPythonEnvironmentPath.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensionsPython.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
|
||||
class SourceGroupSettingsPythonEmpty
|
||||
: public SourceGroupSettingsWithComponents<
|
||||
SourceGroupSettingsWithExcludeFilters,
|
||||
SourceGroupSettingsWithPythonEnvironmentPath,
|
||||
SourceGroupSettingsWithSourceExtensionsPython,
|
||||
SourceGroupSettingsWithSourcePaths>
|
||||
{
|
||||
public:
|
||||
SourceGroupSettingsPythonEmpty(const std::string& id, const ProjectSettings* projectSettings)
|
||||
: SourceGroupSettingsWithComponents(SOURCE_GROUP_PYTHON_EMPTY, id, projectSettings)
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> createCopy() const override
|
||||
{
|
||||
return std::make_shared<SourceGroupSettingsPythonEmpty>(*this);
|
||||
}
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_SETTINGS_PYTHON_EMPTY_H
|
||||
@@ -8,11 +8,13 @@
|
||||
#include "SourceGroupSettingsCEmpty.h"
|
||||
#include "SourceGroupSettingsCppEmpty.h"
|
||||
#include "SourceGroupSettingsWithCppStandard.h"
|
||||
#include "SourceGroupSettingsWithCStandard.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
#include "TaskLambda.h"
|
||||
#include "utility.h"
|
||||
#include "utilitySourceGroupCxx.h"
|
||||
|
||||
SourceGroupCxxEmpty::SourceGroupCxxEmpty(std::shared_ptr<SourceGroupSettingsCxx> settings)
|
||||
SourceGroupCxxEmpty::SourceGroupCxxEmpty(std::shared_ptr<SourceGroupSettings> settings)
|
||||
: m_settings(settings)
|
||||
{
|
||||
}
|
||||
@@ -85,8 +87,8 @@ std::shared_ptr<IndexerCommandProvider> SourceGroupCxxEmpty::getIndexerCommandPr
|
||||
}
|
||||
|
||||
std::vector<std::wstring> compilerFlags = getBaseCompilerFlags();
|
||||
utility::append(compilerFlags, m_settings->getCompilerFlags());
|
||||
utility::append(compilerFlags, utility::getIncludePchFlags(m_settings.get()));
|
||||
utility::append(compilerFlags, dynamic_cast<const SourceGroupSettingsWithCxxPathsAndFlags*>(m_settings.get())->getCompilerFlags());
|
||||
utility::append(compilerFlags, utility::getIncludePchFlags(dynamic_cast<const SourceGroupSettingsWithCxxPchOptions*>(m_settings.get())));
|
||||
|
||||
std::shared_ptr<CxxIndexerCommandProvider> provider = std::make_shared<CxxIndexerCommandProvider>();
|
||||
for (const FilePath& sourcePath: getAllSourceFilePaths())
|
||||
@@ -129,13 +131,15 @@ std::shared_ptr<Task> SourceGroupCxxEmpty::getPreIndexTask(
|
||||
{
|
||||
if (pchSettings->getUseCompilerFlags())
|
||||
{
|
||||
utility::append(compilerFlags, m_settings->getCompilerFlags());
|
||||
utility::append(compilerFlags,
|
||||
dynamic_cast<const SourceGroupSettingsWithCxxPathsAndFlags*>(m_settings.get())->getCompilerFlags());
|
||||
}
|
||||
|
||||
utility::append(compilerFlags, pchSettings->getPchFlags());
|
||||
}
|
||||
|
||||
return utility::createBuildPchTask(m_settings.get(), compilerFlags, storageProvider, dialogView);
|
||||
return utility::createBuildPchTask(dynamic_cast<const SourceGroupSettingsWithCxxPchOptions*>(
|
||||
m_settings.get()), compilerFlags, storageProvider, dialogView);
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupCxxEmpty::getSourceGroupSettings()
|
||||
@@ -189,6 +193,15 @@ std::vector<std::wstring> SourceGroupCxxEmpty::getBaseCompilerFlags() const
|
||||
compilerFlags.push_back(L"c++");
|
||||
}
|
||||
|
||||
const SourceGroupSettingsWithCxxPathsAndFlags* settingsCxx =
|
||||
dynamic_cast<const SourceGroupSettingsWithCxxPathsAndFlags*>(m_settings.get());
|
||||
|
||||
if (!settingsCxx)
|
||||
{
|
||||
LOG_ERROR(L"Source group doesn't specify cxx headers and flags.");
|
||||
return compilerFlags;
|
||||
}
|
||||
|
||||
{
|
||||
// Add the source paths as HeaderSearchPaths as well, so clang will also look here when searching include files.
|
||||
std::vector<FilePath> indexedDirectoryPaths;
|
||||
@@ -201,11 +214,19 @@ std::vector<std::wstring> SourceGroupCxxEmpty::getBaseCompilerFlags() const
|
||||
}
|
||||
|
||||
utility::append(compilerFlags, IndexerCommandCxx::getCompilerFlagsForSystemHeaderSearchPaths(
|
||||
utility::concat(indexedDirectoryPaths, utility::concat(m_settings->getHeaderSearchPathsExpandedAndAbsolute(), appSettings->getHeaderSearchPathsExpanded()))));
|
||||
utility::concat(indexedDirectoryPaths, utility::concat(
|
||||
settingsCxx->getHeaderSearchPathsExpandedAndAbsolute(),
|
||||
appSettings->getHeaderSearchPathsExpanded()
|
||||
)))
|
||||
);
|
||||
}
|
||||
{
|
||||
utility::append(compilerFlags, IndexerCommandCxx::getCompilerFlagsForFrameworkSearchPaths(
|
||||
utility::concat(m_settings->getFrameworkSearchPathsExpandedAndAbsolute(), appSettings->getFrameworkSearchPathsExpanded())));
|
||||
utility::concat(
|
||||
settingsCxx->getFrameworkSearchPathsExpandedAndAbsolute(),
|
||||
appSettings->getFrameworkSearchPathsExpanded()
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
return compilerFlags;
|
||||
|
||||
@@ -8,10 +8,11 @@
|
||||
|
||||
class SourceGroupSettingsCxx;
|
||||
|
||||
class SourceGroupCxxEmpty: public SourceGroup
|
||||
class SourceGroupCxxEmpty
|
||||
: public SourceGroup
|
||||
{
|
||||
public:
|
||||
SourceGroupCxxEmpty(std::shared_ptr<SourceGroupSettingsCxx> settings);
|
||||
SourceGroupCxxEmpty(std::shared_ptr<SourceGroupSettings> settings);
|
||||
|
||||
std::set<FilePath> filterToContainedFilePaths(const std::set<FilePath>& filePaths) const override;
|
||||
std::set<FilePath> getAllSourceFilePaths() const override;
|
||||
@@ -25,7 +26,7 @@ private:
|
||||
std::shared_ptr<const SourceGroupSettings> getSourceGroupSettings() const override;
|
||||
std::vector<std::wstring> getBaseCompilerFlags() const;
|
||||
|
||||
std::shared_ptr<SourceGroupSettingsCxx> m_settings;
|
||||
std::shared_ptr<SourceGroupSettings> m_settings;
|
||||
};
|
||||
|
||||
#endif // SOURCE_GROUP_CXX_EMPTY_H
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#include "logging.h"
|
||||
#include "ParserClientImpl.h"
|
||||
#include "SingleFrontendActionFactory.h"
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
#include "SourceGroupSettingsWithCxxPchOptions.h"
|
||||
#include "StorageProvider.h"
|
||||
#include "TaskLambda.h"
|
||||
@@ -23,18 +22,13 @@
|
||||
namespace utility
|
||||
{
|
||||
std::shared_ptr<Task> createBuildPchTask(
|
||||
const SourceGroupSettingsCxx* settings, std::vector<std::wstring> compilerFlags,
|
||||
std::shared_ptr<StorageProvider> storageProvider, std::shared_ptr<DialogView> dialogView)
|
||||
const SourceGroupSettingsWithCxxPchOptions* settings,
|
||||
std::vector<std::wstring> compilerFlags,
|
||||
std::shared_ptr<StorageProvider> storageProvider,
|
||||
std::shared_ptr<DialogView> dialogView)
|
||||
{
|
||||
const SourceGroupSettingsWithCxxPchOptions* pchSettings =
|
||||
dynamic_cast<const SourceGroupSettingsWithCxxPchOptions*>(settings);
|
||||
if (!pchSettings)
|
||||
{
|
||||
return std::make_shared<TaskLambda>([](){});
|
||||
}
|
||||
|
||||
FilePath pchInputFilePath = pchSettings->getPchInputFilePathExpandedAndAbsolute();
|
||||
FilePath pchDependenciesDirectoryPath = pchSettings->getPchDependenciesDirectoryPath();
|
||||
FilePath pchInputFilePath = settings->getPchInputFilePathExpandedAndAbsolute();
|
||||
FilePath pchDependenciesDirectoryPath = settings->getPchDependenciesDirectoryPath();
|
||||
|
||||
if (pchInputFilePath.empty() || pchDependenciesDirectoryPath.empty())
|
||||
{
|
||||
@@ -158,26 +152,23 @@ namespace utility
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<std::wstring> getIncludePchFlags(const SourceGroupSettingsCxx* settings)
|
||||
std::vector<std::wstring> getIncludePchFlags(const SourceGroupSettingsWithCxxPchOptions* settings)
|
||||
{
|
||||
const SourceGroupSettingsWithCxxPchOptions* pchSettings =
|
||||
dynamic_cast<const SourceGroupSettingsWithCxxPchOptions*>(settings);
|
||||
if (pchSettings)
|
||||
{
|
||||
const FilePath pchInputFilePath = pchSettings->getPchInputFilePathExpandedAndAbsolute();
|
||||
const FilePath pchDependenciesDirectoryPath = pchSettings->getPchDependenciesDirectoryPath();
|
||||
const FilePath pchInputFilePath = settings->getPchInputFilePathExpandedAndAbsolute();
|
||||
const FilePath pchDependenciesDirectoryPath = settings->getPchDependenciesDirectoryPath();
|
||||
|
||||
if (!pchInputFilePath.empty() && !pchDependenciesDirectoryPath.empty())
|
||||
{
|
||||
const FilePath pchOutputFilePath =
|
||||
pchDependenciesDirectoryPath.getConcatenated(pchInputFilePath.fileName()).replaceExtension(L"pch");
|
||||
return {
|
||||
L"-fallow-pch-with-compiler-errors",
|
||||
L"-include-pch",
|
||||
pchOutputFilePath.wstr()
|
||||
};
|
||||
}
|
||||
if (!pchInputFilePath.empty() && !pchDependenciesDirectoryPath.empty())
|
||||
{
|
||||
const FilePath pchOutputFilePath =
|
||||
pchDependenciesDirectoryPath.getConcatenated(pchInputFilePath.fileName()).replaceExtension(L"pch");
|
||||
|
||||
return {
|
||||
L"-fallow-pch-with-compiler-errors",
|
||||
L"-include-pch",
|
||||
pchOutputFilePath.wstr()
|
||||
};
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,20 +12,23 @@ namespace clang {
|
||||
}
|
||||
|
||||
class DialogView;
|
||||
class SourceGroupSettingsCxx;
|
||||
class SourceGroupSettingsWithCxxPchOptions;
|
||||
class StorageProvider;
|
||||
class Task;
|
||||
|
||||
namespace utility
|
||||
{
|
||||
std::shared_ptr<Task> createBuildPchTask(
|
||||
const SourceGroupSettingsCxx* settings, std::vector<std::wstring> compilerFlags,
|
||||
std::shared_ptr<StorageProvider> storageProvider, std::shared_ptr<DialogView> dialogView);
|
||||
const SourceGroupSettingsWithCxxPchOptions* settings,
|
||||
std::vector<std::wstring> compilerFlags,
|
||||
std::shared_ptr<StorageProvider> storageProvider,
|
||||
std::shared_ptr<DialogView> dialogView);
|
||||
|
||||
bool containsIncludePchFlags(std::shared_ptr<clang::tooling::JSONCompilationDatabase> cdb);
|
||||
bool containsIncludePchFlag(const std::vector<std::string>& args);
|
||||
std::vector<std::wstring> getWithRemoveIncludePchFlag(const std::vector<std::wstring>& args);
|
||||
void removeIncludePchFlag(std::vector<std::wstring>& args);
|
||||
std::vector<std::wstring> getIncludePchFlags(const SourceGroupSettingsCxx* settings);
|
||||
std::vector<std::wstring> getIncludePchFlags(const SourceGroupSettingsWithCxxPchOptions* settings);
|
||||
}
|
||||
|
||||
#endif // UTILITY_SOURCE_GROUP_CXX_H
|
||||
|
||||
@@ -93,7 +93,7 @@ namespace
|
||||
return false;
|
||||
}
|
||||
|
||||
void addMsvcCompatibilityFlagsOnDemand(std::shared_ptr<SourceGroupSettingsCxx> settings)
|
||||
void addMsvcCompatibilityFlagsOnDemand(std::shared_ptr<SourceGroupSettingsWithCxxPathsAndFlags> settings)
|
||||
{
|
||||
if (applicationSettingsContainVisualStudioHeaderSearchPaths())
|
||||
{
|
||||
|
||||
@@ -4,9 +4,13 @@
|
||||
#include <QMessageBox>
|
||||
|
||||
#include "QtStringListBox.h"
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
|
||||
QtProjectWizardContentFlags::QtProjectWizardContentFlags(std::shared_ptr<SourceGroupSettingsCxx> settings, QtProjectWizardWindow* window, bool indicateAsAdditional)
|
||||
QtProjectWizardContentFlags::QtProjectWizardContentFlags(
|
||||
std::shared_ptr<SourceGroupSettingsWithCxxPathsAndFlags> settings,
|
||||
QtProjectWizardWindow* window,
|
||||
bool indicateAsAdditional
|
||||
)
|
||||
: QtProjectWizardContent(window)
|
||||
, m_settings(settings)
|
||||
, m_indicateAsAdditional(indicateAsAdditional)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "QtProjectWizardContent.h"
|
||||
|
||||
class QtStringListBox;
|
||||
class SourceGroupSettingsCxx;
|
||||
class SourceGroupSettingsWithCxxPathsAndFlags;
|
||||
|
||||
class QtProjectWizardContentFlags
|
||||
: public QtProjectWizardContent
|
||||
@@ -12,7 +12,11 @@ class QtProjectWizardContentFlags
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QtProjectWizardContentFlags(std::shared_ptr<SourceGroupSettingsCxx> settings, QtProjectWizardWindow* window, bool indicateAsAdditional = false);
|
||||
QtProjectWizardContentFlags(
|
||||
std::shared_ptr<SourceGroupSettingsWithCxxPathsAndFlags> settings,
|
||||
QtProjectWizardWindow* window,
|
||||
bool indicateAsAdditional = false
|
||||
);
|
||||
|
||||
// QtProjectWizardContent implementation
|
||||
virtual void populate(QGridLayout* layout, int& row) override;
|
||||
@@ -22,7 +26,7 @@ public:
|
||||
virtual bool check() override;
|
||||
|
||||
private:
|
||||
std::shared_ptr<SourceGroupSettingsCxx> m_settings;
|
||||
std::shared_ptr<SourceGroupSettingsWithCxxPathsAndFlags> m_settings;
|
||||
const bool m_indicateAsAdditional;
|
||||
|
||||
QtStringListBox* m_list;
|
||||
|
||||
+6
-3
@@ -1,6 +1,7 @@
|
||||
#include "QtProjectWizardContentPathsFrameworkSearch.h"
|
||||
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
#include "SourceGroupSettings.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
|
||||
QtProjectWizardContentPathsFrameworkSearch::QtProjectWizardContentPathsFrameworkSearch(
|
||||
std::shared_ptr<SourceGroupSettings> settings, QtProjectWizardWindow* window, bool indicateAsAdditional
|
||||
@@ -18,7 +19,8 @@ QtProjectWizardContentPathsFrameworkSearch::QtProjectWizardContentPathsFramework
|
||||
|
||||
void QtProjectWizardContentPathsFrameworkSearch::load()
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCxx> cxxSettings = std::dynamic_pointer_cast<SourceGroupSettingsCxx>(m_settings);
|
||||
std::shared_ptr<SourceGroupSettingsWithCxxPathsAndFlags> cxxSettings =
|
||||
std::dynamic_pointer_cast<SourceGroupSettingsWithCxxPathsAndFlags>(m_settings);
|
||||
if (cxxSettings)
|
||||
{
|
||||
m_list->setPaths(cxxSettings->getFrameworkSearchPaths());
|
||||
@@ -27,7 +29,8 @@ void QtProjectWizardContentPathsFrameworkSearch::load()
|
||||
|
||||
void QtProjectWizardContentPathsFrameworkSearch::save()
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCxx> cxxSettings = std::dynamic_pointer_cast<SourceGroupSettingsCxx>(m_settings);
|
||||
std::shared_ptr<SourceGroupSettingsWithCxxPathsAndFlags> cxxSettings =
|
||||
std::dynamic_pointer_cast<SourceGroupSettingsWithCxxPathsAndFlags>(m_settings);
|
||||
if (cxxSettings)
|
||||
{
|
||||
cxxSettings->setFrameworkSearchPaths(m_list->getPathsAsDisplayed());
|
||||
|
||||
+10
-7
@@ -11,7 +11,8 @@
|
||||
#include "QtPathListDialog.h"
|
||||
#include "QtTextEditDialog.h"
|
||||
#include "ScopedFunctor.h"
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
#include "SourceGroupSettings.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
@@ -73,7 +74,8 @@ void QtProjectWizardContentPathsHeaderSearch::populate(QGridLayout* layout, int&
|
||||
|
||||
void QtProjectWizardContentPathsHeaderSearch::load()
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCxx> cxxSettings = std::dynamic_pointer_cast<SourceGroupSettingsCxx>(m_settings);
|
||||
std::shared_ptr<SourceGroupSettingsWithCxxPathsAndFlags> cxxSettings =
|
||||
std::dynamic_pointer_cast<SourceGroupSettingsWithCxxPathsAndFlags>(m_settings);
|
||||
if (cxxSettings)
|
||||
{
|
||||
m_list->setPaths(cxxSettings->getHeaderSearchPaths());
|
||||
@@ -82,7 +84,8 @@ void QtProjectWizardContentPathsHeaderSearch::load()
|
||||
|
||||
void QtProjectWizardContentPathsHeaderSearch::save()
|
||||
{
|
||||
std::shared_ptr<SourceGroupSettingsCxx> cxxSettings = std::dynamic_pointer_cast<SourceGroupSettingsCxx>(m_settings);
|
||||
std::shared_ptr<SourceGroupSettingsWithCxxPathsAndFlags> cxxSettings =
|
||||
std::dynamic_pointer_cast<SourceGroupSettingsWithCxxPathsAndFlags>(m_settings);
|
||||
if (cxxSettings)
|
||||
{
|
||||
cxxSettings->setHeaderSearchPaths(m_list->getPathsAsDisplayed());
|
||||
@@ -162,8 +165,8 @@ void QtProjectWizardContentPathsHeaderSearch::validateIncludesButtonClicked()
|
||||
indexedFilePaths = pathSettings->getSourcePathsExpandedAndAbsolute();
|
||||
|
||||
headerSearchPaths = ApplicationSettings::getInstance()->getHeaderSearchPathsExpanded();
|
||||
if (std::shared_ptr<SourceGroupSettingsCxx> cxxSettings =
|
||||
std::dynamic_pointer_cast<SourceGroupSettingsCxx>(m_settings))
|
||||
if (std::shared_ptr<SourceGroupSettingsWithCxxPathsAndFlags> cxxSettings =
|
||||
std::dynamic_pointer_cast<SourceGroupSettingsWithCxxPathsAndFlags>(m_settings))
|
||||
{
|
||||
utility::append(headerSearchPaths, cxxSettings->getHeaderSearchPathsExpandedAndAbsolute());
|
||||
}
|
||||
@@ -232,8 +235,8 @@ void QtProjectWizardContentPathsHeaderSearch::finishedSelectDetectIncludesRootPa
|
||||
sourceFilePaths = fileManager.getAllSourceFilePaths();
|
||||
|
||||
headerSearchPaths = ApplicationSettings::getInstance()->getHeaderSearchPathsExpanded();
|
||||
if (std::shared_ptr<SourceGroupSettingsCxx> cxxSettings =
|
||||
std::dynamic_pointer_cast<SourceGroupSettingsCxx>(m_settings))
|
||||
if (std::shared_ptr<SourceGroupSettingsWithCxxPathsAndFlags> cxxSettings =
|
||||
std::dynamic_pointer_cast<SourceGroupSettingsWithCxxPathsAndFlags>(m_settings))
|
||||
{
|
||||
utility::append(headerSearchPaths, cxxSettings->getHeaderSearchPathsExpandedAndAbsolute());
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
#include "SourceGroupCxxEmpty.h"
|
||||
#include "SourceGroupJavaEmpty.h"
|
||||
#include "SourceGroupPythonEmpty.h"
|
||||
#include "SourceGroupSettingsCxx.h"
|
||||
#include "SourceGroupSettingsCustomCommand.h"
|
||||
#include "SourceGroupSettingsJavaEmpty.h"
|
||||
#include "SourceGroupSettingsPythonEmpty.h"
|
||||
#include "SourceGroupSettingsWithCxxPathsAndFlags.h"
|
||||
#include "SourceGroupSettingsWithSourcePaths.h"
|
||||
#include "utility.h"
|
||||
#include "utilityFile.h"
|
||||
@@ -50,9 +50,9 @@ void QtProjectWizardContentPathsSource::save()
|
||||
std::vector<FilePath> QtProjectWizardContentPathsSource::getFilePaths() const
|
||||
{
|
||||
std::set<FilePath> allSourceFilePaths;
|
||||
if (std::shared_ptr<SourceGroupSettingsCxx> settings = std::dynamic_pointer_cast<SourceGroupSettingsCxx>(m_settings))
|
||||
if (std::dynamic_pointer_cast<SourceGroupSettingsWithCxxPathsAndFlags>(m_settings))
|
||||
{
|
||||
allSourceFilePaths = SourceGroupCxxEmpty(settings).getAllSourceFilePaths();
|
||||
allSourceFilePaths = SourceGroupCxxEmpty(m_settings).getAllSourceFilePaths();
|
||||
}
|
||||
else if (std::shared_ptr<SourceGroupSettingsJavaEmpty> settings = std::dynamic_pointer_cast<SourceGroupSettingsJavaEmpty>(m_settings))
|
||||
{
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
#include "SourceGroupJava.h"
|
||||
|
||||
#include "IndexerCommandJava.h"
|
||||
#include "SourceGroupSettingsJava.h"
|
||||
#include "FileManager.h"
|
||||
#include "logging.h"
|
||||
#include "SourceGroupSettings.h"
|
||||
#include "SourceGroupSettingsWithExcludeFilters.h"
|
||||
#include "SourceGroupSettingsWithJavaStandard.h"
|
||||
#include "SourceGroupSettingsWithSourceExtensions.h"
|
||||
|
||||
std::set<FilePath> SourceGroupJava::filterToContainedFilePaths(const std::set<FilePath>& filePaths) const
|
||||
{
|
||||
@@ -24,15 +27,16 @@ std::set<FilePath> SourceGroupJava::getAllSourceFilePaths() const
|
||||
FileManager fileManager;
|
||||
fileManager.update(
|
||||
getAllSourcePaths(),
|
||||
getSourceGroupSettingsJava()->getExcludeFiltersExpandedAndAbsolute(),
|
||||
getSourceGroupSettingsJava()->getSourceExtensions()
|
||||
dynamic_cast<const SourceGroupSettingsWithExcludeFilters*>(getSourceGroupSettings().get())->getExcludeFiltersExpandedAndAbsolute(),
|
||||
dynamic_cast<const SourceGroupSettingsWithSourceExtensions*>(getSourceGroupSettings().get())->getSourceExtensions()
|
||||
);
|
||||
return fileManager.getAllSourceFilePaths();
|
||||
}
|
||||
|
||||
std::vector<std::shared_ptr<IndexerCommand>> SourceGroupJava::getIndexerCommands(const std::set<FilePath>& filesToIndex) const
|
||||
{
|
||||
const std::wstring languageStandard = getSourceGroupSettingsJava()->getJavaStandard();
|
||||
const std::wstring languageStandard =
|
||||
dynamic_cast<const SourceGroupSettingsWithJavaStandard*>(getSourceGroupSettings().get())->getJavaStandard();
|
||||
|
||||
std::vector<FilePath> classPath = getClassPath();
|
||||
|
||||
@@ -50,16 +54,6 @@ std::vector<std::shared_ptr<IndexerCommand>> SourceGroupJava::getIndexerCommands
|
||||
return indexerCommands;
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupJava::getSourceGroupSettings()
|
||||
{
|
||||
return getSourceGroupSettingsJava();
|
||||
}
|
||||
|
||||
std::shared_ptr<const SourceGroupSettings> SourceGroupJava::getSourceGroupSettings() const
|
||||
{
|
||||
return getSourceGroupSettingsJava();
|
||||
}
|
||||
|
||||
std::vector<FilePath> SourceGroupJava::getClassPath() const
|
||||
{
|
||||
LOG_INFO("Retrieving classpath for indexer commands");
|
||||
|
||||
@@ -7,9 +7,8 @@
|
||||
|
||||
#include "SourceGroup.h"
|
||||
|
||||
class SourceGroupSettingsJava;
|
||||
|
||||
class SourceGroupJava: public SourceGroup
|
||||
class SourceGroupJava
|
||||
: public SourceGroup
|
||||
{
|
||||
public:
|
||||
std::set<FilePath> filterToContainedFilePaths(const std::set<FilePath>& filePaths) const override;
|
||||
@@ -19,10 +18,6 @@ public:
|
||||
private:
|
||||
virtual std::vector<FilePath> getAllSourcePaths() const = 0;
|
||||
virtual std::vector<FilePath> doGetClassPath() const = 0;
|
||||
virtual std::shared_ptr<SourceGroupSettingsJava> getSourceGroupSettingsJava() = 0;
|
||||
virtual std::shared_ptr<const SourceGroupSettingsJava> getSourceGroupSettingsJava() const = 0;
|
||||
std::shared_ptr<SourceGroupSettings> getSourceGroupSettings() override;
|
||||
std::shared_ptr<const SourceGroupSettings> getSourceGroupSettings() const override;
|
||||
|
||||
std::vector<FilePath> getClassPath() const;
|
||||
};
|
||||
|
||||
@@ -24,15 +24,16 @@ std::vector<FilePath> SourceGroupJavaEmpty::getAllSourcePaths() const
|
||||
|
||||
std::vector<FilePath> SourceGroupJavaEmpty::doGetClassPath() const
|
||||
{
|
||||
return utility::getClassPath(m_settings->getClasspathExpandedAndAbsolute(), m_settings->getUseJreSystemLibrary(), getAllSourceFilePaths());
|
||||
return utility::getClassPath(
|
||||
m_settings->getClasspathExpandedAndAbsolute(), m_settings->getUseJreSystemLibrary(), getAllSourceFilePaths());
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettingsJava> SourceGroupJavaEmpty::getSourceGroupSettingsJava()
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupJavaEmpty::getSourceGroupSettings()
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
std::shared_ptr<const SourceGroupSettingsJava> SourceGroupJavaEmpty::getSourceGroupSettingsJava() const
|
||||
std::shared_ptr<const SourceGroupSettings> SourceGroupJavaEmpty::getSourceGroupSettings() const
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
|
||||
class SourceGroupSettingsJavaEmpty;
|
||||
|
||||
class SourceGroupJavaEmpty: public SourceGroupJava
|
||||
class SourceGroupJavaEmpty
|
||||
: public SourceGroupJava
|
||||
{
|
||||
public:
|
||||
SourceGroupJavaEmpty(std::shared_ptr<SourceGroupSettingsJavaEmpty> settings);
|
||||
@@ -17,8 +18,8 @@ public:
|
||||
private:
|
||||
std::vector<FilePath> getAllSourcePaths() const override;
|
||||
std::vector<FilePath> doGetClassPath() const override;
|
||||
std::shared_ptr<SourceGroupSettingsJava> getSourceGroupSettingsJava() override;
|
||||
std::shared_ptr<const SourceGroupSettingsJava> getSourceGroupSettingsJava() const override;
|
||||
std::shared_ptr<SourceGroupSettings> getSourceGroupSettings() override;
|
||||
std::shared_ptr<const SourceGroupSettings> getSourceGroupSettings() const override;
|
||||
|
||||
std::shared_ptr<SourceGroupSettingsJavaEmpty> m_settings;
|
||||
};
|
||||
|
||||
@@ -72,12 +72,12 @@ std::vector<FilePath> SourceGroupJavaGradle::doGetClassPath() const
|
||||
return classPath;
|
||||
}
|
||||
|
||||
std::shared_ptr<SourceGroupSettingsJava> SourceGroupJavaGradle::getSourceGroupSettingsJava()
|
||||
std::shared_ptr<SourceGroupSettings> SourceGroupJavaGradle::getSourceGroupSettings()
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
std::shared_ptr<const SourceGroupSettingsJava> SourceGroupJavaGradle::getSourceGroupSettingsJava() const
|
||||
std::shared_ptr<const SourceGroupSettings> SourceGroupJavaGradle::getSourceGroupSettings() const
|
||||
{
|
||||
return m_settings;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user