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.

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:
    python3 pommer.py --dir path/to/project
    
  • Use a specific POM file:
    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.

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

Description
Tool to make a Action file for Gitea to compile Kotlin MCP's!
Readme 333 KiB
Languages
Python 100%