ynput / ayon-core

Apache License 2.0
22 stars 30 forks source link

Chore: Addon version #585

Closed iLLiCiTiT closed 1 month ago

iLLiCiTiT commented 1 month ago

Changelog Description

AYONAddonc class now have option to specify addon version.

Additional info

Version by default returns "0.0.0" and prints warning. Added versions to some addons living inside ayon core. The version is also printed to report and logged out. Publish report should show addon versions used.

Testing notes:

  1. All should work as usual.
  2. When tray is started addon versions shold be printed out, and addons with missing version should be printed.
BigRoy commented 1 month ago

This is the log on Ayon console in launcher:

------------------+-------+--------------+---------+---------------+---------+------------+-----
Addon name        |Version|Initialization|Tray init|Connect modules|Tray menu|Addons start|Total
------------------+-------+--------------+---------+---------------+---------+------------+-----
aftereffects      |0.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
applications      |0.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
ayon_ocio         |1.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
ayon_third_party  |1.0.0  |0.000         |0.000    |0.000          |0.000    |0.035       |0.035
blender           |0.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
colorbleed        |0.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
deadline          |0.1.12 |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
fusion            |0.2.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
hiero             |0.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
houdini           |0.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
job_queue         |1.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
launcher_tool     |1.0.0  |0.000         |0.401    |0.000          |0.000    |0.000       |0.401
loader_tool       |1.0.0  |0.000         |0.171    |0.000          |0.000    |0.000       |0.171
maya              |0.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
python_interpreter|1.0.0  |0.000         |0.024    |0.000          |0.001    |0.000       |0.025
resolve           |0.2.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
royalrender       |0.1.1  |0.000         |N/A      |N/A            |N/A      |N/A         |0.000
substancepainter  |0.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
timers_manager    |0.1.1  |0.000         |N/A      |N/A            |N/A      |N/A         |0.000
traypublisher     |0.0.0  |0.001         |0.000    |0.001          |0.000    |0.000       |0.002
unreal            |0.0.0  |0.000         |N/A      |0.000          |N/A      |N/A         |0.000
webserver         |1.0.0  |0.001         |0.420    |0.000          |0.013    |0.001       |0.435
------------------+-------+--------------+---------+---------------+---------+------------+-----
Total             |(22)   |0.002         |1.016    |0.001          |0.014    |0.036       |1.069

This is in the logs for the AYON Addons collector:

DEBUG: *** AYON addons initialization.
DEBUG: [X] applications (0.0.0)
DEBUG: Addon 'OCIODistModule' is inherited from 'OpenPypeModule'. Please use 'AYONAddon'.
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: Addon 'ThirdPartyDistAddon' is inherited from 'OpenPypeModule'. Please use 'AYONAddon'.
DEBUG: [X] ayon_third_party (1.0.0)
DEBUG: [X] colorbleed (0.0.0)
DEBUG: [X] fusion (0.2.0)
DEBUG: [X] maya (0.0.0)
DEBUG: [X] resolve (0.2.0)
DEBUG: [X] substancepainter (0.0.0)
DEBUG: [X] traypublisher (0.0.0)
DEBUG: [X] deadline (0.1.12)
DEBUG: [X] job_queue (1.0.0)
DEBUG: [X] launcher_tool (1.0.0)
DEBUG: [X] loader_tool (1.0.0)
DEBUG: [X] python_interpreter (1.0.0)
DEBUG: [ ] royalrender (0.1.1)
DEBUG: [ ] timers_manager (0.1.1)
DEBUG: [X] webserver (1.0.0)
DEBUG: [X] aftereffects (0.0.0)
DEBUG: [X] blender (0.0.0)
DEBUG: [X] hiero (0.0.0)
DEBUG: [X] houdini (0.0.0)
DEBUG: [X] unreal (0.0.0)
DEBUG: Has 20 enabled modules.

So both seem to work. But with Houdini and Maya addons with moved client code also being merged into develop currently it may be good to port the add versions on them as well, either in this PR or separate PRs.

Also, seems incorrect that these logged here in the second log aren't sorted alphabetically?

iLLiCiTiT commented 1 month ago

either in this PR or separate PRs.

Agree, wanted to touch only ayon-core code in this PR.

Also, seems incorrect that these logged here in the second log aren't sorted alphabetically?

Changed.

BigRoy commented 1 month ago

Also, seems incorrect that these logged here in the second log aren't sorted alphabetically?

Changed.

Seems you broke something. I get a lot of duplicate entries now :) This is a single output:

DEBUG: *** AYON addons initialization.
DEBUG: [X] applications (0.0.0)
DEBUG: Addon 'OCIODistModule' is inherited from 'OpenPypeModule'. Please use 'AYONAddon'.
DEBUG: [X] applications (0.0.0)
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: Addon 'ThirdPartyDistAddon' is inherited from 'OpenPypeModule'. Please use 'AYONAddon'.
DEBUG: [X] applications (0.0.0)
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: [X] ayon_third_party (1.0.0)
DEBUG: [X] applications (0.0.0)
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: [X] ayon_third_party (1.0.0)
DEBUG: [X] colorbleed (0.0.0)
DEBUG: [X] applications (0.0.0)
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: [X] ayon_third_party (1.0.0)
DEBUG: [X] colorbleed (0.0.0)
DEBUG: [X] fusion (0.2.0)
DEBUG: [X] applications (0.0.0)
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: [X] ayon_third_party (1.0.0)
DEBUG: [X] colorbleed (0.0.0)
DEBUG: [X] fusion (0.2.0)
DEBUG: [X] houdini (0.0.0)
DEBUG: [X] applications (0.0.0)
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: [X] ayon_third_party (1.0.0)
DEBUG: [X] colorbleed (0.0.0)
DEBUG: [X] fusion (0.2.0)
DEBUG: [X] houdini (0.0.0)
DEBUG: [X] maya (0.0.0)
DEBUG: [X] applications (0.0.0)
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: [X] ayon_third_party (1.0.0)
DEBUG: [X] colorbleed (0.0.0)
DEBUG: [X] fusion (0.2.0)
DEBUG: [X] houdini (0.0.0)
DEBUG: [X] maya (0.0.0)
DEBUG: [X] resolve (0.2.0)
DEBUG: [X] applications (0.0.0)
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: [X] ayon_third_party (1.0.0)
DEBUG: [X] colorbleed (0.0.0)
DEBUG: [X] fusion (0.2.0)
DEBUG: [X] houdini (0.0.0)
DEBUG: [X] maya (0.0.0)
DEBUG: [X] resolve (0.2.0)
DEBUG: [X] substancepainter (0.0.0)
DEBUG: [X] applications (0.0.0)
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: [X] ayon_third_party (1.0.0)
DEBUG: [X] colorbleed (0.0.0)
DEBUG: [X] fusion (0.2.0)
DEBUG: [X] houdini (0.0.0)
DEBUG: [X] maya (0.0.0)
DEBUG: [X] resolve (0.2.0)
DEBUG: [X] substancepainter (0.0.0)
DEBUG: [X] traypublisher (0.0.0)
DEBUG: [X] aftereffects (0.0.0)
DEBUG: [X] applications (0.0.0)
DEBUG: [X] ayon_ocio (1.0.0)
DEBUG: [X] ayon_third_party (1.0.0)
... and more and more :)
DEBUG: Has 20 enabled modules.

Hehe. Fix is here: https://github.com/ynput/ayon-core/pull/585#discussion_r1624624060