Updating build systems: folder release/bpydata/ moved to release/scripts/bpydata/
authorWillian Padovani Germano <wpgermano@gmail.com>
Sat, 16 Apr 2005 18:25:42 +0000 (18:25 +0000)
committerWillian Padovani Germano <wpgermano@gmail.com>
Sat, 16 Apr 2005 18:25:42 +0000 (18:25 +0000)
It seemed trivial enough, so I updated all systems (makefiles, xcode, scons, scons win installer), please complain if something went wrong.  Mostly it was just removing release/bpydata references, since the release/scripts dir is already worked on recursevely, handling dirs inside it.

For the scons nsi file writer script I had to write code for each new dir, but it can be recoded recursively, too (in fact joining all release stuff in a single dir tree with nothing else would be a good idea, making installation code simpler).  Since it's just python and I have a little more time now, I can help scons managers if they still need.

Thanks Campbell Barton for reporting.

release/Makefile
release/scripts/bpydata/config/readme.txt
release/windows/installer/00.blender.nsi
release/windows/installer/00.sconsblender.nsi
source/blender/python/api2_2x/doc/NMesh.py
source/darwin/Makefile
tools/scons/bs/bs_arc.py
tools/scons/bs/bs_dirs.py
tools/scons/bs/bs_nsis.py

index 50493edb362b3e25bb4374257b19a121d0ab5f4e..31a7f04dbb07b20f5c2fafdb5d6cdf1096dd51d9 100644 (file)
@@ -144,8 +144,6 @@ endif
        @echo "----> Copy python infrastructure"
        @[ ! -d scripts ] || cp -r scripts $(CONFDIR)/scripts
        @[ ! -d $(CONFDIR)/scripts ] || rm -fr $(CONFDIR)/scripts/CVS
-       @[ ! -d bpydata ] || cp -r bpydata $(CONFDIR)/bpydata
-       @[ ! -d $(CONFDIR)/bpydata ] || rm -fr $(CONFDIR)/bpydata/CVS
 
     ifeq ($(OS),darwin)
        @echo "----> Move .blender to .app/Contents/MacOS/"
index 099ade0f3e5838fe7c73138c2f5e6f81cfc6b071..4b5cb61b063a33768cd8020c293f5fc0312ba4e3 100644 (file)
@@ -1,10 +1,6 @@
 This folder is for automatically saved scripts configuration data.
-This data is loaded when Blender starts and saved whenever a .blend file is
-saved.
 
-To use this feature scripts just need to set a Blender.Registry key with the
-extension ".cfg" (for example, "myscript.cfg").
+To use this feature scripts just need to set a proper Blender.Registry key.
 
-Please check the API Reference doc or the documentation for the
-"Scripts Config Editor" script with the Help menu-> "Scripts Help Browser"
-script in Blender.
+To know more, check the API Reference doc (specifically the API_related and
+Registry parts) and the documentation for the "Scripts Config Editor" script.
index 24c7c472e41e9ad844eb6109f034b9af30941728..8666ed812b31d26c7bb9bdc81495c9e23c028c87 100644 (file)
@@ -265,11 +265,13 @@ Section "Blender-VERSION (required)" SecCopyUI
   File DISTDIR\.blender\scripts\bvh_export.py
   File DISTDIR\.blender\scripts\bvh_import.py
   File DISTDIR\.blender\scripts\clean_mesh.py
+  File DISTDIR\.blender\scripts\config.py
   File DISTDIR\.blender\scripts\DirectX8Exporter.py
   File DISTDIR\.blender\scripts\DirectXExporter.py
   File DISTDIR\.blender\scripts\disp_paint.py
   File DISTDIR\.blender\scripts\doc_browser.py
   File DISTDIR\.blender\scripts\fixfromarmature.py
+  File DISTDIR\.blender\scripts\help_browser.py
   File DISTDIR\.blender\scripts\help_getting_started.py
   File DISTDIR\.blender\scripts\help_manual.py
   File DISTDIR\.blender\scripts\help_py_reference.py
@@ -284,12 +286,6 @@ Section "Blender-VERSION (required)" SecCopyUI
   File DISTDIR\.blender\scripts\knife.py
   File DISTDIR\.blender\scripts\lightwave_export.py
   File DISTDIR\.blender\scripts\lightwave_import.py
-  File DISTDIR\.blender\scripts\mod_ai2obj.py
-  File DISTDIR\.blender\scripts\mod_blender.py
-  File DISTDIR\.blender\scripts\mod_eps2obj.py
-  File DISTDIR\.blender\scripts\mod_gimp2obj.py
-  File DISTDIR\.blender\scripts\mod_meshtools.py
-  File DISTDIR\.blender\scripts\mod_svg2obj.py
   File DISTDIR\.blender\scripts\nendo_export.py
   File DISTDIR\.blender\scripts\nendo_import.py
   File DISTDIR\.blender\scripts\obdatacopier.py
@@ -304,6 +300,7 @@ Section "Blender-VERSION (required)" SecCopyUI
   File DISTDIR\.blender\scripts\raw_import.py
   File DISTDIR\.blender\scripts\renameobjectbyblock.py
   File DISTDIR\.blender\scripts\rvk1_torvk2.py
+  File DISTDIR\.blender\scripts\save_theme.py
   File DISTDIR\.blender\scripts\sel_same.py
   File DISTDIR\.blender\scripts\skin.py
   File DISTDIR\.blender\scripts\slp_import.py
@@ -311,16 +308,27 @@ Section "Blender-VERSION (required)" SecCopyUI
   File DISTDIR\.blender\scripts\tex2uvbaker.py
   File DISTDIR\.blender\scripts\truespace_export.py
   File DISTDIR\.blender\scripts\truespace_import.py
-  File DISTDIR\.blender\scripts\unweld044.py
+  File DISTDIR\.blender\scripts\unweld.py
   File DISTDIR\.blender\scripts\uv_export.py
   File DISTDIR\.blender\scripts\UVpaint05.py
   File DISTDIR\.blender\scripts\videoscape_export.py
+  File DISTDIR\.blender\scripts\vrml97_export.py
   File DISTDIR\.blender\scripts\wings_export.py
   File DISTDIR\.blender\scripts\wings_import.py
   File DISTDIR\.blender\scripts\wrl2export.py
-  SetOutPath $BLENDERHOME\.blender\bpydata
-  File DISTDIR\.blender\bpydata\readme.txt
-  File DISTDIR\.blender\bpydata\KUlang.txt
+  SetOutPath $BLENDERHOME\.blender\scripts\bpymodules
+  File DISTDIR\.blender\scripts\bpymodules\ai2obj.py
+  File DISTDIR\.blender\scripts\bpymodules\BPyBlender.py
+  File DISTDIR\.blender\scripts\bpymodules\BPyRegistry.py
+  File DISTDIR\.blender\scripts\bpymodules\eps2obj.py
+  File DISTDIR\.blender\scripts\bpymodules\gimp2obj.py
+  File DISTDIR\.blender\scripts\bpymodules\meshtools.py
+  File DISTDIR\.blender\scripts\bpymodules\svg2obj.py
+  SetOutPath $BLENDERHOME\.blender\scripts\bpydata
+  File DISTDIR\.blender\scripts\bpydata\readme.txt
+  File DISTDIR\.blender\scripts\bpydata\KUlang.txt
+  SetOutPath $BLENDERHOME\.blender\scripts\bpydata\config
+  File DISTDIR\.blender\scripts\bpydata\config\readme.txt
   
   ; Additional Languages files
   SetOutPath $BLENDERHOME\.blender
@@ -424,7 +432,9 @@ Section "Uninstall"
   ; remove directories used.
   RMDir /r $INSTDIR\.blender\locale 
   RMDir /r $INSTDIR\.blender\scripts
-  RMDir /r $INSTDIR\.blender\bpydata
+  RMDir /r $INSTDIR\.blender\scripts\bpydata
+  RMDir /r $INSTDIR\.blender\scripts\bpydata\config
+  RMDir /r $INSTDIR\.blender\scripts\bpymodules
   RMDir $INSTDIR\.blender
   RMDir "$SMPROGRAMS\Blender Foundation\Blender"
   RMDir "$SMPROGRAMS\Blender Foundation"
index b6dd8f4c4b43759ea003d308423700e391b99f49..4bbea68c62ffe2bf177b4f8372b75852ce46b5be 100644 (file)
@@ -244,8 +244,12 @@ Section "Blender-VERSION (required)" SecCopyUI
   
   SetOutPath $BLENDERHOME\.blender\scripts
   [SCRIPTCONTS]
-  SetOutPath $BLENDERHOME\.blender\bpydata
-  [BPYCONTS]
+  SetOutPath $BLENDERHOME\.blender\scripts\bpymodules
+  [SCRIPTMODCONTS]
+  SetOutPath $BLENDERHOME\.blender\scripts\bpydata
+  [SCRIPTDATACONTS]
+  SetOutPath $BLENDERHOME\.blender\scripts\bpydata\config
+  [SCRIPTDATACFGCONTS]
   
   ; Language files
   [LANGUAGECONTS]
@@ -306,7 +310,9 @@ Section "Uninstall"
   ; remove directories used.
   RMDir /r $INSTDIR\.blender\locale 
   RMDir /r $INSTDIR\.blender\scripts
-  RMDir /r $INSTDIR\.blender\bpydata
+  RMDir /r $INSTDIR\.blender\scripts\bpymodules
+  RMDir /r $INSTDIR\.blender\scripts\bpydata
+  RMDir /r $INSTDIR\.blender\scripts\bpydata\config
   RMDir $INSTDIR\.blender
   RMDir "$SMPROGRAMS\Blender Foundation\Blender"
   RMDir "$SMPROGRAMS\Blender Foundation"
index 8b5be59b38f3e1184b57f6b12d0cdf7cb84730d4..fb7b1a8e73573b092f8d647580bca2dd20cb10ab 100644 (file)
@@ -157,7 +157,12 @@ def GetRawFromObject(name):
 
 def PutRaw(nmesh, name = None, recalc_normals = 1, store_edges = 0):
   """
-  Put an NMesh object back in Blender.
+  Put a BPython NMesh object as a mesh data object in Blender.
+  @note: if there is already a mesh with the given 'name', its contents are
+  freed and the new data is put in it.  Also, if this mesh is not linked to any
+  object, a new object for it is created.  Reminder: in Blender an object is
+  composed of the base object and linked object data (mesh, metaball, camera,
+  etc. etc).
   @type nmesh: NMesh
   @type name: string
   @type recalc_normals: int
@@ -546,8 +551,8 @@ class NMesh:
   def update(recalc_normals = 0, store_edges = 0, vertex_shade = 0):
     """
     Update the mesh in Blender.  The changes made are put back to the mesh in
-    Blender, if available, or put in a newly created mesh object if this NMesh
-    wasn't already linked to one.
+    Blender, if available, or put in a newly created mesh if this NMesh wasn't
+    already linked to one.
     @type recalc_normals: int (bool)
     @param recalc_normals: if nonzero the vertex normals are recalculated.
     @type store_edges: int (bool)
@@ -565,6 +570,13 @@ class NMesh:
         programmers should leave EditMode B{before} getting a mesh, or changes
         made to the editmesh in Blender may not be visible to your script
         (check the example at the top of NMesh module doc).
+    @warn: unlike the L{PutRaw} function, this method doesn't check validity of
+        vertex, face and material lists, because it is meant to be as fast as
+        possible (and already performs many tasks).  So programmers should make
+        sure they only feed proper data to the nmesh -- a good general
+        recommendation, of course.  It's also trivial to write code to check
+        all data before updating, for example by comparing each item's type
+        with the actual L{Types}, if you need to.
     @note: this method also redraws the 3d view and -- if 'vertex_shade' is
         nonzero -- the edit buttons window.
     @note: if your mesh disappears after it's updated, try
index 52381081d67b4c687cdd759c5acbfbe7a7d37dae..837482506332cd58b323611c68019396ef875ab5 100644 (file)
@@ -52,7 +52,6 @@ ifeq ($(APPLICATION), blender)
        @echo "---> copying .blender/ scripts"
        @cp -R $(NANBLENDERHOME)/bin/.blender $(DIR)/bin/$(APPLICATION).app/Contents/MacOS
        @cp -R $(NANBLENDERHOME)/release/scripts $(DIR)/bin/$(APPLICATION).app/Contents/MacOS/.blender/scripts
-       @cp -R $(NANBLENDERHOME)/release/bpydata $(DIR)/bin/$(APPLICATION).app/Contents/MacOS/.blender/bpydata
 endif
        @echo "---> removing CVS directories and Mac hidden files from distribution"
        @find $(DIR)/bin/$(APPLICATION).app -name CVS -prune -exec rm -rf {} \;
index b215b9dc9779d104a259a53d0f089f1845686283..4c827632633b3370795b7c49c1928e2791e2ae2b 100644 (file)
@@ -52,8 +52,6 @@ def appit(target, source, env):
                commands.getoutput(cmd) 
                cmd = 'mkdir %s.app/Contents/MacOS/.blender'%target
                commands.getoutput(cmd)
-               cmd = 'cp -R release/bpydata %s.app/Contents/MacOS/.blender'%target
-               commands.getoutput(cmd)
                cmd = 'cp -R release/scripts %s.app/Contents/MacOS/.blender/'%target
                commands.getoutput(cmd)
                cmd = 'cp -R release/plugins %s.app/Contents/Resources/'%target 
@@ -88,8 +86,6 @@ def appit(target, source, env):
                        shutil.copy('bin/.blender/.Blanguages', cmd)
                        cmd = 'cp -R bin/.blender/locale %s.app/Contents/Resources/'%target
                        commands.getoutput(cmd)
-                       cmd = 'cp -R release/bpydata %s.app/Contents/MacOS/.blender'%target
-                       commands.getoutput(cmd)
                        cmd = 'cp -R release/scripts %s.app/Contents/MacOS/.blender/'%target
                        commands.getoutput(cmd)
                        cmd = 'cp -R release/plugins %s.app/Contents/Resources/'%target 
index a12472246f552c2cf7e1cc45111eeebc68b47dd4..224a95afe576c5467f7ba974feec83236e16f66d 100644 (file)
@@ -78,16 +78,10 @@ def preparedist():
        os.chdir(startdir)
        if os.path.isdir("dist/.blender/scripts"):
                shutil.rmtree("dist/.blender/scripts")
-       if os.path.isdir("dist/.blender/bpydata"):
-               shutil.rmtree("dist/.blender/bpydata")
-               
-       os.makedirs("dist/.blender/bpydata")
-       shutil.copy("release/bpydata/readme.txt", "dist/.blender/bpydata/readme.txt")
-       shutil.copy("release/bpydata/KUlang.txt", "dist/.blender/bpydata/KUlang.txt")
-       
+
        os.chdir("release")
        shutil.copytree("scripts/", "../dist/.blender/scripts")
-       
+
        # finally copy auxiliaries (readme, license, etc.)
        if sys.platform == 'win32':
                shutil.copy("windows/extra/Help.url", "../dist/Help.url")
@@ -123,4 +117,4 @@ def finalisedist(zipname):
        #shutil.copy("dist/" + zipname, zipname)
        #shutil.rmtree("dist")
        
-       return 1
\ No newline at end of file
+       return 1
index df6dcdb1c08458a12974016d5cbea8bca7ed0de5..cdac85560eb589026888869a747222fb23737724 100644 (file)
@@ -50,24 +50,52 @@ def donsis(env, target, source):
        
        # do scripts
        scriptlist = []
-       scriptdir = os.listdir(startdir + "\\dist\\.blender\\scripts")
+       scriptpath = "%s%s" % (startdir, "\\dist\\.blender\\scripts")
+       scriptdir = os.listdir(scriptpath)
        for scriptitem in scriptdir:
-               if os.path.isdir(startdir + "\\dist\\.blender\\scripts\\" + scriptitem) == 0:
-                       scriptlist.append("File " + startdir + "\\dist\\.blender\\scripts\\" + scriptitem)
+               scriptfile = "%s\\%s" % (scriptpath, scriptitem)
+               if os.path.isdir(scriptfile) == 0:
+                       scriptlist.append("File %s" % scriptfile)
        scriptstring = string.join(scriptlist, "\n  ")
        scriptstring += "\n\n"
        nsis_cnt = string.replace(nsis_cnt, "[SCRIPTCONTS]", scriptstring)
-       
-       # do bpycontents
+
+       # do scripts\bpymodules
+       bpymodlist = []
+       bpymodpath = "%s%s" % (startdir, "\\dist\\.blender\\scripts\\bpymodules")
+       bpymoddir = os.listdir(bpymodpath)
+       for bpymoditem in bpymoddir:
+               bpymodfile = "%s\\%s" % (bpymodpath, bpymoditem)
+               if os.path.isdir(bpymodfile) == 0:
+                       bpymodlist.append("File %s" % bpymodfile)
+       bpymodstring = string.join(bpymodlist, "\n  ")
+       bpymodstring += "\n\n"
+       nsis_cnt = string.replace(nsis_cnt, "[SCRIPTMODCONTS]", bpymodstring)
+
+       # do scripts\bpydata
        bpydatalist = []
-       bpydatadir = os.listdir(startdir + "\\dist\\.blender\\bpydata")
+       bpydatapath = "%s%s" % (startdir, "\\dist\\.blender\\scripts\\bpydata")
+       bpydatadir = os.listdir(bpydatapath)
        for bpydataitem in bpydatadir:
-               if os.path.isdir(startdir + "\\dist\\.blender\\bpydata\\" + bpydataitem) == 0:
-                       bpydatalist.append("File " + startdir + "\\dist\\.blender\\bpydata\\" + bpydataitem)
+               bpydatafile = "%s\\%s" % (bpydatapath, bpydataitem)
+               if os.path.isdir(bpydatafile) == 0:
+                       bpydatalist.append("File %s" % bpydatafile)
        bpydatastring = string.join(bpydatalist, "\n  ")
        bpydatastring += "\n\n"
-       nsis_cnt = string.replace(nsis_cnt, "[BPYCONTS]", bpydatastring)
-       
+       nsis_cnt = string.replace(nsis_cnt, "[SCRIPTDATACONTS]", bpydatastring)
+
+       # do scripts\bpydata\config
+       cfglist = []
+       cfgpath = "%s%s" % (startdir, "\\dist\\.blender\\scripts\\bpydata\\config")
+       cfgdir = os.listdir(cfgpath)
+       for cfgitem in cfgdir:
+               cfgfile = "%s\\%s" % (cfgpath, cfgitem)
+               if os.path.isdir(cfgfile) == 0:
+                       cfglist.append("File %s" % cfgfile)
+       cfgstring = string.join(cfglist, "\n  ")
+       cfgstring += "\n\n"
+       nsis_cnt = string.replace(nsis_cnt, "[SCRIPTDATACFGCONTS]", cfgstring)
+
        # do dotblender
        dotblendlist = []
        dotblenddir = os.listdir(startdir+"\\dist\\.blender")
@@ -112,4 +140,4 @@ def BlenderNSIS(target):
                nsis_inst = inst_env.Command('nsisinstaller', 'blender$PROGSUFFIX', donsis)
                if bs_globals.user_options_dict['BUILD_BLENDER_PLAYER'] == 1:
                        inst_env.Depends(nsis_inst, 'blenderplayer$PROGSUFFIX')
-               inst_env.Alias("wininst", nsis_inst)
\ No newline at end of file
+               inst_env.Alias("wininst", nsis_inst)