Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamo_Toolkit: block copying Autodesk assemblies over to Dynamo folders #223

Open
pawelbaran opened this issue Apr 6, 2020 · 6 comments
Labels
type:bug Error or unexpected behaviour type:question Ask for further details or start conversation

Comments

@pawelbaran
Copy link
Member

pawelbaran commented Apr 6, 2020

Description:

Today I again ran into issues caused by the fact that one the Autodesk assemblies got copied over to my Dynamo folder, causing an issue that would not have been spotted during the Beta tests (it broke Python editor by disallowing it to load Autodesk assemblies).

Although this time it was evidently my error, I can see this being a boomerang, hard to spot problem - I thought we could introduce some blacklist on postbuild/installer to disallow Autodesk stuff being copied over to Dynamo under any condition?

What do you think @adecler @FraserGreenroyd @al-fisher?

@pawelbaran pawelbaran added type:bug Error or unexpected behaviour type:question Ask for further details or start conversation labels Apr 6, 2020
@FraserGreenroyd
Copy link
Contributor

All DLLs should be set to copy local false by default @pawelbaran which would include any AutoDesk DLLs from AutoDesk adapter toolkits - do you know which toolkit isn't following the convention and leaking AutoDesk DLLs into the build?

@pawelbaran
Copy link
Member Author

As mentioned above, this was caused by an error on my end (most likely legacy from Revit_Toolkit setup for 2020). Setting all copy local to false and keeping the Build folders free of legacy eliminate the risk, but:

  • one may forget about setting copy local to false
  • one may forget about cleaning up the Build folder (me being a prime example here)

Not sure if I am comfortable with depending the functionality of one of our core UIs to such conditions. Having said that, CI could possibly check the copy local (or it already does?) - this would lower the risk to acceptable levels I think.

@FraserGreenroyd
Copy link
Contributor

  • one may forget about setting copy local to false

This is a developer issue then, however, there is CI which checks for it (though I'm not sure if it's working 100% - see BHoM/Test_Toolkit#211 - I can run a report to check all toolkits as a CI thing to make sure we're doing ok on this if we think other toolkits might have problems?

  • one may forget about cleaning up the Build folder (me being a prime example here)

This is also a developer based issue, unfortunately we cannot prescribe every which way a DLL might end up in the Dynamo folder 😞

Not sure if I am comfortable with depending the functionality of one of our core UIs to such conditions. Having said that, CI could possibly check the copy local (or it already does?) - this would lower the risk to acceptable levels I think.

(See above, think this is done but may not be turned on, see issue)

I would say though that if this is purely a developer based problem (i.e. those of us building from scratch) then this is less of an issue because the installers should be ok for most users?

There are issues open on the installer to make sure folders are empty before installing as well which may also resolve the issue.

Apologies if I've misunderstood something though, but I generally do not feel that this particular issue is one within Dynamo_Toolkit's scope itself?

@pawelbaran
Copy link
Member Author

Yeah, not sure myself either, therefore a question label - raised in Dynamo_Toolkit since most of (all?) other toolkits are not so sensitive, so this sounded as the best place.

Of course, we as developers should do our best to avoid errors, but what pushed me to raising this issue is the fact that even a minor mistake in a very remote project (think of Civil3D) may cause a serious problem with Dynamo. Assumption that developers do not make mistakes does not make me 100% comfortable 🐒 Therefore an idea of blacklisting all Autodesk-related stuff (even by assembly signature?) - if that was easy, then why not?

@FraserGreenroyd
Copy link
Contributor

My concern is that it is not easy to blacklist AutoDesk and would require us to keep updating the blacklist as AutoDesk come out with more DLLs. This is in contrast of our current guidelines/CI checks which should prevent us from setting copy local to true anyhow.

The other part of the question of course is, if it is a minor mistake in a remote project, is it worth the resource to try and resolve, when the very easy solution is to remind people not to copy AutoDesk DLL's on their builds 😛

Be worth seeing what @adecler or @al-fisher thoughts are as well 😄

@adecler
Copy link
Member

adecler commented Apr 7, 2020

I tend to agree with @FraserGreenroyd here.

There is only a few repos that can put Dynamo at risk so the simplest might just be to have an auto reminder comment on each PR from those repos to make sure all Autodesk dll are copy local false. We could even limit that comment to PRs that change a project file to be less annoying.

@adecler adecler self-assigned this Sep 25, 2020
@adecler adecler removed their assignment Jan 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Error or unexpected behaviour type:question Ask for further details or start conversation
Projects
None yet
Development

No branches or pull requests

3 participants