Tool to aid with discovering information about Cake Addins.
This console application audits Cake addins discovered on NuGet.org and generates a report to indicate if they follow recommended guidelines.
The AddinDiscoverer searches nuget.org for packages that follow the recommended naming convention which is Cake.xxx
for addins and recipes and Cake.xxx.Module
for modules.
The best practice this tool inspects for are:
netstandard2.0
You can invoke this tool with the following arguments:
-t, --tempfolder Folder where temporary files (including reports) are saved.
-a, --addinname Name of the specific addin to be audited. If omitted, all addins are audited.
-u, --user Github username.
-p, --password Github password.
-o, --token Github token (takes precedence over username+password).
-y, --proxy The URL of your proxy. For example, to proxy request through Fiddler use: 'http://localhost:8888'.
-c, --clearcache (Default: false) Clear the list of addins that was previously cached.
-i, --issue (Default: false) Create issue in Github repositories that do not meet recommendations.
-q, --pullrequest (Default: false) Submit pull request in Github repositories to fix recommendations.
-e, --exceltofile (Default: false) Generate the Excel report and write to a file.
-x, --exceltorepo (Default: false) Generate the Excel report and commit to cake-contrib repo.
-m, --markdowntofile (Default: false) Generate the Markdown report and write to a file.
-r, --markdowntorepo (Default: false) Generate the Markdown report and commit to cake-contrib repo.
-s, --syncyaml (Default: false) Synchronize the yaml files on Cake's web site with the packages discovered on NuGet.
-k, --updatecakerecipe (Default: false) Update addin references in CakeRecipe.
-w, --excludeslowsteps (Default: false) Exclude step that take much time (such as GetGithubStats and CheckUsingCakeRecipe).
--help Display this help screen.
--version Display version information.
This tool caches certain information such as the list of discovered addins, the content of .sln
and .csproj
file for performance reasons and also to ensure invoking this tool repeatedly does not cause you to exceed the number of GitHub API calls you are allowed to make in an hour. Make sure you add -c
when invoking this tool when you want the previously cached information to be deleted and re-discover the list of plugins and re-download their solution and project files.
If you specify -i
to create a new issue in the addin Github repo, this tool will attempt to detect if an opened issue already exist to avoid creating duplicate issues.
As of version 3.4.0 we have automated the following:
cake-contrib/home
repoUpdate existing YAML file when metadata for a given addin package has changed. | Attribute | Processing |
---|---|---|
Name | Not updated | |
NuGet | Not updated | |
Assemblies | Updated | |
Repository | Updated | |
Author | Not updated | |
Description | Only line endings normalized | |
Categories | Only content normalized |
cake-build/website
with all the deleted/modified/created YAML filescake-contrib/Cake.Recipe
cake-contrib/Cake.Recipe