ynput / ayon-core

Apache License 2.0
25 stars 31 forks source link

Move houdini client code #516

Closed MustafaJafar closed 3 months ago

MustafaJafar commented 3 months ago

Changelog Description

Move Houdini client code.. This is one more step towards splitting addons to their repos.

Additional info

Additional info 2

I don't think that settings are applied correctly in the publish plugins. Any advice are much appreciated.

Testing notes:

  1. Update the Houdini addon on server.
  2. Launch Houdini via ayon launcher
  3. Everything should work as usual
    • Create / Publish
    • Manage / Load
    • Work Files tool
    • etc
ynbot commented 3 months ago

Task linked: AY-4916 Move Houdini client code

MustafaJafar commented 3 months ago

@iLLiCiTiT each plugins category like (load, collect, validate, publish) doesn't have a parent abstract class. So, I had to add settings_category = "houdini" to each plugin https://github.com/ynput/ayon-core/pull/516/commits/9e865566dbb6675771a4bed3ad18a5914c902d80.. I find it tedious.

Also, I faced a problem with ValidateContainers how can I add the settings_category to it.

are there other solutions ?

iLLiCiTiT commented 3 months ago

Also, I faced a problem with ValidateContainers how can I add the settings_category to it.

So if I understand it correctly, the plugin lives in core, but houdin settings are applied to it. In that case please make a copy of the plugin in houdini and remove "houdini" from the hosts list inside core.

BigRoy commented 3 months ago

So if I understand it correctly, the plugin lives in core, but houdin settings are applied to it. In that case please make a copy of the plugin in houdini and remove "houdini" from the hosts list inside core.

Note that this is also true for harmony, after effects, photoshop, maya - they all have settings for this validator it seems but no dedicated plug-in. I wonder if this isn't a case that might be better suited to use profiles instead?

MustafaJafar commented 3 months ago

I made a PR https://github.com/ynput/ayon-core/pull/536 to this PR to add settings category for all plugins by default. The main reason creating such a PR is that I find it's so tedious to add settings_category = "houdini" to all publish plugins.

moonyuet commented 3 months ago

@MustafaJafar can you resolve the conflict? And should we wait for other PR related to setting_category in order to test this?

MustafaJafar commented 3 months ago

Hello @moonyuet ,

can you resolve the conflict?

I've resolved the conflicts and merged latest develop.

should we wait for other PR related to setting_category in order to test this?

This PR should be working without other PRs as I added setting_category = "houdini" inside the publish plugins that have settings. The other PR is discussing adding setting_category in a generalized way by implementing base classes so we don't have to add settings_category in each plugin.

BigRoy commented 3 months ago

This PR should be working without other PRs as I added setting_category = "houdini" inside the publish plugins that have settings. The other PR is discussing adding setting_category in a generalized way by implementing base classes so we don't have to add settings_category in each plugin.

I made a PR #536 to this PR to add settings category for all plugins by default. The main reason creating such a PR is that I find it's so tedious to add settings_category = "houdini" to all publish plugins.

@MustafaJafar let's get those plugins in here similar to what happened in the Maya addon code move - just so we align the code style a bit - see the Maya PR and then do another test run.

MustafaJafar commented 3 months ago

After merging https://github.com/ynput/ayon-core/pull/536, this PR became aligned to the Maya PR.


I tested my PR and everything seems to function as it used to before this PR. FYI, I see this warnings when publishing render to deadline.

*** WRN: >>> { AnatomyRoots }: [  No matching root was found in current setting.  ] 
*** WRN: >>> { farm_publishing }: [  Root from template path cannot be found: C:\Users\Mustafa Taher\AppData\Local\Ynput\AYON\addons\ayon_ocio_1.0.0\ayon_ocio\configs\OpenColorIOConfigs\aces_1.2\config.ocio  ] 

Also, a lot of warnings which is really annoying because they are printed to the Houdini console.

*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractUSDLayered' settings under settings category 'houdini'  ] 
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractAss' settings under settings category 'houdini'  ] 
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractFBX' settings under settings category 'houdini'  ] 
MustafaJafar commented 3 months ago

Thank you for your review.

I also tested to see if there is any issue with extract fbx as the log above shows the possibility of plugin being "disappeared" as it can't be found in the setting category

Also, for reference. that log is just a warning about there are no settings for that plugin. The warning is coming from these lines. In my opinion, it should be tweaked.

https://github.com/ynput/ayon-core/blob/242bc8796b453e92eb866d0fb785d80256cd82a0/client/ayon_core/pipeline/publish/lib.py#L337-L350