[Bf-blender-cvs] [21c9ec813d5] asset-engine: Make Amber a real add-on.
Bastien Montagne
noreply at git.blender.org
Tue Dec 5 22:40:51 CET 2017
Commit: 21c9ec813d502271df0019c7d1ba995ed5096207
Author: Bastien Montagne
Date: Tue Dec 5 15:20:06 2017 +0100
Branches: asset-engine
https://developer.blender.org/rB21c9ec813d502271df0019c7d1ba995ed5096207
Make Amber a real add-on.
Well, real add-on... since we want to keep it in main repo for now, it
still needs some hacks to 'behave' like a regular add-on. :/
Anyway, it's now removed from startup files, and will live in modules
until we go to master itself.
Also, make it enabled by default in factory startup.
===================================================================
R050 release/scripts/startup/bl_operators/amber/__init__.py release/scripts/modules/amber/__init__.py
R099 release/scripts/startup/bl_operators/amber/engine.py release/scripts/modules/amber/engine.py
R099 release/scripts/startup/bl_operators/amber/operators.py release/scripts/modules/amber/operators.py
R099 release/scripts/startup/bl_operators/amber/repository.py release/scripts/modules/amber/repository.py
R098 release/scripts/startup/bl_operators/amber/ui.py release/scripts/modules/amber/ui.py
R097 release/scripts/startup/bl_operators/amber/utils.py release/scripts/modules/amber/utils.py
M release/scripts/startup/bl_operators/__init__.py
M source/blender/blenloader/intern/versioning_defaults.c
M source/creator/CMakeLists.txt
===================================================================
diff --git a/release/scripts/startup/bl_operators/amber/__init__.py b/release/scripts/modules/amber/__init__.py
similarity index 50%
rename from release/scripts/startup/bl_operators/amber/__init__.py
rename to release/scripts/modules/amber/__init__.py
index 4b1f0c42037..98273c4d016 100644
--- a/release/scripts/startup/bl_operators/amber/__init__.py
+++ b/release/scripts/modules/amber/__init__.py
@@ -18,8 +18,31 @@
# <pep8 compliant>
-# Note: This will be a simple addon later, but until it gets to master, it's simpler to have it
-# as a startup module!
+bl_info = {
+ "name": "Amber Asset Engine",
+ "author": "Bastien Montagne",
+ "version": (0, 0, 1),
+ "blender": (2, 80, 2),
+ "location": "File browser...",
+ "description": "Create and use asset repositories on local file system.",
+ "category": "Workflow",
+ "support": 'OFFICIAL',
+}
+
+if "bpy" in locals():
+ import importlib
+ importlib.reload(repository)
+ importlib.reload(engine)
+ importlib.reload(operators)
+ importlib.reload(ui)
+else:
+ from . import (
+ repository,
+ engine,
+ operators,
+ ui
+ )
+
import bpy
from bpy.props import (
@@ -27,16 +50,22 @@ from bpy.props import (
)
-from . import (repository, engine, operators, ui)
-
-
classes = repository.classes + engine.classes + operators.classes + ui.classes
-bpy.types.WindowManager.amber_enable_editing = BoolProperty(name="Enable Amber Editing",
- description="Enable editing of items in Amber asset engine repositories")
+def register():
+ bpy.types.WindowManager.amber_enable_editing = BoolProperty(
+ name="Enable Amber Editing",
+ description="Enable editing of items in Amber asset engine repositories")
+ for cls in classes:
+ bpy.utils.register_class(cls)
-if __name__ == "__main__": # only for live edit.
+def unregister():
for cls in classes:
- bpy.utils.register_class(cls)
+ bpy.utils.unregister_class(cls)
+ del bpy.types.WindowManager.amber_enable_editing
+
+
+if __name__ == "__main__":
+ register()
diff --git a/release/scripts/startup/bl_operators/amber/engine.py b/release/scripts/modules/amber/engine.py
similarity index 99%
rename from release/scripts/startup/bl_operators/amber/engine.py
rename to release/scripts/modules/amber/engine.py
index 30f3de47c15..9b1733cad13 100644
--- a/release/scripts/startup/bl_operators/amber/engine.py
+++ b/release/scripts/modules/amber/engine.py
@@ -18,9 +18,6 @@
# <pep8 compliant>
-# Note: This will be a simple addon later, but until it gets to master, it's simpler to have it
-# as a startup module!
-
import bpy
from bpy.types import (
AssetEngine,
diff --git a/release/scripts/startup/bl_operators/amber/operators.py b/release/scripts/modules/amber/operators.py
similarity index 99%
rename from release/scripts/startup/bl_operators/amber/operators.py
rename to release/scripts/modules/amber/operators.py
index 96cd2f7b77e..df010c98c7e 100644
--- a/release/scripts/startup/bl_operators/amber/operators.py
+++ b/release/scripts/modules/amber/operators.py
@@ -18,9 +18,6 @@
# <pep8 compliant>
-# Note: This will be a simple addon later, but until it gets to master, it's simpler to have it
-# as a startup module!
-
import bpy
from bpy.types import (
Operator,
diff --git a/release/scripts/startup/bl_operators/amber/repository.py b/release/scripts/modules/amber/repository.py
similarity index 99%
rename from release/scripts/startup/bl_operators/amber/repository.py
rename to release/scripts/modules/amber/repository.py
index 83e73850e03..c1247691340 100644
--- a/release/scripts/startup/bl_operators/amber/repository.py
+++ b/release/scripts/modules/amber/repository.py
@@ -18,9 +18,6 @@
# <pep8 compliant>
-# Note: This will be a simple addon later, but until it gets to master, it's simpler to have it
-# as a startup module!
-
import bpy
from bpy.types import (
AssetEntry,
diff --git a/release/scripts/startup/bl_operators/amber/ui.py b/release/scripts/modules/amber/ui.py
similarity index 98%
rename from release/scripts/startup/bl_operators/amber/ui.py
rename to release/scripts/modules/amber/ui.py
index a62f5f609f4..2fcab837f55 100644
--- a/release/scripts/startup/bl_operators/amber/ui.py
+++ b/release/scripts/modules/amber/ui.py
@@ -18,9 +18,6 @@
# <pep8 compliant>
-# Note: This will be a simple addon later, but until it gets to master, it's simpler to have it
-# as a startup module!
-
import bpy
from bpy.types import (
Panel,
diff --git a/release/scripts/startup/bl_operators/amber/utils.py b/release/scripts/modules/amber/utils.py
similarity index 97%
rename from release/scripts/startup/bl_operators/amber/utils.py
rename to release/scripts/modules/amber/utils.py
index d826100146a..df73d5e92e8 100644
--- a/release/scripts/startup/bl_operators/amber/utils.py
+++ b/release/scripts/modules/amber/utils.py
@@ -18,9 +18,6 @@
# <pep8 compliant>
-# Note: This will be a simple addon later, but until it gets to master, it's simpler to have it
-# as a startup module!
-
import bpy
import binascii
diff --git a/release/scripts/startup/bl_operators/__init__.py b/release/scripts/startup/bl_operators/__init__.py
index 2ddd30974a3..b901be9d97c 100644
--- a/release/scripts/startup/bl_operators/__init__.py
+++ b/release/scripts/startup/bl_operators/__init__.py
@@ -50,7 +50,7 @@ _modules = [
"wm",
]
-_modules.append("amber")
+#_modules.append("amber")
#_modules.append("claude")
import bpy
diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c
index e2d4b140311..ea5cdd37134 100644
--- a/source/blender/blenloader/intern/versioning_defaults.c
+++ b/source/blender/blenloader/intern/versioning_defaults.c
@@ -50,6 +50,7 @@
#include "BLO_readfile.h"
+#include "MEM_guardedalloc.h"
/**
* Override values in in-memory startup.blend, avoids resaving for small changes.
@@ -87,6 +88,11 @@ void BLO_update_defaults_userpref_blend(void)
#else
U.flag &= ~USER_SCRIPT_AUTOEXEC_DISABLE;
#endif
+
+ /* Enable Amber asset engine by default. */
+ bAddon *bext = MEM_callocN(sizeof(bAddon), "bAddon");
+ BLI_strncpy(bext->module, "amber", sizeof(bext->module));
+ BLI_addtail(&U.addons, bext);
}
/**
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index c5acd7e640e..101e9173486 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -341,6 +341,17 @@ if(WITH_PYTHON)
set(FREESTYLE_EXCLUDE_CONDITIONAL "_freestyle/*") # dummy, wont do anything
endif()
+ # temp hack to allow keeping Amber addon in main repo for now...
+ install(
+ DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts/modules/amber
+ DESTINATION ${TARGETDIR_VER}/scripts/addons
+ PATTERN ".git" EXCLUDE
+ PATTERN ".gitignore" EXCLUDE
+ PATTERN ".arcconfig" EXCLUDE
+ PATTERN "__pycache__" EXCLUDE
+ )
+ set(AMBER_EXCLUDE_CONDITIONAL "amber*")
+
install(
DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts
DESTINATION ${TARGETDIR_VER}
@@ -350,10 +361,12 @@ if(WITH_PYTHON)
PATTERN "__pycache__" EXCLUDE
PATTERN "${ADDON_EXCLUDE_CONDITIONAL}" EXCLUDE
PATTERN "${FREESTYLE_EXCLUDE_CONDITIONAL}" EXCLUDE
+ PATTERN "${AMBER_EXCLUDE_CONDITIONAL}" EXCLUDE
)
unset(ADDON_EXCLUDE_CONDITIONAL)
unset(FREESTYLE_EXCLUDE_CONDITIONAL)
+ unset(AMBER_EXCLUDE_CONDITIONAL)
endif()
# localization
More information about the Bf-blender-cvs
mailing list