Here is my modified version of the script. Note that I gave up on using maven to download JOOQ, as the <parent> setting in the pom.xml seems to override the JOOQ version.
#!/bin/bash
# Load the DDL schema in MySQL
DDL_DIR="`dirname \"$0\"`"
mysql -u root -proot killbill < "${DDL_DIR}"/ddl.sql
# Download the required jars
MVN_DOWNLOAD="mvn org.apache.maven.plugins:maven-dependency-plugin:3.1.2:get -DremoteRepositories=
https://repo.maven.apache.org/maven2"
#JOOQ_VERSION=3.13.4
JOOQ_VERSION=3.20.0
REACTIVE_STREAM_VERSION=1.0.2
MYSQL_VERSION=8.0.21
#$MVN_DOWNLOAD -Dartifact=org.jooq:jooq:$JOOQ_VERSION:jar
#$MVN_DOWNLOAD -Dartifact=org.jooq:jooq-meta:$JOOQ_VERSION:jar
#$MVN_DOWNLOAD -Dartifact=org.jooq:jooq-codegen:$JOOQ_VERSION:jar
cs fetch org.jooq:jooq:$JOOQ_VERSION
cs fetch org.jooq:jooq-meta:$JOOQ_VERSION
cs fetch org.jooq:jooq-codegen:$JOOQ_VERSION
$MVN_DOWNLOAD -Dartifact=org.reactivestreams:reactive-streams:$REACTIVE_STREAM_VERSION:jar
$MVN_DOWNLOAD -Dartifact=mysql:mysql-connector-java:$MYSQL_VERSION:jar
M2_REPOS=~/.m2/repository
#JOOQ="$M2_REPOS/org/jooq"
JOOQ="~/Library/Caches/Coursier/v1/https/
repo1.maven.org/maven2/org/jooq"
MYSQL="$M2_REPOS/mysql/mysql-connector-java/$MYSQL_VERSION/mysql-connector-java-$MYSQL_VERSION.jar"
REACTIVE_STREAMS="$M2_REPOS/org/reactivestreams/reactive-streams/$REACTIVE_STREAM_VERSION/reactive-streams-$REACTIVE_STREAM_VERSION.jar"
JARS="$JOOQ/jooq/$JOOQ_VERSION/jooq-$JOOQ_VERSION.jar:$JOOQ/jooq-meta/$JOOQ_VERSION/jooq-meta-$JOOQ_VERSION.jar:$JOOQ/jooq-codegen/$JOOQ_VERSION/jooq-codegen-$JOOQ_VERSION.jar:$REACTIVE_STREAMS:$MYSQL:.";
$MVN_DOWNLOAD -Dartifact=jakarta.xml.bind:jakarta.xml.bind-api:3.0.0:jar
$MVN_DOWNLOAD -Dartifact=io.r2dbc:r2dbc-spi:1.0.0.RELEASE:jar
JAXB="$M2_REPOS/jakarta/xml/bind/jakarta.xml.bind-api/3.0.0/jakarta.xml.bind-api-3.0.0.jar"
R2DBC="$M2_REPOS/io/r2dbc/r2dbc-spi/1.0.0.RELEASE/r2dbc-spi-1.0.0.RELEASE.jar"
JARS="$JAXB:$R2DBC:$JARS"
# Run jOOQ's generation tool
java -cp $JARS org.jooq.codegen.GenerationTool ./src/main/resources/gen.xml