diff --git a/src/bonsai/docs/guides/development/installation.rst b/src/bonsai/docs/guides/development/installation.rst index 85e6672668..7f7956729e 100644 --- a/src/bonsai/docs/guides/development/installation.rst +++ b/src/bonsai/docs/guides/development/installation.rst @@ -151,19 +151,14 @@ to restart Blender to see changes). For Linux or Mac: -.. literalinclude:: ../../../scripts/installation/dev_environment.sh - :language: bash - :caption: dev_environment.sh +.. code-block:: bash -For Windows, run this batch script as an administrator. Make sure to + cd src/bonsai/scripts + python dev_environment.py + +For Windows, you may need to run the script as an administrator. Make sure to run the script with blender closed. By default the script assumes its -in the root directory of the IFCOpenShell repository. If you want to run -it from another directory, set the environment variables described in the -`rem` tags. - -.. literalinclude:: ../../../scripts/installation/dev_environment.bat - :language: bat - :caption: dev_environment.bat +in the root directory of the IfcOpenShell repository. After you modify your code in the Git repository, you will need to restart Blender for the changes to take effect. diff --git a/src/bonsai/scripts/installation/dev_environment.py b/src/bonsai/scripts/dev_environment.py similarity index 100% rename from src/bonsai/scripts/installation/dev_environment.py rename to src/bonsai/scripts/dev_environment.py diff --git a/src/bonsai/scripts/installation/dev_environment.bat b/src/bonsai/scripts/installation/dev_environment.bat deleted file mode 100644 index 6972f0295c..0000000000 --- a/src/bonsai/scripts/installation/dev_environment.bat +++ /dev/null @@ -1,79 +0,0 @@ -@echo off - -setlocal - - -rem Uncomment setting REPO_PATH to use custom path for IfcOpenShell repository. -rem Otherwise by default it is assumed script is executed from IfcOpenShell directory. -rem SET REPO_PATH=%HOMEDRIVE%\Users\%USERNAME%\Where\Your\Git\Repository\Is\Cloned\IfcOpenShell -SET BLENDER_PATH=%HOMEDRIVE%\Users\%USERNAME%\AppData\Roaming\Blender Foundation\Blender\4.5 -SET PACKAGE_PATH=%BLENDER_PATH%\extensions\.local\lib\python3.11\site-packages -SET BONSAI_PATH=%BLENDER_PATH%\extensions\raw_githubusercontent_com\bonsai - - -echo SETUP BONSAI ADD-ON LIVE DEVELOPMENT ENVIRONMENT -echo Update REPO_PATH, BLENDER_PATH, PACKAGE_PATH, BONSAI_PATH in the script above. -echo This script needs to be run as administrator (to create symbolic links) -echo Make sure you have followed these steps before proceeding :) -echo. -echo Currently set paths: -if not defined REPO_PATH ( - echo REPO_PATH is not set, assuming we're already in IfcOpenShell directory. - set REPO_PATH=%cd% -) -echo REPO_PATH=%REPO_PATH% -echo BLENDER_PATH=%BLENDER_PATH% -echo PACKAGE_PATH=%PACKAGE_PATH% -echo BONSAI_PATH=%BONSAI_PATH% -pause - -echo Changing to the Git repository directory... -cd %REPO_PATH% - -:: Handle symlinks (they could be disabled by default on Windows). -git config --local core.symlinks true -:: Delete and checkout is the only way to ensure files are added as symlinks. -del /Q src\bonsai\bonsai\bim\data\templates\projects\*.ifc -git checkout -- src/bonsai/bonsai/bim/data/templates/projects/*.ifc - -echo Copy over compiled IfcOpenShell files... -copy "%PACKAGE_PATH%\ifcopenshell\*_wrapper*" "%CD%\src\ifcopenshell-python\ifcopenshell\" - -echo Remove extension and link to Git... -del "%BONSAI_PATH%\__init__.py" -rd /S /Q "%PACKAGE_PATH%\bonsai" -rd /S /Q "%PACKAGE_PATH%\ifcopenshell" -del "%PACKAGE_PATH%\ifccsv.py" -del "%PACKAGE_PATH%\ifcdiff.py" -del "%PACKAGE_PATH%\bsdd.py" -rd /S /Q "%PACKAGE_PATH%\bcf" -rd /S /Q "%PACKAGE_PATH%\ifc4d" -rd /S /Q "%PACKAGE_PATH%\ifc5d" -rd /S /Q "%PACKAGE_PATH%\ifccityjson" -rd /S /Q "%PACKAGE_PATH%\ifcclash" -rd /S /Q "%PACKAGE_PATH%\ifcpatch" -rd /S /Q "%PACKAGE_PATH%\ifctester" -rd /S /Q "%PACKAGE_PATH%\ifcfm" - -mklink "%BONSAI_PATH%\__init__.py" "%CD%\src\bonsai\bonsai\__init__.py" -mklink /D "%PACKAGE_PATH%\bonsai" "%CD%\src\bonsai\bonsai" -mklink /D "%PACKAGE_PATH%\ifcopenshell" "%CD%\src\ifcopenshell-python\ifcopenshell" -mklink "%PACKAGE_PATH%\ifccsv.py" "%CD%\src\ifccsv\ifccsv.py" -mklink "%PACKAGE_PATH%\ifcdiff.py" "%CD%\src\ifcdiff\ifcdiff.py" -mklink "%PACKAGE_PATH%\bsdd.py" "%CD%\src\bsdd\bsdd.py" -mklink /D "%PACKAGE_PATH%\bcf" "%CD%\src\bcf\bcf" -mklink /D "%PACKAGE_PATH%\ifc4d" "%CD%\src\ifc4d\ifc4d" -mklink /D "%PACKAGE_PATH%\ifc5d" "%CD%\src\ifc5d\ifc5d" -mklink /D "%PACKAGE_PATH%\ifccityjson" "%CD%\src\ifccityjson\ifccityjson" -mklink /D "%PACKAGE_PATH%\ifcclash" "%CD%\src\ifcclash\ifcclash" -mklink /D "%PACKAGE_PATH%\ifcpatch" "%CD%\src\ifcpatch\ifcpatch" -mklink /D "%PACKAGE_PATH%\ifctester" "%CD%\src\ifctester\ifctester" -mklink /D "%PACKAGE_PATH%\ifcfm" "%CD%\src\ifcfm\ifcfm" - -echo Manually downloading some third party dependencies... -curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js -o "%PACKAGE_PATH%\bonsai\bim\data\gantt\jsgantt.js" -curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css -o "%PACKAGE_PATH%\bonsai\bim\data\gantt\jsgantt.css" -curl -L https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl -o "%PACKAGE_PATH%\bonsai\bim\data\brick\Brick.ttl" -curl https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js -o "%PACKAGE_PATH%\bonsai\bim\data\webui\static\js\jquery.min.js" - -pause diff --git a/src/bonsai/scripts/installation/dev_environment.sh b/src/bonsai/scripts/installation/dev_environment.sh deleted file mode 100644 index d4d0c8f146..0000000000 --- a/src/bonsai/scripts/installation/dev_environment.sh +++ /dev/null @@ -1,61 +0,0 @@ -# Please update REPO_PATH and BLENDER_PATH in the script below. -# Default BLENDER_PATH on Mac: "/Users/$USER/Library/Application Support/Blender/4.4" -# Default BLENDER_PATH on Linux: "$HOME/.config/blender/4.4" -# REPO_PATH="/path/to/where/your/git/repository/is/cloned/IfcOpenShell" -set -e -REPO_PATH="" -BLENDER_PATH="" -PACKAGE_PATH="${BLENDER_PATH}/extensions/.local/lib/python3.11/site-packages" -# If you are installing offline, use this instead: -# BONSAI_PATH="${BLENDER_PATH}/extensions/user_default/bonsai" -BONSAI_PATH="${BLENDER_PATH}/extensions/raw_githubusercontent_com/bonsai" - -# Validate inputs. -[ -z "$REPO_PATH" ] && echo "Error: REPO_PATH is not set." && exit 1 -[ -z "$BLENDER_PATH" ] && echo "Error: BLENDER_PATH is not set." && exit 1 - -# Changing to the Git repository directory -cd "${REPO_PATH}" - -# Copy over compiled IfcOpenShell files -cp "${PACKAGE_PATH}/ifcopenshell/"*_wrapper* "${PWD}/src/ifcopenshell-python/ifcopenshell/" - -# Remove extension and link to Git -rm "${BONSAI_PATH}/__init__.py" -rm -r "${PACKAGE_PATH}/bonsai" -rm -r "${PACKAGE_PATH}/ifcopenshell" -rm -r "${PACKAGE_PATH}/ifccsv.py" -rm -r "${PACKAGE_PATH}/ifcdiff.py" -rm -r "${PACKAGE_PATH}/bsdd.py" -rm -r "${PACKAGE_PATH}/bcf" -rm -r "${PACKAGE_PATH}/ifc4d" -rm -r "${PACKAGE_PATH}/ifc5d" -rm -r "${PACKAGE_PATH}/ifccityjson" -rm -r "${PACKAGE_PATH}/ifcclash" -rm -r "${PACKAGE_PATH}/ifcpatch" -rm -r "${PACKAGE_PATH}/ifctester" -rm -r "${PACKAGE_PATH}/ifcfm" - -ln -s "${PWD}/src/bonsai/bonsai/__init__.py" "${BONSAI_PATH}/__init__.py" -ln -s "${PWD}/src/bonsai/bonsai" "${PACKAGE_PATH}/bonsai" -ln -s "${PWD}/src/ifcopenshell-python/ifcopenshell" "${PACKAGE_PATH}/ifcopenshell" -ln -s "${PWD}/src/ifccsv/ifccsv.py" "${PACKAGE_PATH}/ifccsv.py" -ln -s "${PWD}/src/ifcdiff/ifcdiff.py" "${PACKAGE_PATH}/ifcdiff.py" -ln -s "${PWD}/src/bsdd/bsdd.py" "${PACKAGE_PATH}/bsdd.py" -ln -s "${PWD}/src/bcf/bcf" "${PACKAGE_PATH}/bcf" -ln -s "${PWD}/src/ifc4d/ifc4d" "${PACKAGE_PATH}/ifc4d" -ln -s "${PWD}/src/ifc5d/ifc5d" "${PACKAGE_PATH}/ifc5d" -ln -s "${PWD}/src/ifccityjson/ifccityjson" "${PACKAGE_PATH}/ifccityjson" -ln -s "${PWD}/src/ifcclash/ifcclash" "${PACKAGE_PATH}/ifcclash" -ln -s "${PWD}/src/ifcpatch/ifcpatch" "${PACKAGE_PATH}/ifcpatch" -ln -s "${PWD}/src/ifctester/ifctester" "${PACKAGE_PATH}/ifctester" -ln -s "${PWD}/src/ifcfm/ifcfm" "${PACKAGE_PATH}/ifcfm" - -# Manually download some third party dependencies -cd "${PACKAGE_PATH}/bonsai/bim/data/gantt" -wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js -wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css -cd "${PACKAGE_PATH}/bonsai/bim/data/brick" -wget https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl -cd "${PACKAGE_PATH}/bonsai/bim/data/webui/static/js" -wget https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js \ No newline at end of file