Motus.Codegen
1.0.6
dotnet add package Motus.Codegen --version 1.0.6
NuGet\Install-Package Motus.Codegen -Version 1.0.6
<PackageReference Include="Motus.Codegen" Version="1.0.6" />
<PackageVersion Include="Motus.Codegen" Version="1.0.6" />
<PackageReference Include="Motus.Codegen" />
paket add Motus.Codegen --version 1.0.6
#r "nuget: Motus.Codegen, 1.0.6"
#:package Motus.Codegen@1.0.6
#addin nuget:?package=Motus.Codegen&version=1.0.6
#tool nuget:?package=Motus.Codegen&version=1.0.6
Motus.Codegen
Roslyn incremental source generator for the Motus browser automation framework.
Overview
This generator produces two categories of code at compile time. First, it reads the bundled browser_protocol.json and js_protocol.json files and emits strongly-typed C# bindings for every CDP domain, enabling NativeAOT compatibility without runtime reflection. Second, it scans for types annotated with [MotusPlugin] and emits a module initializer that registers them with PluginDiscovery, so plugins are discovered at startup with no assembly scanning.
Generated Output
- CDP domain bindings emitted as
Motus.Protocol.<DomainName>Domain.g.csfor each protocol domain - Plugin registry emitted as
MotusPluginRegistry.g.cswith a module initializer
Plugin Diagnostics
| ID | Severity | Description |
|---|---|---|
| MOTUS001 | Error | [MotusPlugin] on an abstract class |
| MOTUS002 | Error | [MotusPlugin] on a generic class |
| MOTUS003 | Error | [MotusPlugin] on a class that does not implement IPlugin |
| MOTUS004 | Error | [MotusPlugin] on a class without a public parameterless constructor |
Installation
dotnet add package Motus.Codegen
This package is automatically included when you reference Motus. Direct installation is only needed for advanced scenarios.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.CodeAnalysis.CSharp (>= 4.12.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.