Open SeanFeldman opened 4 years ago
cc/ @ericstj
It's not intended for public use in the same way the rest of the dotnet/sdk and others are. It isn't a publicly shipping tool, it's used to facilitate the build infrastructure of .NETCore. As such we take a primarily reactive approach to changes. We only make changes to it when we need those changes for our infrastructure. /cc @safern
I'm not opposed to folks contributing more features / docs, but right now the best we have is running the tool with --?:
C:\Users\ericstj\.nuget\packages\microsoft.dotnet.genapi\5.0.0-beta.19567.2\tools\netcoreapp2.1>dotnet Microsoft.DotNet.GenAPI.dll -?
A command line tool to generate code for the API surface of an assembly. 5.0.0.0
Usage: GenAPI [arguments] [options]
Arguments:
assembly Path for an specific assembly or a directory to get all assemblies.
Options:
-?|-h|--help Show help information
-v|--version Show version information
-l|--lib-path Delimited (',' or ';') set of paths to use for resolving assembly references
-a|--api-list Specify a api list in the DocId format of which APIs to include.
-o|--out Output path. Default is the console. Can specify an existing directory as well and then a file will be created for each assembly with the matching name of the assembly.
-h|--header-file Specify a file with header content to prepend to output.
-w|--writer Specify the writer type to use. Legal values: CSDecl, DocIds, TypeForwards, TypeList. Default is CSDecl.
-s|--syntax Specific the syntax writer type. Only used if the writer is CSDecl. Legal values: Text, Html, Xml. Default is Text.
-d|--doc-id-kinds Only include API of the specified kinds. Legal values: A, Assembly, Namespace, N, T, Type, Field, F, P, Property, Method, M, Event, E, All. Default is All.
-t|--throw Method bodies should throw PlatformNotSupportedException.
-g|--global Include global prefix for compilation.
--exclude-api-list Specify a api list in the DocId format of which APIs to exclude.
--exclude-attributes-list Specify a list in the DocId format of which attributes should be excluded from being applied on apis.
--follow-type-forwards [CSDecl] Resolve type forwards and include its members.
--api-only [CSDecl] Include only API's not CS code that compiles.
--all Include all API's not just public APIs. Default is public only.
--member-headings [CSDecl] Include member headings for each type of member.
--hightlight-base-members [CSDecl] Highlight overridden base members.
--hightlight-interface-members [CSDecl] Highlight interface implementation members.
--always-include-base [CSDecl] Include base types, interfaces, and attributes, even when those types are filtered.
--exclude-members Exclude members when return value or parameter types are excluded.
--lang-version Language Version to target
Let us know if you're planning on using it and we can consider making things easier, or better supporting your scenario.
Is the GenAPI tool intended for public use? And if the answer is "yes", is there any documentation available?