From 646cc59687f106911790206df338d368f7c69072 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 2 Aug 2024 15:56:40 +1000 Subject: [PATCH] Update live install script on linux/mac and merge system support docs into dev setup docs --- src/blenderbim/docs/devs/installation.rst | 122 ++++++++---------- src/blenderbim/docs/devs/system_support.rst | 45 ------- src/blenderbim/docs/index.rst | 6 - .../scripts/installation/dev_environment.bat | 93 ++++++------- .../scripts/installation/dev_environment.sh | 92 ++++++------- 5 files changed, 137 insertions(+), 221 deletions(-) delete mode 100644 src/blenderbim/docs/devs/system_support.rst diff --git a/src/blenderbim/docs/devs/installation.rst b/src/blenderbim/docs/devs/installation.rst index 1f652b2806..6c656ddc01 100644 --- a/src/blenderbim/docs/devs/installation.rst +++ b/src/blenderbim/docs/devs/installation.rst @@ -14,19 +14,29 @@ Unstable installation **Unstable installation** is almost the same as **Stable installation**, except that they are typically updated every day. Simply download a daily build from the `GitHub releases page -`__, then follow the -usual :doc:`installation instructions`. +`__, +then follow the usual :doc:`installation +instructions`. -You will need to choose which build to download. +The BlenderBIM Add-on officially supports all major 64-bit platforms, as well as +the Python version shipped by the Blender Foundation for the most recent three +major Blender versions: -- If you are on Blender >=4.1, choose py311 -- If you are on Blender >=3.1 and <=4.0, choose py310 -- If you are on Blender >=2.93 and <3.1, choose py39 -- Choose ``linux-x64``, ``macos-x64`` (Apple Intel), ``macos-arm64`` (Apple Silicon), or - ``windows-x64`` depending on your operating system +- 64-bit Linux (``linux-x64``) +- 64-bit MacOS Intel (``macos-x64``) +- 64-bit MacOS Silicon (``macos-arm64``) +- 64-bit Windows (``windows-x64``) +- Blender 4.2 with Python 3.11 -For users who don't follow the `VFX Platform `_ -standard, we also provide py312 builds. +Due to significant changes in the Blender extensions system, Blender versions +<4.2 are not supported. + +Developer builds may exist for different versions of Python but there will be +no guarantee of the uptime or stability of these builds. + +Other system specifications match the `Blender Requirements +`_ and the `VFX Platform +`_ standard. Sometimes, a build may be delayed, or contain broken code. We try to avoid this, but it happens. @@ -46,7 +56,9 @@ compile IfcOpenShell is out of scope of this document. You can create your own package by using the Makefile as shown below. You can choose between a ``PLATFORM`` of ``linux``, ``macos``, ``macosm1``, and ``win``. -You can choose between a ``PYVERSION`` of ``py311``, ``py310``, or ``py39``. +You can choose between a ``PYVERSION`` of ``py312``, ``py311``, ``py310``, or +``py39``. + .. code-block:: bash cd src/blenderbim @@ -60,18 +72,17 @@ Live development environment ---------------------------- One option for developers who want to actively develop from source is to follow -the instructions from **Bundling for Blender**. However, creating a build, -uninstalling the old add-on, and installing a new build is a slow process. -Although it works, it is very slow, so we do not recommend it. +the instructions from :ref:`devs/installation:Bundling for Blender`. However, +creating a build, uninstalling the old add-on, and installing a new build is a +slow process. Although it works, it is very slow, so we do not recommend it. -A more rapid approach is to follow the **Unstable installation** method, as this -provides all dependencies for you out of the box. +A more rapid approach is to follow the :ref:`devs/installation:Unstable +installation` method, as this provides all dependencies for you out of the box. Once you've done this, you can replace certain Python files that tend to be updated frequently with those from the Git repository. We're going to use -symlinks (Windows users can use ``mklink``), so we can code in our Git -repository, and see the changes in our Blender installation (you will need to -restart Blender to see changes). +symbolic links, so we can code in our Git repository, and see the changes in +our Blender installation (you will need to restart Blender to see changes). For Linux or Mac: @@ -117,19 +128,17 @@ Packaged installation Tips for package managers ------------------------- -If you are interested in packaging the BlenderBIM Add-on for a packaging -manager, read on. - The BlenderBIM Add-on is fully contained in the ``blenderbim/`` subfolder of the Blender add-ons directory. This is typically distributed as a zipfile as per Blender add-on conventions. Within this folder, you'll find the following file structure: :: - core/ (Blender agnostic core code) - tool/ (Blender specific logic) + core/ (Blender agnostic core logic) + tool/ (Blender specific shared functionality) bim/ (Blender specific UI) - libs/ (dependencies) + libs/ (other assets) + wheels/ (dependencies) __init__.py This corresponds to the structure found in the source code `here @@ -142,50 +151,29 @@ dependencies are bundled with the add-on for convenience. If you choose to install the BlenderBIM Add-on and use your own system dependencies, the source of truth for how dependencies are bundled are found in the `Makefile -`__. +`__ +in the ``dist`` target. -Required Python modules to be stored in ``libs/site/packages/`` are: -:: +Add-on compatibility +-------------------- - ifcopenshell - bcf - ifcclash - ifccobie - ifccsv - ifcdiff - ifc4d - ifc5d - ifcpatch - ifctester - pystache - svgwrite - dateutil - isodate - networkx - https://github.com/Andrej730/aud/archive/refs/heads/master-reduced-size.zip - deepdiff - jsonpickle - ordered_set - pyparsing - xmlschema - elementpath - six - lark-parser - parse - parse_type - xlsxwriter - odfpy - defusedxml - jmespath - ifcjson +The BlenderBIM Add-on is a non-trivial add-on. By turning Blender into a +graphical front-end to a native IFC authoring platform, some fundamental Blender +features (such as hotkeys for basic functionality like object deletion or +duplication) have been patched and many dependencies have been introduced. -Notes: +Other add-ons may no longer work as intended when the BlenderBIM Add-on is +enabled, or vice versa, the BlenderBIM Add-on may no longer work as intended +when other add-ons are enabled. -1. ``ifcopenshell`` almost always requires the latest version due to the fast paced nature of the add-on development. -2. ``ifcjson`` can be found `here `__. +Known scenarios which will lead to add-on incompatibility include: -Required static assets are: -:: - - bim/data/gantt/jsgantt.js (from jsgantt-improved) - bim/data/gantt/jsgantt.css (from jsgantt-improved) +- The add-on also overrides the same hotkeys. For example, if an add-on + overrides the "X" key to delete an object, you will need to manually trigger + (either via menu or custom hotkey) the BlenderBIM Add-on equivalent operator + (e.g. IFC Delete). +- The add-on uses object deletion or duplication macros with dictionary + override. Note that this is also deprecated in Blender, so the other add-on + should be updated to fix this. +- The add-on requires a conflicting dependency, or a conflicting version of the + same dependency. Neither add-on may work simultaneously. diff --git a/src/blenderbim/docs/devs/system_support.rst b/src/blenderbim/docs/devs/system_support.rst deleted file mode 100644 index 9d8519e7b3..0000000000 --- a/src/blenderbim/docs/devs/system_support.rst +++ /dev/null @@ -1,45 +0,0 @@ -System support -============== - -The BlenderBIM Add-on officially supports all major 64-bit platforms, as well as -the Python version shipped by the Blender Foundation for the most recent three -major Blender versions: - -- 64-bit Linux on Python 3.10 -- 64-bit Linux on Python 3.11 -- 64-bit MacOS Intel on Python 3.10 -- 64-bit MacOS Intel on Python 3.11 -- 64-bit MacOS Silicon on Python 3.10 -- 64-bit MacOS Silicon on Python 3.11 -- 64-bit Windows on Python 3.10 -- 64-bit Windows on Python 3.11 - -Note that developer builds may exist for older versions of Python but there will -be no guarantee of the uptime or stability of these builds. - -Other system specifications match the `Blender Requirements -`_. - -Add-on compatibility --------------------- - -The BlenderBIM Add-on is a non-trivial add-on. By turning Blender into a -graphical front-end to a native IFC authoring platform, some fundamental Blender -features (such as hotkeys for basic functionality like object deletion or -duplication) have been patched and many dependencies have been introduced. - -Other add-ons may no longer work as intended when the BlenderBIM Add-on is -enabled, or vice versa, the BlenderBIM Add-on may no longer work as intended -when other add-ons are enabled. - -Known scenarios which will lead to add-on incompatibility include: - -- The add-on also overrides the same hotkeys. For example, if an add-on - overrides the "X" key to delete an object, you will need to manually trigger - (either via menu or custom hotkey) the BlenderBIM Add-on equivalent operator - (e.g. IFC Delete). -- The add-on uses object deletion or duplication macros with dictionary - override. Note that this is also deprecated in Blender, so the other add-on - should be updated to fix this. -- The add-on requires a conflicting dependency, or a conflicting version of the - same dependency. Neither add-on may work simultaneously. diff --git a/src/blenderbim/docs/index.rst b/src/blenderbim/docs/index.rst index 656fc58a5a..ab9bca4ad2 100644 --- a/src/blenderbim/docs/index.rst +++ b/src/blenderbim/docs/index.rst @@ -193,11 +193,6 @@ suggesting new features, or contributing code, your involvement is highly encour :doc:`/devs/running_tests` Testing and quality assurance. - .. container:: card - - :doc:`/devs/system_support` - Multiplatform compatibility. - .. container:: card :doc:`/devs/ux_guidelines` @@ -216,5 +211,4 @@ suggesting new features, or contributing code, your involvement is highly encour devs/undo_system devs/code_style devs/running_tests - devs/system_support devs/ux_guidelines diff --git a/src/blenderbim/scripts/installation/dev_environment.bat b/src/blenderbim/scripts/installation/dev_environment.bat index bf7da943e4..32393cbc50 100644 --- a/src/blenderbim/scripts/installation/dev_environment.bat +++ b/src/blenderbim/scripts/installation/dev_environment.bat @@ -1,70 +1,57 @@ @echo off echo SETUP BLENDERBIM ADD-ON LIVE DEVELOPMENT ENVIRONMENT -echo Update BLENDER, BLENDER_VERSION, PYTHON_VERSION, BBIM_REPO, BLENDER_USER_NAME in the script bellow. -echo Put the script at the root of your IfcOpenShell git repository +echo Update REPO_PATH, BLENDER_PATH, PACKAGE_PATH, BLENDERBIM_PATH in the script below. echo This script needs to be run as administrator (to create symbolic links) echo Make sure you have followed these steps before proceeding :) pause -SET BLENDER_VERSION=4.2 -SET PYTHON_VERSION=3.11 -SET BBIM_REPO=user_default -rem Can be useful e.g. if you're running script from administrator account -rem and need to setup dev environment for some other user. -SET BLENDER_USER_NAME=%USERNAME% +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.2 +SET PACKAGE_PATH=%BLENDER_PATH%\extensions\.local\lib\python3.11\site-packages +SET BLENDERBIM_PATH=%BLENDER_PATH%\extensions\user_default\blenderbim -SET BLENDER=%HOMEDRIVE%\Users\%BLENDER_USER_NAME%\AppData\Roaming\Blender Foundation\Blender\%BLENDER_VERSION% -SET BLENDER_LOCAL=%BLENDER%\extensions\.local\lib\python%PYTHON_VERSION%\site-packages -SET BLENDERBIM=%BLENDER_LOCAL%\blenderbim -SET BLENDER_EXT=%BLENDER%\extensions\%BBIM_REPO%\blenderbim - -echo Removing the Blender add-on Python code... -del "%BLENDER_EXT%\__init__.py" -rd /S /Q "%BLENDERBIM%" - -echo Replacing them with links to the Git repository... -mklink "%BLENDER_EXT%\__init__.py" "%CD%\src\blenderbim\blenderbim\__init__.py" -mklink /D "%BLENDERBIM%" "%CD%\src\blenderbim\blenderbim" +echo Changing to the Git repository directory... +cd %REPO_PATH% echo Copy over compiled IfcOpenShell files... -copy "%BLENDER_LOCAL%\ifcopenshell\*_wrapper*" "%CD%\src\ifcopenshell-python\ifcopenshell\" +copy "%PACKAGE_PATH%\ifcopenshell\*_wrapper*" "%CD%\src\ifcopenshell-python\ifcopenshell\" -echo Remove the IfcOpenShell dependency... -rd /S /Q "%BLENDER_LOCAL%\ifcopenshell" +echo Remove extension and link to Git... +del "%BLENDERBIM_PATH%\__init__.py" +rd /S /Q "%PACKAGE_PATH%\blenderbim" +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" -echo Replace them with links to the Git repository... -mklink /D "%BLENDER_LOCAL%\ifcopenshell" "%CD%\src\ifcopenshell-python\ifcopenshell" - -echo Remove and link other IfcOpenShell utilities... -del "%BLENDER_LOCAL%\ifccsv.py" -del "%BLENDER_LOCAL%\ifcdiff.py" -del "%BLENDER_LOCAL%\bsdd.py" -rd /S /Q "%BLENDER_LOCAL%\bcf" -rd /S /Q "%BLENDER_LOCAL%\ifc4d" -rd /S /Q "%BLENDER_LOCAL%\ifc5d" -rd /S /Q "%BLENDER_LOCAL%\ifccityjson" -rd /S /Q "%BLENDER_LOCAL%\ifcclash" -rd /S /Q "%BLENDER_LOCAL%\ifcpatch" -rd /S /Q "%BLENDER_LOCAL%\ifctester" -rd /S /Q "%BLENDER_LOCAL%\ifcfm" - -mklink "%BLENDER_LOCAL%\ifccsv.py" "%CD%\src\ifccsv\ifccsv.py" -mklink "%BLENDER_LOCAL%\ifcdiff.py" "%CD%\src\ifcdiff\ifcdiff.py" -mklink "%BLENDER_LOCAL%\bsdd.py" "%CD%\src\bsdd\bsdd.py" -mklink /D "%BLENDER_LOCAL%\bcf" "%CD%\src\bcf\bcf" -mklink /D "%BLENDER_LOCAL%\ifc4d" "%CD%\src\ifc4d\ifc4d" -mklink /D "%BLENDER_LOCAL%\ifc5d" "%CD%\src\ifc5d\ifc5d" -mklink /D "%BLENDER_LOCAL%\ifccityjson" "%CD%\src\ifccityjson\ifccityjson" -mklink /D "%BLENDER_LOCAL%\ifcclash" "%CD%\src\ifcclash\ifcclash" -mklink /D "%BLENDER_LOCAL%\ifcpatch" "%CD%\src\ifcpatch\ifcpatch" -mklink /D "%BLENDER_LOCAL%\ifctester" "%CD%\src\ifctester\ifctester" -mklink /D "%BLENDER_LOCAL%\ifcfm" "%CD%\src\ifcfm\ifcfm" +mklink "%BLENDERBIM_PATH%\__init__.py" "%CD%\src\blenderbim\blenderbim\__init__.py" +mklink /D "%PACKAGE_PATH%\blenderbim" "%CD%\src\blenderbim\blenderbim" +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 "%BLENDERBIM%\bim\data\gantt\jsgantt.js" -curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css -o "%BLENDERBIM%\bim\data\gantt\jsgantt.css" -curl -L https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl -o "%BLENDERBIM%\bim\schema\Brick.ttl" +curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js -o "%PACKAGE_PATH%\blenderbim\bim\data\gantt\jsgantt.js" +curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css -o "%PACKAGE_PATH%\blenderbim\bim\data\gantt\jsgantt.css" +curl -L https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl -o "%PACKAGE_PATH%\blenderbim\bim\schema\Brick.ttl" pause diff --git a/src/blenderbim/scripts/installation/dev_environment.sh b/src/blenderbim/scripts/installation/dev_environment.sh index fa1e6cd8f4..c639fe1830 100644 --- a/src/blenderbim/scripts/installation/dev_environment.sh +++ b/src/blenderbim/scripts/installation/dev_environment.sh @@ -1,60 +1,52 @@ -git clone https://github.com/IfcOpenShell/IfcOpenShell.git -cd IfcOpenShell +# Please update REPO_PATH, BLENDER_PATH, PACKAGE_PATH, BLENDERBIM_PATH in the script below. +# Default BLENDER_PATH on Mac: "/Users/$USER/Library/Application Support/Blender/4.2/" +# Default BLENDER_PATH on Linux: "$HOME/.config/blender/4.2/" +# REPO_PATH="/path/to/where/your/git/repository/is/cloned/IfcOpenShell" +REPO_PATH="/home/dion/Projects/ifcopenshell/" +BLENDER_PATH="${HOME}/.config/blender/4.2" +PACKAGE_PATH="${BLENDER_PATH}/extensions/.local/lib/python3.11/site-packages" +BLENDERBIM_PATH="${BLENDER_PATH}/extensions/user_default/blenderbim" -# path to BlenderBIM addon -# default path on Mac: "/Users/$USER/Library/Application Support/Blender/X.X/scripts/addons/blenderbim" -# default path on Linux: "$HOME/.config/blender/X.X/" -BLENDER_ADDON_PATH="/path/to/blender/X.XX/scripts/addons/blenderbim" - -# Remove the Blender add-on Python code -rm -r $BLENDER_ADDON_PATH/core/ -rm -r $BLENDER_ADDON_PATH/tool/ -rm -r $BLENDER_ADDON_PATH/bim/ - -# Replace them with links to the Git repository -ln -s $PWD/src/blenderbim/blenderbim/core $BLENDER_ADDON_PATH/core -ln -s $PWD/src/blenderbim/blenderbim/tool $BLENDER_ADDON_PATH/tool -ln -s $PWD/src/blenderbim/blenderbim/bim $BLENDER_ADDON_PATH/bim +# Changing to the Git repository directory +cd $REPO_PATH # Copy over compiled IfcOpenShell files -cp $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell/*_wrapper* $PWD/src/ifcopenshell-python/ifcopenshell/ +cp $PACKAGE_PATH/ifcopenshell/*_wrapper* $PWD/src/ifcopenshell-python/ifcopenshell/ -# Remove the IfcOpenShell dependency -rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell +# Remove extension and link to Git +rm $BLENDERBIM_PATH/__init__.py +rm -r $PACKAGE_PATH/blenderbim +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 -# Replace them with links to the Git repository -ln -s $PWD/src/ifcopenshell-python/ifcopenshell $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell - -# Remove and link other IfcOpenShell utilities -rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifccsv.py -rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcdiff.py -rm -r $BLENDER_ADDON_PATH/libs/site/packages/bsdd.py -rm -r $BLENDER_ADDON_PATH/libs/site/packages/bcf -rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifc4d -rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifc5d -rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifccityjson -rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcclash -rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcpatch -rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifctester -rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcfm -rm -r $BLENDER_ADDON_PATH/libs/Desktop - -ln -s $PWD/src/ifccsv/ifccsv.py $BLENDER_ADDON_PATH/libs/site/packages/ifccsv.py -ln -s $PWD/src/ifcdiff/ifcdiff.py $BLENDER_ADDON_PATH/libs/site/packages/ifcdiff.py -ln -s $PWD/src/bsdd/bsdd.py $BLENDER_ADDON_PATH/libs/site/packages/bsdd.py -ln -s $PWD/src/bcf/bcf $BLENDER_ADDON_PATH/libs/site/packages/bcf -ln -s $PWD/src/ifc4d/ifc4d $BLENDER_ADDON_PATH/libs/site/packages/ifc4d -ln -s $PWD/src/ifc5d/ifc5d $BLENDER_ADDON_PATH/libs/site/packages/ifc5d -ln -s $PWD/src/ifccityjson/ifccityjson $BLENDER_ADDON_PATH/libs/site/packages/ifccityjson -ln -s $PWD/src/ifcclash/ifcclash $BLENDER_ADDON_PATH/libs/site/packages/ifcclash -ln -s $PWD/src/ifcpatch/ifcpatch $BLENDER_ADDON_PATH/libs/site/packages/ifcpatch -ln -s $PWD/src/ifctester/ifctester $BLENDER_ADDON_PATH/libs/site/packages/ifctester -ln -s $PWD/src/ifcfm/ifcfm $BLENDER_ADDON_PATH/libs/site/packages/ifcfm -ln -s $PWD/src/blenderbim/blenderbim/libs/desktop $BLENDER_ADDON_PATH/libs/Desktop +ln -s $PWD/src/blenderbim/blenderbim/__init__.py $BLENDERBIM_PATH/__init__.py +ln -s $PWD/src/blenderbim/blenderbim $PACKAGE_PATH/blenderbim +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 $BLENDER_ADDON_PATH/bim/data/gantt +cd $PACKAGE_PATH/blenderbim/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 $BLENDER_ADDON_PATH/bim/schema +cd $PACKAGE_PATH/blenderbim/bim/schema wget https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl