2024-07-11 20:27:19 +10:00
|
|
|
#!/usr/bin/env python3.11
|
2016-11-19 16:26:23 +01:00
|
|
|
# -*- coding: utf-8 -*-
|
2016-11-19 13:50:07 +01:00
|
|
|
|
|
|
|
|
|
2018-09-17 23:59:38 +10:00
|
|
|
import eris.tools as tools
|
2016-11-19 13:50:07 +01:00
|
|
|
|
|
|
|
|
|
2019-07-22 10:49:40 +10:00
|
|
|
def main():
|
2021-11-29 12:51:34 +10:00
|
|
|
git_tools = [tools.git_diff, tools.git_blame, tools.git_log]
|
|
|
|
|
all_tools = [(["*"], tools.generic_tools() + git_tools)] + tools.TOOLS_FOR_EXTENSIONS
|
2019-07-22 10:49:40 +10:00
|
|
|
tool_set = set()
|
|
|
|
|
extension_set = set()
|
|
|
|
|
for extensions, tools_ in all_tools:
|
|
|
|
|
tool_set.update(tools_)
|
|
|
|
|
extension_set.update(extensions)
|
|
|
|
|
print(f"""\
|
2018-09-25 10:41:55 +10:00
|
|
|
# Eris Codebase Monitor
|
2016-11-19 13:50:07 +01:00
|
|
|
|
2020-01-10 14:04:57 +10:00
|
|
|
## Summary
|
2016-11-19 13:50:07 +01:00
|
|
|
|
2025-06-04 22:52:09 +10:00
|
|
|
Eris maintains an up to date set of reports for every file in a codebase.
|
2016-11-19 13:50:07 +01:00
|
|
|
|
2020-01-10 14:04:57 +10:00
|
|
|
## Installation
|
2016-11-19 13:50:07 +01:00
|
|
|
|
2024-03-08 23:25:15 +10:00
|
|
|
#### Debian / Ubuntu / Fedora / Arch / Alpine
|
2016-11-19 13:50:07 +01:00
|
|
|
|
2025-06-04 22:52:09 +10:00
|
|
|
Firstly uv is needed to install eris.
|
2021-12-21 13:11:59 +10:00
|
|
|
|
2025-06-04 22:52:09 +10:00
|
|
|
To install uv:
|
|
|
|
|
|
|
|
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
|
|
|
|
|
|
|
|
For other ways to install uv see its [installation page](https://docs.astral.sh/uv/getting-started/installation/).
|
|
|
|
|
|
|
|
|
|
Then use uv to install eris:
|
|
|
|
|
|
|
|
|
|
uv tool install git+https://gitlab.com/ahamilton/eris@v2025.06.04
|
|
|
|
|
|
|
|
|
|
Then use eris to install all the tools it uses:
|
2023-09-18 00:05:03 +10:00
|
|
|
eris --install-all-tools
|
2021-12-21 12:54:17 +10:00
|
|
|
|
2025-06-04 22:52:09 +10:00
|
|
|
Or install from source: (including tools)
|
2021-12-21 13:11:59 +10:00
|
|
|
|
2023-09-10 23:35:23 +10:00
|
|
|
git clone https://gitlab.com/ahamilton/eris
|
2021-12-21 19:01:32 +10:00
|
|
|
cd eris
|
|
|
|
|
./install
|
2021-12-21 13:00:31 +10:00
|
|
|
|
2021-12-21 13:09:51 +10:00
|
|
|
Then to run:
|
2021-12-21 13:11:59 +10:00
|
|
|
|
2023-09-18 00:05:03 +10:00
|
|
|
eris
|
2021-12-21 19:01:32 +10:00
|
|
|
eris-webserver <project> # Or a simple web interface.
|
2016-11-19 13:50:07 +01:00
|
|
|
|
2020-01-10 14:04:57 +10:00
|
|
|
## Tools
|
2016-11-19 15:58:21 +01:00
|
|
|
|
2020-10-17 12:14:16 +10:00
|
|
|
File types({len(extension_set)-1}) | Tools({len(tool_set)})
|
2018-06-05 08:16:49 +10:00
|
|
|
----------:| -----""")
|
2019-07-22 10:49:40 +10:00
|
|
|
for extensions, tools_ in all_tools:
|
2021-11-29 12:51:34 +10:00
|
|
|
print("%s | %s" % (" ".join("." + extension for extension in extensions),
|
|
|
|
|
" • ".join(f"[{tool.__name__}]({tool.url})" for tool in tools_)))
|
2019-07-22 10:49:40 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
main()
|