Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export of GDExtension files that were excluded in EditorExportPlugin using skip still appear in extension_list.cfg resulting in errors during startup #99698

Open
markeel opened this issue Nov 26, 2024 · 0 comments

Comments

@markeel
Copy link
Contributor

markeel commented Nov 26, 2024

Tested versions

System information

Godot v4.4.dev (0c45ace) - Ubuntu 24.04.1 LTS 24.04 on Wayland - X11 display driver, Single-window, 1 monitor - Vulkan (Forward+) - integrated Intel(R) UHD Graphics 770 (ADL-S GT1) - 12th Gen Intel(R) Core(TM) i7-12700K (20 threads)

Issue description

For people who have created a EditorExportPlugin and used it to remove directories using the "skip" method in their _export_file method the extension_list.cfg still has the skipped extension files.

The solution in #97207 needs to be enhanced to address this use case by capturing the skipped files and if they apply to a GDExtension removing them.

Steps to reproduce

  1. Load the Git plugin from Asset Lib
  2. Create a project that implements an editor export plugin that is used to skip the GIT plugin extension files.
  3. Export the project and observe the error: "ERROR: Error loading GDExtension configuration file: res://addons/godot-git-plugin/git_plugin.gdextension"

Minimal reproduction project (MRP)

skipper.gd

@tool
extends EditorExportPlugin

func _export_file(path: String, type: String, features: PackedStringArray) -> void:
	if "godot-git-plugin" in path:
		skip()

export.gd

@tool
extends EditorPlugin

var export_plugin = preload("skipper.gd").new()

func _enter_tree() -> void:
	add_export_plugin(export_plugin)

func _exit_tree() -> void:
	remove_export_plugin(export_plugin)

func _get_name():
	return "skipper"

plugin.cfg

[plugin]

name="export"
description=""
author=""
version=""
script="export.gd"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant