logo image
--- **Pommer** is an internal Python tool designed to streamline **CI workflow generation for Java/Kotlin projects** using **Maven**. It scans your project for `pom.xml` files, analyzes project metadata, and generates a Gitea CI workflow along with a local build script for convenience. > βš™οΈ **This is the stable, Maven-only branch.** > For Gradle support, switch to the `master` branch. --- ## ⚠️ Internal Use Only > **This tool is for internal use within the local Gitea Instance only. Do not distribute or share externally.** --- ## Features * πŸ” **Automatic discovery** of Maven projects (`pom.xml`) * πŸ“¦ **Parses project metadata** (artifact ID, group ID, version, Java/Kotlin usage, etc.) * πŸ—οΈ **Generates a Gitea CI workflow**, compatible with multi-module Maven setups * πŸ§ͺ **Creates a `build.sh` script** for local Maven testing * 🎯 **Configurable**: Target a specific directory or file --- ## Usage No installation required. Just run with Python 3: ```bash python3 pommer.py ``` ### Options | Option | Description | | ---------------------- | ------------------------------------- | | `-d`, `--dir` | Base directory to scan (default: `.`) | | `-p`, `--specific-pom` | Path to a specific `pom.xml` file | #### 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/build.yaml` Automates build and artifact upload for all detected Maven projects. * πŸ”§ **Build Script:** `build.sh` Local script to build all Maven projects easily. --- ## ⚑ CI/CD Compile Time Notice > ⚠️ **Slow compile or stuck builds?** > > * **Installing JDK** and setting up the runner can take time. > * If it’s stuck on **"Downloading JDK 21"**, be patient and **check network usage**. > * **No activity?** β†’ Restart the runner. > * Final build steps are **slow but usually fine**. > * **Local builds slow?** β†’ Expect slower CI/CD times. --- ## Requirements * Python 3.7+ * No third-party dependencies (standard library only) --- ## Notes * This branch **only supports Maven**. * For Gradle support, use the `gradle-support` branch. * Java/Kotlin usage is detected automatically. * The workflow uses the **highest JDK version** found. --- ## Support Contact **rattatwinko** for help or feature requests. --- ## License **Internal Use Only – Not for Distribution** More details are in pommer.py