diff --git a/readme.md b/readme.md index fcd52bc..933e337 100644 --- a/readme.md +++ b/readme.md @@ -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?** β†’ It’ll 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** \ No newline at end of file +**Internal Use Only – Not for Distribution**