diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..929faf4 --- /dev/null +++ b/readme.md @@ -0,0 +1,86 @@ +# Pommer 🍟 + +**Pommer** is an internal Python tool designed to streamline CI workflow generation for Java/Kotlin Maven projects. It scans for `pom.xml` files, analyzes project metadata, and generates a Gitea CI workflow along with a local build script. + +--- + +## ⚠️ Internal Use Only + +> **This tool is for internal use within Gitea only. Do not distribute or share to outsiders.** + +--- + +## Features + +- **Automatic discovery** of all `pom.xml` files in a repository. +- **Parses project metadata** (artifactId, groupId, version, Java/Kotlin detection, etc.). +- **Generates a Gitea CI workflow** compatible with multi-module Maven projects. +- **Creates a local `build.sh` script** for convenience. +- **Configurable**: Target a specific directory or POM file. + +--- + +## Usage + +No installation required. Run directly with Python 3. + +```bash +python3 pommer.py +``` + +### Options + +| Option | Description | +|------------------------|-------------------------------------------------------------| +| `-d`, `--dir` | Base directory to scan for `pom.xml` files (default: `.`) | +| `-p`, `--specific-pom` | Path to a specific `pom.xml` file to process | + +#### Examples + +- Scan a specific directory: + ```bash + python3 pommer.py --dir path/to/project + ``` +- Use a specific POM file: + ```bash + python3 pommer.py --specific-pom path/to/pom.xml + ``` + +--- + +## Output + +- **Gitea Workflow:** + `.gitea/workflows/maven_build.yaml` + Automates build and artifact upload for all detected Maven projects. + +- **Build Script:** + `build.sh` + Simple script for local Maven builds. + +--- + +## Requirements + +- Python 3.7+ +- Only standard Python libraries required + +--- + +## Notes + +- The workflow uses the highest Java version detected among all modules. +- Kotlin support is detected automatically. +- For internal CI/CD use only. + +--- + +## Support + +For questions or issues, contact [Internal Team/Contact Person]. + +--- + +## License + +**Internal Use Only – Not for Distribution** \ No newline at end of file