eris/packaging/make-readme.py

75 lines
2.1 KiB
Python
Executable file

#!/usr/bin/env python3.10
# -*- coding: utf-8 -*-
import eris.tools as tools
def main():
git_tools = [tools.git_diff, tools.git_blame, tools.git_log]
all_tools = [(["*"], tools.generic_tools() + git_tools)] + tools.TOOLS_FOR_EXTENSIONS
tool_set = set()
extension_set = set()
for extensions, tools_ in all_tools:
tool_set.update(tools_)
extension_set.update(extensions)
print(f"""\
# Eris Codebase Monitor
## Summary
Eris maintains an up-to-date set of reports for every file in a codebase.
## Installation
#### Ubuntu (22.10)
Install eris directly using pip, and apt install the tools eris relies on:
pip install --upgrade pip # A recent version of pip is needed.
pip install git+https://github.com/ahamilton/eris@v2022.10.19#subdirectory=eris
eris --apt-install-tools
Or install from source: (including tools)
git clone https://github.com/ahamilton/eris
cd eris
./install
Then to run:
eris -h
eris-webserver <project> # Or a simple web interface.
#### Docker
git clone https://github.com/ahamilton/eris
cd eris
sudo docker build -t eris -f packaging/Dockerfile .
cp packaging/eris-docker ~/bin/eris # e.g. Put wrapper script in your PATH
#### Snap
# Download snap file from github releases page:
wget "https://github.com/ahamilton/eris/releases/download/v2021-12-06/eris_2021.12.06_amd64.snap"
snap install --dangerous eris_2021.12.06_amd64.snap
rm eris_2021.12.06_amd64.snap # The snap file is no longer needed.
#### AppImage
# Download AppImage file from github releases page:
wget "https://github.com/ahamilton/eris/releases/download/v2022.04.23/eris_2022.04.23.AppImage"
chmod +x eris_2022.04.23.AppImage
mv eris_2022.04.23.AppImage ~/bin/eris # e.g. Put appimage in your PATH
## Tools
File types({len(extension_set)-1}) | Tools({len(tool_set)})
----------:| -----""")
for extensions, tools_ in all_tools:
print("%s | %s" % (" ".join("." + extension for extension in extensions),
"".join(f"[{tool.__name__}]({tool.url})" for tool in tools_)))
if __name__ == "__main__":
main()