[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