Ver Fonte

Exclude unexposed classes from the extension_api.json

David Snopek há 2 anos atrás
pai
commit
39a604c9ab

+ 3 - 0
core/extension/extension_api_dump.cpp

@@ -750,6 +750,9 @@ Dictionary GDExtensionAPIDump::generate_extension_api() {
 		class_list.sort_custom<StringName::AlphCompare>();
 
 		for (const StringName &class_name : class_list) {
+			if (!ClassDB::is_class_exposed(class_name)) {
+				continue;
+			}
 			Dictionary d;
 			d["name"] = String(class_name);
 			d["is_refcounted"] = ClassDB::is_parent_class(class_name, "RefCounted");

+ 16 - 9
misc/extension_api_validation/4.0-stable.expected

@@ -8,15 +8,6 @@ Add new entries at the end of the file.
 
 ========================================================================================================================
 
-Misc
-----
-Validate extension JSON: API was removed: classes/FramebufferCacheRD
-Validate extension JSON: API was removed: classes/UniformSetCacheRD
-
-FIXME: These aren't written when dumping the interface with a headless build
-(since there's no RD backend in use). We need to fix this inconsistency somehow.
-
-
 ## Changes between 4.0-stable and 4.1-stable
 
 GH-78517
@@ -458,3 +449,19 @@ GH-80954
 Validate extension JSON: Error: Field 'classes/Font/methods/find_variation/arguments': size changed value in new API, from 4 to 8.
 
 Added optional arguments. Compatibility method registered.
+
+GH-80852
+--------
+
+Validate extension JSON: API was removed: classes/GDScriptEditorTranslationParserPlugin
+Validate extension JSON: API was removed: classes/GDScriptNativeClass
+Validate extension JSON: API was removed: classes/GodotPhysicsServer2D
+Validate extension JSON: API was removed: classes/GodotPhysicsServer3D
+Validate extension JSON: API was removed: classes/IPUnix
+Validate extension JSON: API was removed: classes/MovieWriterMJPEG
+Validate extension JSON: API was removed: classes/MovieWriterPNGWAV
+Validate extension JSON: API was removed: classes/ResourceFormatImporterSaver
+Validate extension JSON: API was removed: classes/FramebufferCacheRD
+Validate extension JSON: API was removed: classes/UniformSetCacheRD
+
+Excluded unexposed classes from extension_api.json.