This repository contains a collection of tools and scripts to support the maintenance and care of Maven projects.
Follow the instructions in Maven SCM documentation to check out Maven to this directory.
If you want to build Maven, you have to install a JDK 21 and Maven 3.9.9.
💡
|
SDKMAN!, a Software Development Kit Manager, helps to install and managing JDKs and Maven version on your machine. |
Some tests are using Testcontainers. This library needs Docker Engine to run properly.
You can execute some of the following tools from the root directory of this repository with the repo command, e.g.,
repo forall -c "${PWD}/bin/gh-subscribe"
Note that it is necessary to provide the full path to the script
to execute it in each repository as the repo
command changes the working directory.
💡
|
Using the Execute the command only on the core repositories
repo forall -r 'core' -c "${PWD}/bin/gh-subscribe" |
The following tools are available in the bin
directory (and have inherent documentation).
-
gh-subscribe - Subscribe to a GitHub repository (watch).
Execute with the
repo
command. -
run-maven - Execute Maven goals for multiple projects.
Execute without the
repo
command (define target projects in thePROJECTS
environment variable).As we intended this script for mass execution of many Maven projects and respective error tracking, it only shows minimal output (essentially success or failure, and a count of the Maven projects to proceed). The script writes more output to log files in the
logs
directory. Each execution will generate a new log file (in a respective subdirectory for each project).🔥This script adds Develocity by configuring the respective Maven extension for all projects.
If you want to make use of it, you have to set the environment variable
USE_DEVELOCITY
totrue
. This will automatically accept upload permissions on your behalf. Whenever you execute Maven projects, you will afterward find a report in Develocity (link will be published in the respectivelogs
output).