GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
/home/circleci/repo/GDevelop/Core/GDCore/Extensions/Metadata/DependencyMetadata.h

Sets the name written by the exporter. Typically, this is what is used by the dependency manager to find the dependency.

// For depending upon the NPM package is-thirteen
dependencyMetadata.setExporterName("is-thirteen");
Contains information about a dependency (library, npm/cordova package, or other according to the expo...
Definition: DependencyMetadata.h:20
/*
* GDevelop Core
* Copyright 2008-2016 Florian Rival ([email protected]). All rights
* reserved. This project is released under the MIT License.
*/
#ifndef DEPENDENCYMETADATA_H
#define DEPENDENCYMETADATA_H
#include <map>
#include <set>
#include "GDCore/Project/PropertyDescriptor.h"
#include "GDCore/String.h"
#include "GDCore/Tools/Log.h"
namespace gd {
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") {
gd::LogWarning("Invalid dependency type: " + dependencyType);
}
return *this;
};
DependencyMetadata& SetExtraSetting(
const gd::String& settingName,
const gd::PropertyDescriptor& settingValue) {
extraData[settingName] = settingValue;
return *this;
};
DependencyMetadata& OnlyIfSomeExtraSettingsNonEmpty() {
onlyIfSomeExtraSettingsNonEmpty = true;
return *this;
};
bool IsOnlyIfSomeExtraSettingsNonEmpty() const {
return onlyIfSomeExtraSettingsNonEmpty;
};
DependencyMetadata& OnlyIfOtherDependencyIsExported(
const gd::String& otherDependency) {
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; };
const gd::String& GetDependencyType() const {
if (dependencyType == "")
gd::LogWarning("Dependency has no type, it won't be exported.");
return dependencyType;
};
const std::map<gd::String, gd::PropertyDescriptor>& GetAllExtraSettings()
const {
return extraData;
}
void CopyFrom(const DependencyMetadata& dependencyMetadata) {
*this = dependencyMetadata;
}
private:
gd::String name;
gd::String exportName;
gd::String version;
gd::String dependencyType;
std::map<gd::String, gd::PropertyDescriptor>
extraData;
bool onlyIfSomeExtraSettingsNonEmpty;
gd::String onlyIfOtherDependencyIsExported;
};
} // namespace gd
#endif // DEPENDENCYMETADATA_H
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