nunit-console icon indicating copy to clipboard operation
nunit-console copied to clipboard

Eliminate use of default addins files for locating extensions.

Open CharliePoole opened this issue 4 months ago • 0 comments

Each of our console packages is distributed with an addins file in the engine directory. The file is used to find extensions that use our default naming pattern in one or more default locations. The content is slightly different for each package type, i.e. nuget vs chocolatey, but the structure of the paths contained is quite similar.

This issue proposes to replace the user of default addins files with an algorithmic approach. That is, code in ExtensionManager would incorporate the logic needed to look for extensions in the same places as our default files, which would no longer be distributed. We would, however, continue to use any addins files found, since users may continue to create them.

Addins file are very useful for adding extensions on an adhoc basis, so we will continue to use them. However, an algorithmic approach has a two main advantages...

  • Users will no longer be tempted to erroneously change our distributed addins files.
  • This approach is more extensible. For example, it will allow us to walk through all parent directories searching for extensions at a higher level. This is essential to use of extensions in standalone executables and is the primary reason for making the change at this time (see #488).

@OsirisTerje @NUnit Comments please?

CharliePoole avatar Oct 21 '24 18:10 CharliePoole