File create_kit.sh of Package gradle

GRADLE_MAIN=8.14
GRADLE_MINOR=2
if ${GRADLE_MINOR} -gt 0; then
  GRADLE_NULL=""
else
  GRADLE_NULL=".${GRADLE_MINOR}"
fi

JAVA_VERSIONS="1.8.0 11 17"

src_dir=$(pwd)

# update version in _service
#em _service

# download src
#osc service mr

# prep build env (GRADLE_HOME doesn't want paths with ":" like security:logging/gradle)
BUILD_DIR=/tmp/gradle-build
rm -rf ${BUILD_DIR}
mkdir -p ${BUILD_DIR}
pushd ${BUILD_DIR}

unzip ${src_dir}/gradle-${GRADLE_MAIN}${GRADLE_NULL}-bin.zip
mv gradle-${GRADLE_MAIN}${GRADLE_NULL} gradle-bin

GRADLE_HOME=${BUILD_DIR}/gradle-bin
GRADLE_USER_HOME=${BUILD_DIR}/gradle-user
GRADLE_CACHE=${BUILD_DIR}/gradle-cache
GRADLE_OPTS="-Xmx1024m"
YARN_CACHE_FOLDER=${GRADLE_USER_HOME}/yarn
LANG=en_US.UTF-8

tar xf ${src_dir}/gradle-${GRADLE_MAIN}.${GRADLE_MINOR}.tar.gz
pushd gradle-${GRADLE_MAIN}.${GRADLE_MINOR}

# remove vendor (was not documented patch 0001-drop-setVendor-for-Java.patch).
for i in $(grep -r "vendor =.*ADOPTIUM" | sed "s;: .*;;g"); do sed -i -r "s:(vendor =.*ADOPTIUM$):// openSUSE-disabled -> \1:g" $i; done

# remove android-studio
sed -i '/<component group="android-studio" name="android-studio".*">/,/<\/component>/d' gradle/verification-metadata.xml

# adapt javaparser to fix build error
sed -i 's:val javaParserVersion.*:val javaParserVersion = "3.25.6":g' build-logic-commons/build-platform/build.gradle.kts

rm -rf build
mkdir build
cp ${src_dir}/all-released-versions.json build


JAVA_VER=$(java --version | grep openjdk | sed -r "s:^[^[0-9]*([0-9]*).*:\1:g")
echo "Start building with Java ${JAVA_VER}"
JAVA_HOMES=""
for ver in ${JAVA_VERSIONS}; do
  JAVA_HOMES=,/usr/lib64/jvm/java-${ver}-openjdk-${ver}
done
JAVA_HOMES=${JAVA_HOMES} \
${GRADLE_HOME}/bin/gradle \
  --gradle-user-home ${GRADLE_USER_HOME} \
  --project-cache-dir ${GRADLE_CACHE} \
  -Dfile.encoding=UTF-8 \
  --project-prop finalRelease=true \
  --project-prop org.gradle.java.installations.fromEnv=${JAVA_HOMES} \
  --write-verification-metadata pgp,sha256 \
  :distributions-full:binDistributionZip

# gradle cache can be shared
#   https://docs.gradle.org/current/userguide/dependency_resolution.html#sub:shared-readonly-cache
rm -rf ${GRADLE_USER_HOME}/caches/modules-2/files-2.1/android-studio
rm -rf ${GRADLE_USER_HOME}/caches/modules-2/modules-2.lock
if test -d ${GRADLE_USER_HOME}/caches/modules-2; then
  echo "Compressing cache"
  tar c -C ${BUILD_DIR} gradle-user/caches/modules-2 | xz -e -9 > gradle-kit.tar.xz
  mv gradle-kit.tar.xz ${src_dir}
  cp gradle/verification-metadata.xml ${src_dir}
  cp gradle/verification-keyring.keys ${src_dir}
else
  echo "${GRADLE_USER_HOME}/modules-2 doesn't exist"
fi

popd
popd

#rm -rf ${BUILD_DIR}
openSUSE Build Service is sponsored by