tslater2006 / Pivet

Peoplesoft Versioning Tool
MIT License
21 stars 5 forks source link

Linux support #8

Closed ripleymj closed 6 years ago

ripleymj commented 6 years ago

I tried running this on Linux, and hit an issue on the patched line in ProfileRunner. For some reason, it seems to try to load something in System.Runtime.Remoting and throws an exception. Adding the extra Where() prevents it from wandering outside the Pivet assembly, which I think is inline with your intentions.

I'd also never tried DotNet on Linux, so a few markdown notes are included.

tslater2006 commented 6 years ago

Thanks for the linux notes. Regarding the patch to restrict the assemblies, I think it's close. However you'll see here that Pivet will try to load .dll files inside a "plugins" folder. The intent here is that Pivet can load 3rd party libraries and allow for other people to create their own implementations of IDataProcessor. So restricting only to the Pivet assembly would prevent their processors from being discovered.

Instead Pivet should keep a list of those loaded assemblies (along with itself) and restrict the search to assemblies in that list.

ripleymj commented 6 years ago

I'll try to catch you on slack tomorrow to discuss further. I hit some strange error when it walks through System.Runtime.Remoting, and I gave up trying to filter that out, and went this way.

tslater2006 commented 6 years ago

Merged, thanks for the contribution :)

ripleymj commented 6 years ago

I backed out the change, ran it, added a bit of debugging, and reran. Here's what I see on RHEL: https://gist.github.com/ripleymj/d5f6003d65b0dc12f28d087073c00195