DAPper helps identify the software packages installed on a system, and expose implicit dependencies in source code.
The main tool for end users parses source code to determine packages that a C/C++ codebase depends on. In addition, datasets mapping file names to packages that install them for various ecosystems are provided. The tools used to create those datasets are also available in this repository.
Note
DAPper is very early in development -- things may not work as expected or be implemented yet! Feel free to start a discussion in https://github.com/LLNL/dapper/discussions for things you'd like to see.
For now, the main way to install DAPper is compiling from source.
- Clone DAPper
git clone [email protected]:LLNL/dapper.git
- Compile DAPper:
cargo build
- Run DAPper:
cargo run <source code directory or file>
Run ./dapper <source code directory or file>
. The output will be the #included files from each C/C++ source code file found.
Full user guides for DAPper are available online and in the docs directory.
For questions or support, please create a new discussion on GitHub Discussions, or open an issue for bug reports and feature requests.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
For more information on contributing see the CONTRIBUTING file.
DAPper is released under the MIT license. See the LICENSE and NOTICE files for details. All new contributions must be made under this license.
SPDX-License-Identifier: MIT
LLNL-CODE-871441