Sets the name written by the exporter. Typically, this is what is used by the dependency manager to find the dependency.
#ifndef DEPENDENCYMETADATA_H
#define DEPENDENCYMETADATA_H
#include <map>
#include <set>
#include "GDCore/Project/PropertyDescriptor.h"
#include "GDCore/String.h"
#include "GDCore/Tools/Log.h"
class GD_CORE_API DependencyMetadata {
public:
DependencyMetadata() : onlyIfSomeExtraSettingsNonEmpty(false){};
DependencyMetadata& SetName(
const gd::String& name_) {
name = name_;
return *this;
};
DependencyMetadata& SetExportName(
const gd::String& exportName_) {
exportName = exportName_;
return *this;
};
DependencyMetadata& SetVersion(
const gd::String& version_) {
version = version_;
return *this;
};
DependencyMetadata& SetDependencyType(
const gd::String& dependencyType_) {
dependencyType = dependencyType_;
if (dependencyType != "npm" && dependencyType != "cordova") {
}
return *this;
};
DependencyMetadata& SetExtraSetting(
extraData[settingName] = settingValue;
return *this;
};
DependencyMetadata& OnlyIfSomeExtraSettingsNonEmpty() {
onlyIfSomeExtraSettingsNonEmpty = true;
return *this;
};
bool IsOnlyIfSomeExtraSettingsNonEmpty() const {
return onlyIfSomeExtraSettingsNonEmpty;
};
DependencyMetadata& OnlyIfOtherDependencyIsExported(
onlyIfOtherDependencyIsExported = otherDependency;
return *this;
};
const gd::String& GetOtherDependencyThatMustBeExported()
const {
return onlyIfOtherDependencyIsExported;
};
const gd::String& GetName()
const {
return name; };
const gd::String& GetExportName()
const {
return exportName; };
const gd::String& GetVersion()
const {
return version; };
if (dependencyType == "")
return dependencyType;
};
const std::map<gd::String, gd::PropertyDescriptor>& GetAllExtraSettings()
const {
return extraData;
}
void CopyFrom(const DependencyMetadata& dependencyMetadata) {
*this = dependencyMetadata;
}
private:
std::map<gd::String, gd::PropertyDescriptor>
extraData;
bool onlyIfSomeExtraSettingsNonEmpty;
};
}
#endif
Used to describe a property shown in a property grid.
Definition: PropertyDescriptor.h:24
String represents an UTF8 encoded string.
Definition: String.h:31
Definition: CommonTools.h:24
void GD_CORE_API LogWarning(const gd::String &msg)
Standard function that should be used when emitting a warning to be displayed to the user.
Definition: Log.cpp:11