BHoM / Mongo_Toolkit

GNU Lesser General Public License v3.0
2 stars 3 forks source link

Mongo_Adapter: postbuild events to only include mongo-related DLLs #162

Closed alelom closed 2 years ago

alelom commented 2 years ago

Issues addressed by this PR

Closes #161

The build events in Mongo_Adapter include non-mongo DLLs copies, which can cause compilation errors (see #161), because of this line:

xcopy "$(TargetDir)*.dll"  "C:\ProgramData\BHoM\Assemblies"

This PR updates build events of Mongo_Adapter to only include mongo-related DLLs.

Test files

Testing only requires compiling and using any existing Mongo_Toolkit script to check that it is working, e.g. script found in #160 .

Changelog

Updated build events of Mongo_Adapter to only include mongo-related DLLs.

Additional comments

FraserGreenroyd commented 2 years ago

@alelom which DLL in particular was causing an issue? I would have though compilation errors would be picked up by the bot in installer runs, and if it's copy-local BHoM DLLs which shouldn't be there, then we should restore compliance of the CSProject files rather than change the post-build event?

alelom commented 2 years ago

@FraserGreenroyd For me, it's the overriding of BHoM_Adapter and BHoM_Engine DLLS that was causing issues. I still cannot understand fully why, but every time I compile Mongo_Toolkit, then other solutions that are referencing those two projects fail to find the references correctly and display a warning sign.

Edit: I think it could be because I had some old local copies of BHoM_Adapter and BHoM_Engine in the Build folder of Mongo_Toolkit, likely from a time when they were copied there due to an incorrect copy local: True (it's now on False). I still do not see why Mongo should risk copying over/overriding everything that it references - I think it should explicitly copy only what it needs. I thought that using the * in the PostBuild Events was actually non compliant?

FraserGreenroyd commented 2 years ago

@alelom the default postbuild event to copy everything is the compliant version, because generally the only things going into the build folder should be the DLLs the toolkit needs so copying everything should be sufficient?

alelom commented 2 years ago

True - then up to you to decide, just close this PR if you think it's not useful. @FraserGreenroyd