86 lines
2.0 KiB
Markdown
86 lines
2.0 KiB
Markdown
# 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** |