Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 0.5.2: Improved Error Handling, Fix Static Analysis Issues, CI Code Coverage #75

Merged
merged 99 commits into from
Nov 9, 2020

Conversation

egorodet
Copy link
Member

@egorodet egorodet commented Nov 8, 2020

Methane Kit v0.5 Pre-Release Update 2

  • Common libraries:
    • Primitives library extended with error handling (closed Define custom exception types and throw from META_CHECK_* macroses project wide #74):
      • Methane/Exceptions.hpp was added with common exception type defintions
      • Methane/Checks.hpp was added with error checking macro definitions aka META_CHECK*
      • META_LOG macros has been updated to make string formatting using FMT library inside of the macro using variadic arguments
  • All modules updated with static code analysis issue fixes (closed Fix most significant static analysis issues from Sonar Cloud #73):
    • Uppercase literal suffixes
    • Replaced all explicit exception throws and asserts with META_CHECK* macroses throwing specific exception types, which simplified error checking code and fixed many issues related to non-specific exception throws across Methane code base
    • Throw undefined enum value exception in default branches of all switch blocks to fix repeated analysis issue
    • Replaced std::function usage with template arguments wherever possible to improve performance
    • Many other issues have been fixed thanks to static code analysis
    • Used fmt::format(...) for string formatting wherever possible project wide
  • Platform libraries
    • Platform App library was updated with unified error handling logic in AppBase class, moved from platform specific classes
  • Data libraries
    • Data Primitives library
      • Point template class has been refactored to merge 2D and 3D implementations together and incapsulate cml::vector instead of deriving from it to fix multiple static analysis issues.
  • External libraries:
    • OpenCppCoverage Windows tool binaries were added
    • FMT v7.1.0 library was added
    • CLI11 library was updated to v1.9.1
    • Catch2 library was updated to v2.13.3
    • IttApi library was updated to v3.18.8
    • STB library was updated to latest revision from 13 Jul 2020
    • TaskFlow library was updated to v2.7.0
    • Tracy library was updated to v0.7.3
    • Removed Sonar Scanner binaries from repository (they are loaded from official web site instead)
  • Build Infrastructure:

…ar Scan jobs in Azure Pipelines to have correct source paths in symbols
…re Pipelines and filter sources by path to Modules
… easier code separation with static analysis.

Add build options to enable/disable applications and tests build.
Updated README with new build options.
@egorodet egorodet added enhancement New feature or request infrastructure Build, tools, automation, etc. labels Nov 8, 2020
@egorodet egorodet added this to the v0.5 milestone Nov 8, 2020
@egorodet egorodet self-assigned this Nov 8, 2020
@sonarcloud
Copy link

sonarcloud bot commented Nov 9, 2020

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities (and Security Hotspot 0 Security Hotspots to review)
Code Smell A 1 Code Smell

6.2% 6.2% Coverage
0.2% 0.2% Duplication

@sonarcloud
Copy link

sonarcloud bot commented Nov 9, 2020

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities (and Security Hotspot 0 Security Hotspots to review)
Code Smell A 18 Code Smells

6.4% 6.4% Coverage
0.2% 0.2% Duplication

@sonarcloud
Copy link

sonarcloud bot commented Nov 9, 2020

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities (and Security Hotspot 0 Security Hotspots to review)
Code Smell A 6 Code Smells

3.8% 3.8% Coverage
0.2% 0.2% Duplication

@egorodet egorodet merged commit f0d8275 into master Nov 9, 2020
@egorodet egorodet changed the title Version 0.5: Improved Error Handling, Fix Static Analysis Issues, CI Code Coverage Version 0.5.2: Improved Error Handling, Fix Static Analysis Issues, CI Code Coverage Feb 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request infrastructure Build, tools, automation, etc.
Projects
None yet
1 participant