armory3d / armsdk

Single-clone Armory SDK
38 stars 30 forks source link

Implement basic addon reloading and correctly update armory.py #26

Closed MoritzBrueckner closed 3 years ago

MoritzBrueckner commented 3 years ago

Linked to https://github.com/armory3d/armory/pull/2298. This fixes https://github.com/armory3d/armory/issues/2223.

Apart from the changes already described in the linked PR, this PR will update armory.py according to the current SDK when the SDK is started (on Blender startup and SDK path changes) and when the Update SDK operator is executed. This happens via symlinking it to the armory.py in the SDK folder. Unfortunately, it still needs a reload for this to take effect, but the reload operator should also work here.

I would appreciate if someone with Linux or MacOS would test this, but the Python documentation doesn't state important OS related differences of the used functions, so I guess there won't be any bad suprises.

Also, the Python modules inside SDK/armory are now properly unloaded if the add-on is deactivated.

Edit: the failed CI is fixed at https://github.com/armory3d/armory/pull/2299, maybe merge this first to make sure everything works again.

ItsCubeTime commented 3 years ago

🎉Youre awesome timodriaan