Recent Releases of code-base-investigator
code-base-investigator - Code Base Investigator v2.0.0
[!WARNING] Code Base Investigator 2.0.0 is a major release that includes several breaking changes.
New Features
- Errors and warnings are written to a cbi.log file, to reduce verbosity and improve the user experience.
- Warning messages are aggregated into "meta-warnings" with suggested corrective actions.
- Progress in parsing and preprocessing is reported via progress bars.
- A new
cbi-treeutility enables users to identify which files in a code base contribute to divergence. - A new
cbi-covutility enables users to export coverage information in JSON format, for use with the P3 Analysis Library. - Compiler support is expanded, enabling users to define argument handling that approximates compiler behavior more accurately.
For more information on using these features, see the online documentation.
Bug Fixes
- Added support for
#includefiles with non-standard extensions. - Added support for very large unsigned constants.
- Relaxed preprocessor error handling to permit C source files ending in a backslash-newline.
- Enabled the repository to be cloned on Windows.
What's Changed
- Remove --root-dir option by @Pennycook in https://github.com/intel/code-base-investigator/pull/90
- Remove --batchmode option by @Pennycook in https://github.com/intel/code-base-investigator/pull/89
pyproject.tomlmigration by @laserkelvin in https://github.com/intel/code-base-investigator/pull/94- CI pre-commit alignment by @laserkelvin in https://github.com/intel/code-base-investigator/pull/93
- Simplify the --report option by @Pennycook in https://github.com/intel/code-base-investigator/pull/95
- Remove etc/ directory by @Pennycook in https://github.com/intel/code-base-investigator/pull/91
- Remove --dump option by @Pennycook in https://github.com/intel/code-base-investigator/pull/92
- Remove YAML configuration files by @Pennycook in https://github.com/intel/code-base-investigator/pull/97
- Refactor codebase dictionary into CodeBase class by @Pennycook in https://github.com/intel/code-base-investigator/pull/98
- Format help strings by @Pennycook in https://github.com/intel/code-base-investigator/pull/104
- Add CompilationDatabase class by @Pennycook in https://github.com/intel/code-base-investigator/pull/103
- Force run pre-commit by @Pennycook in https://github.com/intel/code-base-investigator/pull/110
- Add tree walk function by @Pennycook in https://github.com/intel/code-base-investigator/pull/105
- Remove unused walkers by @Pennycook in https://github.com/intel/code-base-investigator/pull/106
- Switch to per-module loggers by @Pennycook in https://github.com/intel/code-base-investigator/pull/109
- Add coverage configuration to pyproject.toml by @Pennycook in https://github.com/intel/code-base-investigator/pull/107
- Move code from bin/codebasin to main.py by @Pennycook in https://github.com/intel/code-base-investigator/pull/111
- Improve warning message for missing includes by @Pennycook in https://github.com/intel/code-base-investigator/pull/113
- Write logs to cbi.log by default by @Pennycook in https://github.com/intel/code-base-investigator/pull/112
- Remove functionality to merge duplicates by @Pennycook in https://github.com/intel/code-base-investigator/pull/116
- Add a custom log formatter class by @Pennycook in https://github.com/intel/code-base-investigator/pull/118
- Introduce meta-warnings by @Pennycook in https://github.com/intel/code-base-investigator/pull/115
- Add progress bars to finder.find() by @Pennycook in https://github.com/intel/code-base-investigator/pull/117
- Optimize path handling by @Pennycook in https://github.com/intel/code-base-investigator/pull/122
- Ensure main() catches all exceptions by @Pennycook in https://github.com/intel/code-base-investigator/pull/123
- Replace PlatformMapper with a function by @Pennycook in https://github.com/intel/code-base-investigator/pull/120
- Add visit() function to source tree by @Pennycook in https://github.com/intel/code-base-investigator/pull/121
- Remove PlatformMapper from test_duplicates by @Pennycook in https://github.com/intel/code-base-investigator/pull/124
- Replace TreeAssociator with a function by @Pennycook in https://github.com/intel/code-base-investigator/pull/125
- Remove walkers by @Pennycook in https://github.com/intel/code-base-investigator/pull/126
- Remove legacy_warnings by @Pennycook in https://github.com/intel/code-base-investigator/pull/127
- Remove unused functions from util.py by @Pennycook in https://github.com/intel/code-base-investigator/pull/128
- Replace is_whitespace function with str.isspace by @Pennycook in https://github.com/intel/code-base-investigator/pull/130
- Fix definition and implementation of divergence by @Pennycook in https://github.com/intel/code-base-investigator/pull/137
- Fix associate() handling of #include from symlink by @Pennycook in https://github.com/intel/code-base-investigator/pull/131
- Fix handling of symlink files by @Pennycook in https://github.com/intel/code-base-investigator/pull/133
- Add ability to compute code utilization by @Pennycook in https://github.com/intel/code-base-investigator/pull/136
- Improve tables by @Pennycook in https://github.com/intel/code-base-investigator/pull/134
- Improve schema validation error messages by @Pennycook in https://github.com/intel/code-base-investigator/pull/140
- Refactor ensure_ext by @Pennycook in https://github.com/intel/code-base-investigator/pull/141
- Add duplicates report by @Pennycook in https://github.com/intel/code-base-investigator/pull/138
- Add files report by @Pennycook in https://github.com/intel/code-base-investigator/pull/139
- Improve coverage tool for P3 Analysis Library integration by @Pennycook in https://github.com/intel/code-base-investigator/pull/41
- Fix use of ensure_ext in coverage by @Pennycook in https://github.com/intel/code-base-investigator/pull/148
- Align formatting of all reports by @Pennycook in https://github.com/intel/code-base-investigator/pull/150
- Rename cbicov to cbi-cov by @Pennycook in https://github.com/intel/code-base-investigator/pull/153
- Add coverage workflow to GitHub Actions by @Pennycook in https://github.com/intel/code-base-investigator/pull/154
- Attempt to fix non-deterministic tests by @Pennycook in https://github.com/intel/code-base-investigator/pull/160
- Fix coverage action by @Pennycook in https://github.com/intel/code-base-investigator/pull/162
- Force coverage.yml to check out all commits by @Pennycook in https://github.com/intel/code-base-investigator/pull/163
- Refactor Token class using dataclass by @Pennycook in https://github.com/intel/code-base-investigator/pull/143
- Implement common argument parsing with argparse by @Pennycook in https://github.com/intel/code-base-investigator/pull/146
- Refactor Node using dataclass by @Pennycook in https://github.com/intel/code-base-investigator/pull/144
- Add custom argparse actions by @Pennycook in https://github.com/intel/code-base-investigator/pull/155
- Add instructions for virtual environments by @Pennycook in https://github.com/intel/code-base-investigator/pull/157
- Add test of summary report by @Pennycook in https://github.com/intel/code-base-investigator/pull/158
- Add compiler customization schema by @Pennycook in https://github.com/intel/code-base-investigator/pull/156
- Rework the metrics used by the FileTree by @Pennycook in https://github.com/intel/code-base-investigator/pull/161
- Move MetaWarning classes into new module by @Pennycook in https://github.com/intel/code-base-investigator/pull/142
- Improve Compiler class design by @Pennycook in https://github.com/intel/code-base-investigator/pull/164
- Fix bug in FileTree's handling of unused files by @Pennycook in https://github.com/intel/code-base-investigator/pull/166
- Add compiler definitions by @Pennycook in https://github.com/intel/code-base-investigator/pull/168
- Use f-string to format
log.warningmessage by @Pennycook in https://github.com/intel/code-base-investigator/pull/174 - Fix bug in handling of unsigned constants by @Pennycook in https://github.com/intel/code-base-investigator/pull/173
- Recommend using cmake -G Ninja in the tutorial by @Pennycook in https://github.com/intel/code-base-investigator/pull/175
- Fix several issues with custom argparse actions by @Pennycook in https://github.com/intel/code-base-investigator/pull/170
- Expose tree report as standalone cbi-tree utility by @Pennycook in https://github.com/intel/code-base-investigator/pull/167
- Enable
ArgumentParserto handle custom compilers by @Pennycook in https://github.com/intel/code-base-investigator/pull/176 - Switch to finalized coverage schema by @Pennycook in https://github.com/intel/code-base-investigator/pull/178
- Add
--debugoption by @Pennycook in https://github.com/intel/code-base-investigator/pull/177 - Fix condition in FileTree insert by @Pennycook in https://github.com/intel/code-base-investigator/pull/181
- Generate version string dynamically by @Pennycook in https://github.com/intel/code-base-investigator/pull/180
- Ignore empty .cbi/config files by @Pennycook in https://github.com/intel/code-base-investigator/pull/183
- Defer .cbi/config loading until required by @Pennycook in https://github.com/intel/code-base-investigator/pull/184
- Add definition of sycl-nvptx64-nvidia-cuda pass by @Pennycook in https://github.com/intel/code-base-investigator/pull/186
- Add documentation for new features by @Pennycook in https://github.com/intel/code-base-investigator/pull/185
- Accept C files ending in a backslash-newline by @Pennycook in https://github.com/intel/code-base-investigator/pull/187
- Add progress tracker for identifying source files by @Pennycook in https://github.com/intel/code-base-investigator/pull/188
- Rename files that rely on case-sensitive paths by @Pennycook in https://github.com/intel/code-base-investigator/pull/190
- Prepare for 2.0.0 release by @Pennycook in https://github.com/intel/code-base-investigator/pull/193
- Fix release date for 2.0.0 by @Pennycook in https://github.com/intel/code-base-investigator/pull/194
Full Changelog: https://github.com/intel/code-base-investigator/compare/1.2.0...2.0.0
- Python
Published by Pennycook about 1 year ago
code-base-investigator - Code Base Investigator v1.2.0
Although a minor release, Code Base Investigator v1.2.0 includes a few significant changes.
[!IMPORTANT] In previous releases of Code Base Investigator, the main script was called
codebasin.py. The old naming was a bug that needed to be fixed, and we made the difficult decision to rename the script ahead of the next major release.
New Features
- Filter platforms with
--platform(or-p). - Exclude files from an analysis with
--exclude(or-x). - Use git-like "pathspec" patterns to describe exclude files instead of globs.
- Configure analysis with a new, simplified, TOML file format.
- Define implicit compiler behaviors (e.g., version macros, system include paths).
For more information on using these features, see the new and improved online documentation.
Bug Fixes
- Added support for
#includefiles with non-standard extensions. - Improved handling of duplicate files.
- Renamed
codebasin.pytocodebasin.
Preparation for Code Base Investigator v2.0.0
- Several features are deprecated and will be removed in the next major release.
What's Changed
- Fix divergent-source example by @Pennycook in https://github.com/intel/code-base-investigator/pull/17
- Pre-commit workflow by @laserkelvin in https://github.com/intel/code-base-investigator/pull/21
- Improve usability for large projects by @Pennycook in https://github.com/intel/code-base-investigator/pull/22
- Add warning for missing include files by @Pennycook in https://github.com/intel/code-base-investigator/pull/23
- Improve warning message for unrecognized directive by @Pennycook in https://github.com/intel/code-base-investigator/pull/24
- Permit include files with non-standard extensions by @Pennycook in https://github.com/intel/code-base-investigator/pull/26
- Add ability to recognize compilers by @Pennycook in https://github.com/intel/code-base-investigator/pull/27
- Fix codebasin package by @Pennycook in https://github.com/intel/code-base-investigator/pull/29
- Fix bug in multi-pass compiler handling by @Pennycook in https://github.com/intel/code-base-investigator/pull/30
- Update code style by @Pennycook in https://github.com/intel/code-base-investigator/pull/31
- Update contributing guidelines by @Pennycook in https://github.com/intel/code-base-investigator/pull/34
- Refactor usage of args (excluding *args) to argv by @itsjayway in https://github.com/intel/code-base-investigator/pull/33
- Fix incorrect usage of representationstring by @Pennycook in https://github.com/intel/code-base-investigator/pull/37
- Simplify schema handling and fix several bugs by @Pennycook in https://github.com/intel/code-base-investigator/pull/35
- Remove unused configuration files by @Pennycook in https://github.com/intel/code-base-investigator/pull/38
- Deprecate the codebasin package by @Pennycook in https://github.com/intel/code-base-investigator/pull/40
- Add support for exclude patterns by @Pennycook in https://github.com/intel/code-base-investigator/pull/42
- Templates for pull requests and issues by @laserkelvin in https://github.com/intel/code-base-investigator/pull/44
- Adjust pull request template formatting by @Pennycook in https://github.com/intel/code-base-investigator/pull/48
- Catch all exceptions and convert them to errors by @Pennycook in https://github.com/intel/code-base-investigator/pull/51
- Fix unintended skipping of
banditinpre-commithooks and added scan specifications by @laserkelvin in https://github.com/intel/code-base-investigator/pull/52 - Remove flake8-bandit from pre-commit by @Pennycook in https://github.com/intel/code-base-investigator/pull/53
- Update dependency versions by @Pennycook in https://github.com/intel/code-base-investigator/pull/55
- Replace importcfg.json with config TOML file by @Pennycook in https://github.com/intel/code-base-investigator/pull/56
- Restore missing {} to report outputs by @Pennycook in https://github.com/intel/code-base-investigator/pull/57
- Add option to define platforms on the command line by @Pennycook in https://github.com/intel/code-base-investigator/pull/49
- Replace --rootdir (-r) with --source-dir (-S) by @Pennycook in https://github.com/intel/code-base-investigator/pull/59
- Add schema file required by functionality from #56 by @Pennycook in https://github.com/intel/code-base-investigator/pull/63
- Deprecate unmaintained functionality by @Pennycook in https://github.com/intel/code-base-investigator/pull/62
- Rename codebasin.py to codebasin by @Pennycook in https://github.com/intel/code-base-investigator/pull/64
- Add Github action to run
unittestby @laserkelvin in https://github.com/intel/code-base-investigator/pull/65 - Add TOML files required by tests from #56 by @Pennycook in https://github.com/intel/code-base-investigator/pull/61
- Replace YAML config files with TOML analysis files by @Pennycook in https://github.com/intel/code-base-investigator/pull/60
- Separate deprecated options in -h output by @Pennycook in https://github.com/intel/code-base-investigator/pull/68
- Make all deprecation warnings DeprecationWarnings by @Pennycook in https://github.com/intel/code-base-investigator/pull/69
- Deprecate passing more than one value to --report by @Pennycook in https://github.com/intel/code-base-investigator/pull/70
- Ignore SciPy UserWarning about axis limits by @Pennycook in https://github.com/intel/code-base-investigator/pull/74
- Check if codebase section exists in analysis file by @Pennycook in https://github.com/intel/code-base-investigator/pull/75
- Remove --source-dir (-S) option by @Pennycook in https://github.com/intel/code-base-investigator/pull/78
- Simplify platform option by @Pennycook in https://github.com/intel/code-base-investigator/pull/76
- Fix broken dendrogram names by @Pennycook in https://github.com/intel/code-base-investigator/pull/77
- Fix double percent symbol in report output by @Pennycook in https://github.com/intel/code-base-investigator/pull/80
- Add --version option by @Pennycook in https://github.com/intel/code-base-investigator/pull/83
- Improve compile command handling by @Pennycook in https://github.com/intel/code-base-investigator/pull/82
- Remove duplicate detection by @Pennycook in https://github.com/intel/code-base-investigator/pull/79
- Rewrite the documentation by @Pennycook in https://github.com/intel/code-base-investigator/pull/85
- Bump version to 1.2.0 by @Pennycook in https://github.com/intel/code-base-investigator/pull/88
New Contributors
- @laserkelvin made their first contribution in https://github.com/intel/code-base-investigator/pull/21
- @itsjayway made their first contribution in https://github.com/intel/code-base-investigator/pull/33
Full Changelog: https://github.com/intel/code-base-investigator/compare/1.1.0...1.2.0
- Python
Published by Pennycook about 2 years ago
code-base-investigator - Code Base Investigator v1.1.0
What's Changed
- Macro expansion overhaul by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/3
- Refactor walkers, add optional code passthrough, and add etc/preprocess script by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/4
- Improve readability of dendrograms by @Pennycook in https://github.com/intel/code-base-investigator/pull/5
- Add support for 'exclude_files' configuration option by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/6
- Fix duplicate detection by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/7
- Improve search path handling by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/7
- Support basic assembly source files by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/7
- Dump detailed source region annotation by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/7
- Handle quotes in "command" field in compilation databse by @al42and in https://github.com/intel/code-base-investigator/pull/8
- Validate inputs against schema by @Pennycook in https://github.com/intel/code-base-investigator/pull/10
- Check if token is None before accessing attributes by @Pennycook in https://github.com/intel/code-base-investigator/pull/11
- Export coverage for P3 Analysis Library by @Pennycook in https://github.com/intel/code-base-investigator/pull/12
New Contributors
- @al42and made their first contribution in https://github.com/intel/code-base-investigator/pull/8
Full Changelog: https://github.com/intel/code-base-investigator/compare/1.05...1.1.0
- Python
Published by Pennycook almost 3 years ago
code-base-investigator - Code Base Investigator v1.05
This release contains an improved tokenizer and parser, as well as updates to usability.
- Python
Published by Pennycook almost 5 years ago
code-base-investigator - Code Base Investigator v1.0
Initial release of Code Base Investigator.
- Python
Published by Pennycook almost 5 years ago