Require new plugins to specify a target API version

This commit is contained in:
Michael Steenbeek 2022-12-20 16:34:38 +01:00 committed by GitHub
parent 952fb9ebe2
commit 079d99d7b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View File

@ -137,7 +137,11 @@ declare global {
type: PluginType;
licence: string;
minApiVersion?: number;
targetApiVersion?: number;
/**
* The Plug-in API version the current plug-in is designed for. This is used for backwards compatibility.
* E.g.: 66
*/
targetApiVersion: number;
main: () => void;
}

View File

@ -161,6 +161,12 @@ PluginMetadata Plugin::GetMetadata(const DukValue& dukMetadata)
{
metadata.TargetApiVersion = dukTargetApiVersion.as_int();
}
else
{
log_error(
u8"Plug-in “%s” does not specify a target API version or specifies it incorrectly. Emulating deprecated APIs.",
metadata.Name.c_str());
}
auto dukAuthors = dukMetadata["authors"];
dukAuthors.push();