[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1009] tags/2_54_contrib: == 2. 54 contrib ==
Luca Bonavita
mindrones at gmail.com
Fri Sep 10 22:53:27 CEST 2010
Revision: 1009
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=1009
Author: mindrones
Date: 2010-09-10 22:53:27 +0200 (Fri, 10 Sep 2010)
Log Message:
-----------
== 2.54 contrib ==
- tagging contrib/py as of now for 2.54 blender release
Modified Paths:
--------------
extern/README.rst
Added Paths:
-----------
tags/2_54_contrib/
tags/2_54_contrib/py/
Modified: extern/README.rst
===================================================================
--- extern/README.rst 2010-09-10 20:49:52 UTC (rev 1008)
+++ extern/README.rst 2010-09-10 20:53:27 UTC (rev 1009)
@@ -90,7 +90,7 @@
This example is based on a discussion with dougal2 (lux), Kerbox (yafaray) and
xat (gamekit).
-Here I use Lux as a practical example.
+As a practical example, let's use LuxRender on Linux 32 bit.
Legenda:
@@ -98,38 +98,53 @@
"luxblend" = python exporter blender -> lux, it can:
- export ascii file to be read, or
- use pylux to show lux renders inside blender render view
-"pylux" = name of the binary
+"pylux" = name of the LuxRender python bindings
INITIAL SITUATION
--------------------------------------------------------------------------------
We start with:
-- Blender 2.53 (which has a 2.53 Python API)
-- Lux 0.7
+- Blender 2.53 Release (revision 30596)
+- Lux 0.7 Release (here we implicitly assume 0.7.0)
-In bf-extensions we have:
+In bf-extensions:
+ - we put the addon in the development branch, extern/,
+ - we instantly copy it in tags/
-extern
-└── py
- └── scripts
- └── addons
- └── luxrender
- ├── 0.7
- │ └── luxblend-2.53
- │ └── __init__.py
- │ └── ...
- └── pylux.py
+bf-extensions
+├── extern
+│ └── py
+│ └── scripts
+│ └── addons
+│ └── luxrender
+│ ├── 0.7
+│ │ └── luxblend
+│ │ └── __init__.py <-- bl_addon_info['version'] = (0,7,0,30596)
+│ │ └── ...
+│ └── pylux.py
+└── tags
+ └── 2_53_extern
+ └── py
+ └── scripts
+ └── addons
+ └── luxrender
+ ├── 0.7.0-r30596
+ │ └── luxblend
+ │ └── __init__.py <-- bl_addon_info['version'] = (0,7,0,30596)
+ │ └── ...
+ └── pylux.py
The file "pylux.py" contains the dictionary below: for every blender version
we report the urls where we can get a certain version of the needed binary.
URLs can be missing if a build for a certain platform isn't available.
-bl_addons_urls = {
+bl_addons_data = {
(2,5,3):
{
(0,7):
{
+ 'api':[30596],
'linux-32':'<URL for Lux 0.7>',
'linux-64':'<URL for Lux 0.7>',
'windows-32':'<URL for Lux 0.7>',
@@ -149,15 +164,15 @@
└── luxrender
└── 0.7
├── luxblend
- │ └── __init__.py <-- bl_addon_info['version'] = (0,7,0)
+ │ └── __init__.py <-- bl_addon_info['version'] = (0,7,0,30596)
│ └── module/
│ └── module/
│ └── ...
└── pylux
- └── <exe>
+ └── pylux.so <-- pylux 0.7
-IMPORTANT NOTE
+URLs: IMPORTANT NOTE
--------------------------------------------------------------------------------
These URLs must have a baseurl permitted by Blender, so that we know
@@ -176,33 +191,151 @@
BLENDER API FIXES
--------------------------------------------------------------------------------
-It must be agreed that when Blender API changes, Blender API developers can do fixes
-to python files in extern/py/scripts/addons/
+When Blender API changes, Blender API developers can do fixes to python files
+in extern/py/scripts/addons/.
+When this happens:
+ - we change bl_addon_info['version']
+ - we tag.
+
+Supposing that the API changes at Blender revision 32000, we have:
+
+bf-extensions
+├── extern
+│ └── py
+│ └── scripts
+│ └── addons
+│ └── luxrender
+│ ├── 0.7
+│ │ └── luxblend
+│ │ └── __init__.py <-- bl_addon_info['version'] = (0,7,0,32000)
+│ │ └── ...
+│ └── pylux.py
+└── tags
+ └── 2_53_extern
+ └── py
+ └── scripts
+ └── addons
+ └── luxrender
+ ├── 0.7.0-r30596
+ │ └── luxblend
+ │ └── __init__.py <-- bl_addon_info['version'] = (0,7,0,30596)
+ │ └── ...
+ ├── 0.7.0-r32000
+ │ └── luxblend
+ │ └── __init__.py <-- bl_addon_info['version'] = (0,7,0,32000)
+ │ └── ...
+ └── pylux.py
+
+The file pylux.py is now:
+
+bl_addons_data = {
+ (2,5,3):
+ {
+ (0,7):
+ {
+ 'api':[30596,32000],
+ 'linux-32':'<URL for Lux 0.7>',
+ 'linux-64':'<URL for Lux 0.7>',
+ 'windows-32':'<URL for Lux 0.7>',
+ 'windows-64':'<URL for Lux 0.7>',
+ 'osx-intel':'<URL for Lux 0.7>',
+ 'osx-ppc':'<URL for Lux 0.7>'
+ }
+ }
+ }
+
+bl_addons_data = {
+ (2,5,3):
+ {
+ :
+ {
+ 'api':[30596,32000],
+ 'linux-32':'<URL for Lux 0.7>',
+ 'linux-64':'<URL for Lux 0.7>',
+ 'windows-32':'<URL for Lux 0.7>',
+ 'windows-64':'<URL for Lux 0.7>',
+ 'osx-intel':'<URL for Lux 0.7>',
+ 'osx-ppc':'<URL for Lux 0.7>'
+ }
+ }
+ }
+
+
These fixes have to be merged in the Lux repository, where their development can then go on.
-These fixes should not cause a bump in the addon version.
ADDON BUG FIXES/ENHANCEMENTS
--------------------------------------------------------------------------------
-When the addon developers fix a bug in the addon, they should bump the least significant
-number in their version.
+When the addon developers fix a bug in the addon itself, or enhance it,
+they bump the least significant version number.
For example:
-* Lux has a 2 numbers in its version (ex: 0.7), hence the bugfixed addon
-should have version = 0.7.1 (still in sync with pylux 0.7)
-* yafaRay has 3 numbers in its version (ex: 0.1.2), hence the bugfixed addon
-should have version = 0.1.2.1 (still in sync with yafapy 0.1.2)
-When the addon is copied in bf-extensions, users should get notified at blender startup,
-in a non-intrusive or blocking way.
+* Lux has a 2 numbers in its version (ex: 0.7).
+ --> the bugfixed addon version is 0.7.1
+ (still in sync with pylux 0.7 binary)
+* yafaRay has 3 numbers in its version (ex: 0.1.2).
+ --> the bugfixed addon version is 0.1.2.1
+ (still in sync with yafapy 0.1.2 binary)
+
+When the addon is copied in bf-extensions, we don't need to tag:
+
+bf-extensions
+├── extern
+│ └── py
+│ └── scripts
+│ └── addons
+│ └── luxrender
+│ ├── 0.7
+│ │ └── luxblend
+│ │ └── __init__.py <-- bl_addon_info['version'] = (0,7,1,32000)
+│ │ └── ...
+│ └── pylux.py
+└── tags
+ └── 2_53_extern
+ └── py
+ └── scripts
+ └── addons
+ └── luxrender
+ ├── 0.7.0-r30596
+ │ └── luxblend
+ │ └── __init__.py <-- bl_addon_info['version'] = (0,7,0,30596)
+ │ └── ...
+ ├── 0.7.0-r32000
+ │ └── luxblend
+ │ └── __init__.py <-- bl_addon_info['version'] = (0,7,0,32000)
+ │ └── ...
+ └── pylux.py
+
+
+Users should get notified at blender startup, in a non-intrusive or blocking way.
+
Using alert in the info header is a good way to do this.
The option of being notified when addons changes should be a userpreference, so that
we avoid annoying users if they don't like this feature.
+bl_addons_data = {
+ (2,5,3):
+ {
+ (0,7):
+ {
+ 'api':[30596,32000],
+ 'linux-32':'<URL for Lux 0.7>',
+ 'linux-64':'<URL for Lux 0.7>',
+ 'windows-32':'<URL for Lux 0.7>',
+ 'windows-64':'<URL for Lux 0.7>',
+ 'osx-intel':'<URL for Lux 0.7>',
+ 'osx-ppc':'<URL for Lux 0.7>'
+ }
+ }
+ }
+
+Locally we have:
+
.blender
└── 2.53
└── scripts
@@ -210,14 +343,14 @@
└── luxrender
└── 0.7
├── luxblend
- │ └── __init__.py <-- bl_addon_info['version'] = (0,7,1)
+ │ └── __init__.py <-- bl_addon_info['version'] = (0,7,1,32000)
│ └── module/
│ └── module/
│ └── ...
└── pylux
└── <exe>
-
+
BINARY BUG FIXES/ENHANCEMENTS
--------------------------------------------------------------------------------
@@ -269,7 +402,7 @@
While pylux.py is:
-bl_addons_urls = {
+bl_addons_data = {
(2,5,3):
{
(0,8):
@@ -373,7 +506,7 @@
In pylux.py, if the binaries have the same urls we simply duplicate for 2.54,
or we update them.
-bl_addons_urls = {
+bl_addons_data = {
(2,5,4):
{
(0,8):
@@ -475,7 +608,7 @@
and
-bl_addons_urls = {
+bl_addons_data = {
(2,5,4):
{
(0,9):
Copied: tags/2_54_contrib/py (from rev 1007, contrib/py)
More information about the Bf-extensions-cvs
mailing list