Logo Partas.TypeProvider

Partas.TypeProvider.BuildHelper.Runtime Namespace

Modules Description

Git (Module)

Reading of git repository state for the type provider. Structure - ref, remote and submodule *names* - is read straight out of the `.git` directory at design time, so expanding the provided types never spawns a process. Volatile values - shas, dirtiness, anything needing object or history traversal - are deferred to the `Runtime` module, which shells out to `git` in the consuming program instead.

Git (Module)

Reading of git repository state for the type provider. Structure - ref, remote and submodule *names* - is read straight out of the `.git` directory at design time, so expanding the provided types never spawns a process. Volatile values - shas, dirtiness, anything needing object or history traversal - are deferred to the `Runtime` module, which shells out to `git` in the consuming program instead.

Proc (Module)

Running of external command line tools. Shared by the providers that answer questions the compiler cannot answer alone - git state, MSBuild evaluation - without taking a library dependency on the tool. Nothing here throws: a missing executable, a timeout or a crash all surface as `None`, because a provider that throws takes the whole provided type down with it.

Proc (Module)

Running of external command line tools. Shared by the providers that answer questions the compiler cannot answer alone - git state, MSBuild evaluation - without taking a library dependency on the tool. Nothing here throws: a missing executable, a timeout or a crash all surface as `None`, because a provider that throws takes the whole provided type down with it.

Project (Module)

Reading of MSBuild project structure for the type provider. The same split as `Git`: structure - which projects exist, where they live - is read from the solution file or the directory tree at design time, so expanding the provided types never spawns a process and never loads MSBuild into the compiler. Property *values* are read at runtime by `Runtime`, which shells out to `dotnet msbuild -getProperty`. The design-time values are deliberately approximate. They are read straight out of the project XML with no condition evaluation, and exist only to be shown in a doc comment as a hint. Nothing compiles against them.

Project (Module)

Reading of MSBuild project structure for the type provider. The same split as `Git`: structure - which projects exist, where they live - is read from the solution file or the directory tree at design time, so expanding the provided types never spawns a process and never loads MSBuild into the compiler. Property *values* are read at runtime by `Runtime`, which shells out to `dotnet msbuild -getProperty`. The design-time values are deliberately approximate. They are read straight out of the project XML with no condition evaluation, and exist only to be shown in a doc comment as a hint. Nothing compiles against them.

Type something to start searching.