Extensions: enable the package management add-on when enabled
Package management has been moved into addons_contrib so the addon can be enabled when enabling extension repositories. This means users can test extension repositories without having to install a separate add-on. Additional work is still needed with the server before this is ready for general testing though. Part of #117286.
This commit is contained in:
@@ -32,6 +32,8 @@ def _initialize_once():
|
||||
for addon in _preferences.addons:
|
||||
enable(addon.module)
|
||||
|
||||
_initialize_ensure_extensions_addon()
|
||||
|
||||
|
||||
def paths():
|
||||
return [
|
||||
@@ -606,6 +608,13 @@ def module_bl_info(mod, *, info_basis=None):
|
||||
# -----------------------------------------------------------------------------
|
||||
# Extensions
|
||||
|
||||
def _initialize_ensure_extensions_addon():
|
||||
if _preferences.experimental.use_extension_repos:
|
||||
module_name = "bl_pkg"
|
||||
if module_name not in _preferences.addons:
|
||||
enable(module_name, default_set=True, persistent=True)
|
||||
|
||||
|
||||
# Module-like class, store singletons.
|
||||
class _ext_global:
|
||||
__slots__ = ()
|
||||
@@ -805,6 +814,10 @@ def _initialize_extension_repos_pre(*_):
|
||||
|
||||
@_bpy.app.handlers.persistent
|
||||
def _initialize_extension_repos_post(*_, is_first=False):
|
||||
|
||||
# When enabling extensions for the first time, ensure the add-on is enabled.
|
||||
_initialize_ensure_extensions_addon()
|
||||
|
||||
do_addons = not is_first
|
||||
|
||||
# Map `module_id` -> `dirpath`.
|
||||
|
||||
@@ -2021,10 +2021,9 @@ class USERPREF_PT_extensions(ExtensionsPanel, Panel):
|
||||
layout = self.layout
|
||||
|
||||
row = layout.row()
|
||||
row.label(text="The add-on to use extensions is disabled! See:")
|
||||
row.operator(
|
||||
"wm.url_open", text="Extension Add-on Repository", icon='URL',
|
||||
).url = "https://projects.blender.org/ideasman42/bl_ext"
|
||||
row.label(text="The add-on to use extensions is disabled!")
|
||||
row = layout.row()
|
||||
row.label(text="Enable \"Blender Extensions\" add-on in Testing to use extensions.")
|
||||
|
||||
|
||||
class USERPREF_PT_extensions_repos(ExtensionsPanel, Panel):
|
||||
|
||||
Reference in New Issue
Block a user