|
|
@ -1002,6 +1002,7 @@ int main(int argc, char *argv[]) |
|
|
|
} |
|
|
|
|
|
|
|
// Generate validation report/table with results (.md) |
|
|
|
//----------------------------------------------------------------------------------------------------- |
|
|
|
/* |
|
|
|
Columns: |
|
|
|
[C] VALID_MISSING_C // Missing .c source file |
|
|
@ -1025,8 +1026,6 @@ int main(int argc, char *argv[]) |
|
|
|
| text_format_text | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ | ✘ | ✔ | ✘ | ✔ | ✔ | ✔ | |
|
|
|
*/ |
|
|
|
|
|
|
|
// TODO: Generate a report with only the examples missing some elements |
|
|
|
|
|
|
|
char *report = (char *)RL_CALLOC(REXM_MAX_BUFFER_SIZE, 1); |
|
|
|
|
|
|
|
int repIndex = 0; |
|
|
@ -1071,6 +1070,58 @@ int main(int argc, char *argv[]) |
|
|
|
|
|
|
|
SaveFileText(TextFormat("%s/../tools/rexm/%s", exBasePath, "examples_report.md"), report); |
|
|
|
RL_FREE(report); |
|
|
|
//----------------------------------------------------------------------------------------------------- |
|
|
|
|
|
|
|
// Generate a report with only the examples missing some elements |
|
|
|
//----------------------------------------------------------------------------------------------------- |
|
|
|
char *reportIssues = (char *)RL_CALLOC(REXM_MAX_BUFFER_SIZE, 1); |
|
|
|
|
|
|
|
repIndex = 0; |
|
|
|
repIndex += sprintf(reportIssues + repIndex, "# EXAMPLES COLLECTION - VALIDATION REPORT\n\n"); |
|
|
|
|
|
|
|
repIndex += sprintf(reportIssues + repIndex, "```\nExample elements validated:\n\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [C] : Missing .c source file\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [CAT] : Not a recognized category\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [INFO] : Inconsistent example header info (stars, author...)\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [PNG] : Missing screenshot .png\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [WPNG] : Invalid png screenshot (using default one)\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [RES] : Missing resources listed in the code\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [MK] : Not listed in Makefile\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [MKWEB] : Not listed in Makefile.Web\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [VCX] : Missing Visual Studio project file\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [SOL] : Project not included in solution file\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [RDME] : Not listed in README.md\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [JS] : Not listed in Web (examples.js)\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, " - [WOUT] : Missing Web build (.html/.data/.wasm/.js)\n```\n"); |
|
|
|
|
|
|
|
repIndex += sprintf(reportIssues + repIndex, "| **EXAMPLE NAME** | [C] | [CAT]| [INFO]|[PNG]|[WPNG]| [RES]| [MK] |[MKWEB]| [VCX]| [SOL]|[RDME]|[JS] | [WOUT]|\n"); |
|
|
|
repIndex += sprintf(reportIssues + repIndex, "|:---------------------------------|:---:|:----:|:-----:|:---:|:----:|:----:|:----:|:-----:|:----:|:----:|:----:|:---:|:-----:|\n"); |
|
|
|
|
|
|
|
for (int i = 0; i < exCollectionCount; i++) |
|
|
|
{ |
|
|
|
if (exCollection[i].status > 0) |
|
|
|
{ |
|
|
|
repIndex += sprintf(reportIssues + repIndex, "| %-32s | %s | %s | %s | %s | %s | %s | %s | %s | %s | %s | %s | %s | %s |\n", |
|
|
|
exCollection[i].name, |
|
|
|
(exCollection[i].status & VALID_MISSING_C)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_INVALID_CATEGORY)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_INCONSISTENT_INFO)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_MISSING_PNG)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_INVALID_PNG)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_MISSING_RESOURCES)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_NOT_IN_MAKEFILE)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_NOT_IN_MAKEFILE_WEB)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_MISSING_VCXPROJ)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_NOT_IN_VCXSOL)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_NOT_IN_README)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_NOT_IN_JS)? "❌" : "✔", |
|
|
|
(exCollection[i].status & VALID_MISSING_WEB_OUTPUT)? "❌" : "✔"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
SaveFileText(TextFormat("%s/../tools/rexm/%s", exBasePath, "examples_report_issues.md"), reportIssues); |
|
|
|
RL_FREE(reportIssues); |
|
|
|
//----------------------------------------------------------------------------------------------------- |
|
|
|
|
|
|
|
UnloadExamplesData(exCollection); |
|
|
|
//------------------------------------------------------------------------------------------------ |
|
|
|