rules_dotnet
rules_dotnet copied to clipboard
Support for "host" toolchain
Bazel rules for go support using a "host" toolchain, that is, whatever toolchain is invoked by "go" command found in system path.
Is it possible for rules dotnet support the same functionality, that is run whatever toolchain is invoked by "dotnet" commadn found in system path?
It is not possible.
Most languages are roughly the same when compilation is concerned.
For example, this clearly works:
-
dotnet --info
to get the active framework path -
dotnet <framework path>/Roslyn/bincore/csc.dll
to invoke the compiler
To elaborate a bit more: when building in all sorts of constrained environments, simply assuming something can be downloaded as needed is not an option.
On the other hand:
- The sdk download results in a tree layout rather identical to what is installed out of the box by OS supplied dotnet core package
- Bazel is capable of attaching the workspace and build files to any sort of "local repository" out of that repo tree
This sort of makes using the host dotnet core install look like a non-insurmountable task.
Moreover, MS dotnet core team is pretty responsive and we can actually ask them to change things here and there. :-)
I think adding support for this in the next
branch should be a small task. Keeping this open for tracking this.
Doing some issue cleanup. Closing this since I don't plan on adding this but would be open to an contribution. If you still need this then feel free to reopen.