The script performs these actions
- Clone each Quarkiverse repository
- Create a branch
- Run the jbang script
- Commit the changes
- Creates a pull-request by pushing a branch to the repository (the GitHub user must have write access to the repository)
It requires the following tools to be installed and configured:
- gh CLI tool (https://cli.github.com/manual/)
- jq (https://stedolan.github.io/jq/)
- JBang (https://www.jbang.dev/)
./patch.sh -b {1} -t {2} -m {3} -j {4} -f {5}
Where the parameters are:
-b
- The branch to create the PR from-t
- The PR title-m
- The PR body-j
- The JBang script to run-f
- A filter for the repositories to patch. If not specified, all repositories will be patched.
Example:
./patch.sh -b add_scm -t "Include \`scm\` info" -m "This includes the \`scm\` tag in the project parent" -j $(pwd)/AddScm.java -f github
A pull-requests.txt
will be created with the list of pull-requests created in this process.