readme.md updated to fit

This commit is contained in:
2025-05-20 14:40:19 +02:00
parent aa5349f704
commit cc2fa8d1d6

View File

@@ -1,29 +1,31 @@
# 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.
**Pommer** is an internal Python tool designed to streamline CI workflow generation for **Java/Kotlin projects** using **Gradle**. It scans your project for build files, analyzes project metadata, and generates a Gitea CI workflow along with a local build script for convenience.
> 🛠️ **Now supports Gradle!**
> The **Maven-compatible version** is maintained on a separate Git branch.
---
## ⚠️ Internal Use Only
> **This tool is for internal use within Gitea only. Do not distribute or share to outsiders.**
> **This tool is for internal use within Gitea only. Do not distribute or share externally.**
---
## 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.
* 🔍 **Automatic discovery** of Gradle (`build.gradle` / `build.gradle.kts`) and Maven (`pom.xml`) projects.
* 📦 **Parses project metadata** (artifact ID, group ID, version, Java/Kotlin usage, etc.).
* 🏗️ **Generates a Gitea CI workflow**, compatible with multi-module projects.
* 🧪 **Creates a `build.sh` script** for local testing and development.
* 🎯 **Configurable**: Target a specific directory or file to process.
---
## Usage
No installation required. Run directly with Python 3.
No installation required. Just run with Python 3:
```bash
python3 pommer.py
@@ -31,18 +33,21 @@ 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 |
| Option | Description |
| ----------------------------------------------------------------------------------- | -------------------------------------------------- |
| `-d`, `--dir` | Base directory to scan (default: `.`) |
| `-p`, `--specific-pom` | (For Maven only) Path to a specific `pom.xml` file |
| *Gradle projects are detected automatically by presence of `build.gradle`/*`kts`*.* | |
#### Examples
- Scan a specific directory:
* Scan a specific directory:
```bash
python3 pommer.py --dir path/to/project
```
- Use a specific POM file:
* Use a specific Maven POM file (legacy mode):
```bash
python3 pommer.py --specific-pom path/to/pom.xml
```
@@ -51,45 +56,50 @@ python3 pommer.py
## Output
- **Gitea Workflow:**
`.gitea/workflows/maven_build.yaml`
Automates build and artifact upload for all detected Maven projects.
* 📄 **Gitea Workflow:**
`.gitea/workflows/build.yaml`
Automates build and artifact upload for all detected Gradle (and Maven, if applicable) projects.
- **Build Script:**
`build.sh`
Simple script for local Maven builds.
* 🔧 **Build Script:**
`build.sh`
Simple, local script to build all projects using Gradle or Maven, as detected.
![](img.png)
---
### _**Comment on Compile Times with CI/CD :**_
## ⚡ CI/CD Compile Time Notice
_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!**_
> ⚠️ **Slow compile or stuck builds?**
>
> * **Installing JDK** and setting up the runner can take a while.
> * If it seems stuck on **"Downloading JDK 21"**, be patient and **monitor server network usage**.
> * **No network activity for several minutes?** → Try **restarting the runner**.
> * The **final steps ("finishing up") are slow**, but usually not broken.
> * **Local builds slow?** → Itll be even slower on CI/CD.
---
## Requirements
- Python 3.7+
- Only standard Python libraries required
* Python 3.7+
* No third-party dependencies (standard library only)
---
## Notes
- The workflow uses the highest Java version detected among all modules.
- Kotlin support is detected automatically.
- For internal CI/CD use only.
* Gradle is now the primary build system supported.
* Maven support is preserved in the legacy branch.
* Java/Kotlin support is detected automatically across modules.
* The workflow always uses the **highest JDK version** found in the project tree.
---
## Support
For questions or issues, contact [Internal Team/Contact Person].
Contact rattatwinko help or feature requests.
---
## License
**Internal Use Only Not for Distribution**
**Internal Use Only Not for Distribution**