Skip to content

Commit 8a741b5

Browse files
Copilotpascalberger
andcommitted
Add console report example scripts for regenerating screenshots
Co-authored-by: pascalberger <2190718+pascalberger@users.noreply.github.com>
1 parent 14f91a9 commit 8a741b5

12 files changed

Lines changed: 1018 additions & 0 deletions

File tree

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"cake.tool": {
6+
"version": "5.0.0",
7+
"commands": [
8+
"dotnet-cake"
9+
]
10+
}
11+
}
12+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Tool artifacts
2+
tools/
3+
.dotnet/
4+
5+
# Build artifacts
6+
bin/
7+
obj/
8+
9+
# NuGet packages
10+
*.nupkg
11+
packages/
12+
13+
# Cake Build
14+
.cake/
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Console Report Format Example Scripts
2+
3+
This directory contains scripts used to generate the console output screenshots shown in the Console report format documentation.
4+
5+
## Purpose
6+
7+
These scripts allow reproducing the console output examples to:
8+
- Regenerate screenshots when the addin is updated
9+
- Test different console formatting options
10+
- Validate console output behavior
11+
12+
## Scripts
13+
14+
- `generate-default.cake` - Default console output settings
15+
- `generate-grouped.cake` - Console output grouped by rule
16+
- `generate-summaries.cake` - Console output with provider and priority summaries
17+
- `generate-combined.cake` - Console output with all features enabled
18+
- `sample-issues.json` - Sample issues data used by all scripts
19+
20+
## Usage
21+
22+
To regenerate the console output for screenshots:
23+
24+
1. Ensure the latest Cake.Issues packages are built:
25+
```bash
26+
cd /path/to/Cake.Issues
27+
./build.sh --target=Create-NuGet-Packages
28+
```
29+
30+
2. Run any of the example scripts:
31+
```bash
32+
cd docs/input/assets/scripts/console-examples
33+
dotnet tool restore
34+
dotnet tool run dotnet-cake generate-default.cake --verbosity=minimal
35+
```
36+
37+
Or run all examples at once:
38+
```bash
39+
./run-examples.sh
40+
```
41+
42+
3. Capture the console output for documentation screenshots
43+
44+
## Example Output
45+
46+
To see the individual issue details, run with normal verbosity. To see just the summaries (as shown in the screenshots), use `--verbosity=minimal`.
47+
48+
## Sample Data
49+
50+
The `sample-issues.json` file contains realistic issue data representing:
51+
- MSBuild compiler warnings and suggestions
52+
- DupFinder duplicate code detection issues
53+
- InspectCode style and best practice violations
54+
- markdownlint documentation issues
55+
- Custom script issues
56+
57+
This data produces output similar to what users would see in real projects.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#addin "Cake.Issues&prerelease"
2+
#addin "Cake.Issues.Reporting&prerelease"
3+
#addin "Cake.Issues.Reporting.Console&prerelease"
4+
5+
//////////////////////////////////////////////////
6+
// ARGUMENTS
7+
//////////////////////////////////////////////////
8+
9+
var target = Argument("target", "Default");
10+
11+
//////////////////////////////////////////////////
12+
// TARGETS
13+
//////////////////////////////////////////////////
14+
15+
Task("Print-Issues-Combined")
16+
.Does(() =>
17+
{
18+
Information("Running Console Report with All Features Enabled");
19+
20+
var issues = DeserializeIssuesFromJsonFile("sample-issues.json");
21+
Information("Read {0} issues", issues.Count());
22+
23+
CreateIssueReport(
24+
issues,
25+
ConsoleIssueReportFormat(
26+
new ConsoleIssueReportFormatSettings
27+
{
28+
GroupByRule = true,
29+
ShowProviderSummary = true,
30+
ShowPrioritySummary = true
31+
}),
32+
@".",
33+
string.Empty);
34+
});
35+
36+
Task("Default")
37+
.IsDependentOn("Print-Issues-Combined");
38+
39+
//////////////////////////////////////////////////
40+
// EXECUTION
41+
//////////////////////////////////////////////////
42+
43+
RunTarget(target);
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#addin "Cake.Issues&prerelease"
2+
#addin "Cake.Issues.Reporting&prerelease"
3+
#addin "Cake.Issues.Reporting.Console&prerelease"
4+
5+
//////////////////////////////////////////////////
6+
// ARGUMENTS
7+
//////////////////////////////////////////////////
8+
9+
var target = Argument("target", "Default");
10+
11+
//////////////////////////////////////////////////
12+
// TARGETS
13+
//////////////////////////////////////////////////
14+
15+
Task("Print-Issues-Default")
16+
.Does(() =>
17+
{
18+
Information("Running Console Report with Default Settings");
19+
20+
var issues = DeserializeIssuesFromJsonFile("sample-issues.json");
21+
Information("Read {0} issues", issues.Count());
22+
23+
CreateIssueReport(
24+
issues,
25+
ConsoleIssueReportFormat(),
26+
@".",
27+
string.Empty);
28+
});
29+
30+
Task("Default")
31+
.IsDependentOn("Print-Issues-Default");
32+
33+
//////////////////////////////////////////////////
34+
// EXECUTION
35+
//////////////////////////////////////////////////
36+
37+
RunTarget(target);
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#addin "Cake.Issues&prerelease"
2+
#addin "Cake.Issues.Reporting&prerelease"
3+
#addin "Cake.Issues.Reporting.Console&prerelease"
4+
5+
//////////////////////////////////////////////////
6+
// ARGUMENTS
7+
//////////////////////////////////////////////////
8+
9+
var target = Argument("target", "Default");
10+
11+
//////////////////////////////////////////////////
12+
// TARGETS
13+
//////////////////////////////////////////////////
14+
15+
Task("Print-Issues-Grouped")
16+
.Does(() =>
17+
{
18+
Information("Running Console Report with Grouped by Rule");
19+
20+
var issues = DeserializeIssuesFromJsonFile("sample-issues.json");
21+
Information("Read {0} issues", issues.Count());
22+
23+
CreateIssueReport(
24+
issues,
25+
ConsoleIssueReportFormat(
26+
new ConsoleIssueReportFormatSettings
27+
{
28+
GroupByRule = true
29+
}),
30+
@".",
31+
string.Empty);
32+
});
33+
34+
Task("Default")
35+
.IsDependentOn("Print-Issues-Grouped");
36+
37+
//////////////////////////////////////////////////
38+
// EXECUTION
39+
//////////////////////////////////////////////////
40+
41+
RunTarget(target);
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#addin "Cake.Issues&prerelease"
2+
#addin "Cake.Issues.Reporting&prerelease"
3+
#addin "Cake.Issues.Reporting.Console&prerelease"
4+
5+
//////////////////////////////////////////////////
6+
// ARGUMENTS
7+
//////////////////////////////////////////////////
8+
9+
var target = Argument("target", "Default");
10+
11+
//////////////////////////////////////////////////
12+
// TARGETS
13+
//////////////////////////////////////////////////
14+
15+
Task("Print-Issues-Summaries")
16+
.Does(() =>
17+
{
18+
Information("Running Console Report with Provider and Priority Summaries");
19+
20+
var issues = DeserializeIssuesFromJsonFile("sample-issues.json");
21+
Information("Read {0} issues", issues.Count());
22+
23+
CreateIssueReport(
24+
issues,
25+
ConsoleIssueReportFormat(
26+
new ConsoleIssueReportFormatSettings
27+
{
28+
ShowProviderSummary = true,
29+
ShowPrioritySummary = true
30+
}),
31+
@".",
32+
string.Empty);
33+
});
34+
35+
Task("Default")
36+
.IsDependentOn("Print-Issues-Summaries");
37+
38+
//////////////////////////////////////////////////
39+
// EXECUTION
40+
//////////////////////////////////////////////////
41+
42+
RunTarget(target);
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"sdk": {
3+
"allowPrerelease": true,
4+
"version": "8.0.413",
5+
"rollForward": "latestFeature"
6+
}
7+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<configuration>
3+
<packageSources>
4+
<clear />
5+
<add key="Integration" value="../../../../../BuildArtifacts/Packages/NuGet" />
6+
<add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
7+
</packageSources>
8+
<disabledPackageSources>
9+
<clear />
10+
</disabledPackageSources>
11+
</configuration>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/usr/bin/env bash
2+
3+
# Default settings example
4+
echo "=== Running Default Console Report Example ==="
5+
dotnet tool restore && dotnet tool run dotnet-cake generate-default.cake --verbosity=minimal
6+
7+
echo ""
8+
echo "=== Running Grouped by Rule Example ==="
9+
dotnet tool restore && dotnet tool run dotnet-cake generate-grouped.cake --verbosity=minimal
10+
11+
echo ""
12+
echo "=== Running Summaries Example ==="
13+
dotnet tool restore && dotnet tool run dotnet-cake generate-summaries.cake --verbosity=minimal
14+
15+
echo ""
16+
echo "=== Running Combined Features Example ==="
17+
dotnet tool restore && dotnet tool run dotnet-cake generate-combined.cake --verbosity=minimal

0 commit comments

Comments
 (0)