Files
pommer/readme.md

95 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.
![](img.png)
### _**Comment on Compile Times with CI/CD :**_
_Currently installing **JDK** and finishing up the **Proccess** takes ages! If it is **stuck** on **"Downloading JDK 21"** for a few minutes just **wait**. If you arent sure if its actually doing stuff ; **check the Network Usage of the Server**. If it is **0** for a long time then **restart the Runner!** Finishing up also takes ages ; but that **usually doesn't get stuck** as often. But if just **reboot**!_
_**For big Projects it might take a while** ; if compiling via Maven on your local Instance takes ages ; **it will take even longer on Gitea CI/CD!**_
---
## 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**