Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a temurin-build build arg --use-adoptium-devkit <devkit_tag> #3706

Merged
merged 36 commits into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e23e778
Add new build arg option to specify an existing folder for openjdk bu…
andrew-m-leonard Mar 11, 2024
dde1091
Add new build arg option to specify an existing folder for openjdk bu…
andrew-m-leonard Mar 11, 2024
e8deae1
Add new build arg option to specify an existing folder for openjdk bu…
andrew-m-leonard Mar 11, 2024
1fc6523
Add new build arg option to specify an existing folder for openjdk bu…
andrew-m-leonard Mar 11, 2024
04c823d
Add new build arg option to specify an existing folder for openjdk bu…
andrew-m-leonard Mar 11, 2024
b22db06
Add new build arg option to specify an existing folder for openjdk bu…
andrew-m-leonard Mar 12, 2024
c61eb07
Add new build arg option to specify an existing folder for openjdk bu…
andrew-m-leonard Mar 12, 2024
df71404
Merge branch 'master' of github.com:adoptium/temurin-build into build…
andrew-m-leonard Mar 12, 2024
c991ba2
Add new build arg option to specify an existing folder for openjdk bu…
andrew-m-leonard Mar 12, 2024
f27b41a
Merge branch 'master' of github.com:adoptium/temurin-build into build…
andrew-m-leonard Mar 14, 2024
05b10c1
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
be12780
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
22a462e
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
e67607c
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
c1f5608
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
5cc48e2
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
0da30fc
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
b318266
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
c2b8222
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
da7a561
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
655bdbe
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
e32f296
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
de00b87
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
e771547
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
475a4f5
Build using a linux devkit
andrew-m-leonard Mar 14, 2024
147b4b2
Reproducible jdk21u linux build fixes and updates for debug symbols
andrew-m-leonard Mar 15, 2024
84f75ec
use devkit
andrew-m-leonard Mar 20, 2024
532e5d1
Merge branch 'master' of github.com:adoptium/temurin-build into use_d…
andrew-m-leonard Mar 21, 2024
2b8a97a
Merge branch 'master' into use_devkit
karianna Mar 24, 2024
8a42206
Merge branch 'master' of github.com:adoptium/temurin-build into use_d…
andrew-m-leonard Mar 25, 2024
336feef
Use a linux devkit
andrew-m-leonard Mar 25, 2024
48e57f9
Merge remote-tracking branch 'andrewleonard/use_devkit' into use_devkit
andrew-m-leonard Mar 25, 2024
f89014b
Merge branch 'master' of github.com:adoptium/temurin-build into use_d…
andrew-m-leonard Mar 27, 2024
3a38468
Update sbin/prepareWorkspace.sh
andrew-m-leonard Mar 28, 2024
41fddc8
Update sbin/prepareWorkspace.sh
andrew-m-leonard Mar 28, 2024
ea4b8e1
Update README.md
andrew-m-leonard Mar 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,10 @@ This is typically used in conjunction with -b.
--use-jep319-certs
Use certs defined in JEP319 in Java 8/9. Deprecated, has no effect.

--user-openjdk-build-root-directory <openjdk build root path>
Use a user specified openjdk build root directory, rather than the OpenJDK git source directory.
The directory must be empty, or not exist (in which case it gets created).

-v, --version
specify the OpenJDK version to build e.g. jdk8u. Left for backwards compatibility.

Expand Down
2 changes: 2 additions & 0 deletions build-farm/platform-specific-configurations/linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,8 @@ fi

if [[ "${CONFIGURE_ARGS}" =~ .*"--with-devkit=".* ]]; then
echo "Using gcc from DevKit toolchain specified in configure args"
elif [[ "${BUILD_ARGS}" =~ .*"--use-adoptium-devkit".* ]]; then
echo "Using gcc from Adoptium DevKit toolchain specified in --use-adoptium-devkit build args"
else
if [ "${VARIANT}" == "${BUILD_VARIANT_DRAGONWELL}" ] && [ "$JAVA_FEATURE_VERSION" -eq 11 ] && [ -r /usr/local/gcc9/ ] && [ "${ARCHITECTURE}" == "aarch64" ]; then
# GCC9 rather than 10 requested by Alibaba for now
Expand Down
110 changes: 80 additions & 30 deletions sbin/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,13 @@ addConfigureArgIfValueIsNotEmpty() {
fi
}

# Configure the DevKit if required
configureDevKitConfigureParameter() {
if [[ -n "${BUILD_CONFIG[USE_ADOPTIUM_DEVKIT]}" ]]; then
addConfigureArg "--with-devkit=" "${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/devkit"
fi
}

# Configure the boot JDK
configureBootJDKConfigureParameter() {
addConfigureArgIfValueIsNotEmpty "--with-boot-jdk=" "${BUILD_CONFIG[JDK_BOOT_DIR]}"
Expand Down Expand Up @@ -263,8 +270,6 @@ getOpenJdkVersion() {
# OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)

configureVersionStringParameter() {
stepIntoTheWorkingDirectory

local openJdkVersion=$(getOpenJdkVersion)
echo "OpenJDK repo tag is ${openJdkVersion}"

Expand Down Expand Up @@ -505,6 +510,7 @@ configureZlibLocation() {
configureCommandParameters() {
configureVersionStringParameter
configureBootJDKConfigureParameter
configureDevKitConfigureParameter
configureShenandoahBuildParameter
configureMacOSCodesignParameter
configureDebugParameters
Expand Down Expand Up @@ -544,28 +550,39 @@ configureCommandParameters() {
echo "Completed configuring the version string parameter, config args are now: ${CONFIGURE_ARGS}"
}

# Make sure we're in the source directory for OpenJDK now
stepIntoTheWorkingDirectory() {
cd "${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}" || exit
# Make sure we're in the build root directory for OpenJDK now
# This maybe the OpenJDK source directory, or a user supplied build directory
stepIntoTheOpenJDKBuildRootDirectory() {
if [ -z "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" ] ; then
cd "${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}" || exit

# corretto/corretto-8 (jdk-8 only) nest their source under /src in their dir
if [ "${BUILD_CONFIG[BUILD_VARIANT]}" == "${BUILD_VARIANT_CORRETTO}" ] && [ "${BUILD_CONFIG[OPENJDK_FEATURE_NUMBER]}" == "8" ]; then
cd "src"
# corretto/corretto-8 (jdk-8 only) nest their source under /src in their dir
if [ "${BUILD_CONFIG[BUILD_VARIANT]}" == "${BUILD_VARIANT_CORRETTO}" ] && [ "${BUILD_CONFIG[OPENJDK_FEATURE_NUMBER]}" == "8" ]; then
cd "src"
fi
else
if [ ! -d "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" ] ; then
echo "ERROR: User supplied openjdk build root directory does not exist: ${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}"
exit 2
else
echo "Using user supplied openjdk build root directory: ${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}"
cd "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" || exit
fi
fi

echo "Should have the source, I'm at $PWD"
echo "Should be in the openjdk build root directory, I'm at $PWD"
}

buildTemplatedFile() {
echo "Configuring command and using the pre-built config params..."

stepIntoTheWorkingDirectory
stepIntoTheOpenJDKBuildRootDirectory

echo "Currently at '${PWD}'"

if [[ "${BUILD_CONFIG[ASSEMBLE_EXPLODED_IMAGE]}" != "true" ]]; then
FULL_CONFIGURE="bash ./configure --verbose ${CONFIGURE_ARGS}"
echo "Running ./configure with arguments '${FULL_CONFIGURE}'"
FULL_CONFIGURE="bash ${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}/configure --verbose ${CONFIGURE_ARGS}"
echo "Running ${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}/configure with arguments '${FULL_CONFIGURE}'"
else
FULL_CONFIGURE="echo \"Skipping configure because we're assembling an exploded image\""
echo "Skipping configure because we're assembling an exploded image"
Expand Down Expand Up @@ -599,7 +616,7 @@ buildTemplatedFile() {
# Check if strace is available
if rpm --version && rpm -q strace ; then
echo "Strace and rpm is available on system"
FULL_MAKE_COMMAND="mkdir build/straceOutput \&\& strace -o build/straceOutput/outputFile -ff -e trace=open,openat,execve ${FULL_MAKE_COMMAND}"
FULL_MAKE_COMMAND="mkdir ${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/straceOutput \&\& strace -o ${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/straceOutput/outputFile -ff -e trace=open,openat,execve ${FULL_MAKE_COMMAND}"
else
echo "Strace is not available on system"
exit 2
Expand Down Expand Up @@ -653,7 +670,7 @@ executeTemplatedFile() {
if [ "${BUILD_CONFIG[CREATE_SOURCE_ARCHIVE]}" == "true" ]; then
createSourceArchive
fi
stepIntoTheWorkingDirectory
stepIntoTheOpenJDKBuildRootDirectory

echo "Currently at '${PWD}'"

Expand All @@ -678,8 +695,12 @@ executeTemplatedFile() {

if [[ "${BUILD_CONFIG[OPENJDK_FEATURE_NUMBER]}" -ge 19 || "${BUILD_CONFIG[OPENJDK_FEATURE_NUMBER]}" -eq 17 ]]; then
if [ "${BUILD_CONFIG[RELEASE]}" == "true" ]; then
local specFile="./spec.gmk"
if [ -z "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" ] ; then
specFile="build/*/spec.gmk"
fi
# For "release" reproducible builds get openjdk timestamp used
local buildTimestamp=$(grep SOURCE_DATE_ISO_8601 build/*/spec.gmk | tr -s ' ' | cut -d' ' -f4)
local buildTimestamp=$(grep SOURCE_DATE_ISO_8601 ${specFile} | tr -s ' ' | cut -d' ' -f4)
# BusyBox doesn't use T Z iso8601 format
buildTimestamp="${buildTimestamp//T/ }"
buildTimestamp="${buildTimestamp//Z/}"
Expand All @@ -693,7 +714,9 @@ executeTemplatedFile() {

createOpenJDKFailureLogsArchive() {
echo "OpenJDK make failed, archiving make failed logs"
cd build/*
if [ -z "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" ] ; then
cd build/*
fi

local adoptLogArchiveDir="TemurinLogsArchive"

Expand Down Expand Up @@ -958,7 +981,7 @@ generateSBoM() {
if [[ "${BUILD_CONFIG[ENABLE_SBOM_STRACE]}" == "true" ]]; then
echo "Executing Analysis Script"
tempBldDir="$(dirname "${BUILD_CONFIG[WORKSPACE_DIR]}")"
bash "$SCRIPT_DIR/../tooling/strace_analysis.sh" "${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}/build/straceOutput" "$tempBldDir" "$javaHome" "$classpath" "$sbomJson"
bash "$SCRIPT_DIR/../tooling/strace_analysis.sh" "${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/straceOutput" "$tempBldDir" "$javaHome" "$classpath" "$sbomJson"
fi

# Print SBOM location
Expand All @@ -975,19 +998,26 @@ checkingToolSummary() {

# Determine FreeType version being used in the build from either the system or bundled freetype.h definition
addFreeTypeVersionInfo() {
local specFile
if [ -z "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" ] ; then
specFile="${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}/build/*/spec.gmk"
else
specFile="${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}/spec.gmk"
fi

# Default to "system"
local FREETYPE_TO_USE="system"
if [ "${BUILD_CONFIG[OPENJDK_CORE_VERSION]}" != "${JDK8_CORE_VERSION}" ]; then
# For jdk-11+ get FreeType used from build spec.gmk, which can be "bundled" or "system"
FREETYPE_TO_USE="$(grep "^FREETYPE_TO_USE[ ]*:=" ${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}/build/*/spec.gmk | sed "s/^FREETYPE_TO_USE[ ]*:=[ ]*//")"
FREETYPE_TO_USE="$(grep "^FREETYPE_TO_USE[ ]*:=" ${specFile} | sed "s/^FREETYPE_TO_USE[ ]*:=[ ]*//")"
fi

echo "FREETYPE_TO_USE=${FREETYPE_TO_USE}"

local version="Unknown"
local freetypeInclude=""
if [ "${FREETYPE_TO_USE}" == "system" ]; then
local FREETYPE_CFLAGS="$(grep "^FREETYPE_CFLAGS[ ]*:=" ${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}/build/*/spec.gmk | sed "s/^FREETYPE_CFLAGS[ ]*:=[ ]*//" | sed "s/\-I//g")"
local FREETYPE_CFLAGS="$(grep "^FREETYPE_CFLAGS[ ]*:=" ${specFile} | sed "s/^FREETYPE_CFLAGS[ ]*:=[ ]*//" | sed "s/\-I//g")"
echo "FREETYPE_CFLAGS include paths=${FREETYPE_CFLAGS}"

# Search freetype include path for freetype.h
Expand Down Expand Up @@ -1066,12 +1096,18 @@ addGLIBCforLinux() {
addSBOMMetadataTools "${javaHome}" "${classpath}" "${sbomJson}" "MUSL" "${MUSL_VERSION}"
else
# Get GLIBC from configured build spec.gmk sysroot and features.h definitions
local specFile
if [ -z "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" ] ; then
specFile="${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}/build/*/spec.gmk"
else
specFile="${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}/spec.gmk"
fi

# Get CC and SYSROOT_CFLAGS from the built build spec.gmk.
local CC="$(grep "^CC[ ]*:=" ${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}/build/*/spec.gmk | sed "s/^CC[ ]*:=[ ]*//")"
local CC="$(grep "^CC[ ]*:=" ${specFile} | sed "s/^CC[ ]*:=[ ]*//")"
# Remove env=xx from CC, so we can call from bash to get __GLIBC.
CC=$(echo "$CC" | tr -s " " | sed -E "s/[^ ]*=[^ ]*//g")
local SYSROOT_CFLAGS="$(grep "^SYSROOT_CFLAGS[ ]*:=" ${BUILD_CONFIG[WORKSPACE_DIR]}/${BUILD_CONFIG[WORKING_DIR]}/${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}/build/*/spec.gmk | tr -s " " | cut -d" " -f3-)"
local SYSROOT_CFLAGS="$(grep "^SYSROOT_CFLAGS[ ]*:=" ${specFile} | tr -s " " | cut -d" " -f3-)"

local GLIBC_MAJOR="$(echo "#include <features.h>" | $CC $SYSROOT_CFLAGS -dM -E - 2>&1 | tr -s " " | grep "#define __GLIBC__" | cut -d" " -f3)"
local GLIBC_MINOR="$(echo "#include <features.h>" | $CC $SYSROOT_CFLAGS -dM -E - 2>&1 | tr -s " " | grep "#define __GLIBC_MINOR__" | cut -d" " -f3)"
Expand Down Expand Up @@ -1192,16 +1228,21 @@ parseJavaVersionString() {

# Print the version string so we know what we've produced
printJavaVersionString() {
stepIntoTheWorkingDirectory
stepIntoTheOpenJDKBuildRootDirectory

local imagesFolder="images"
if [ -z "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" ] ; then
imagesFolder="build/*/images"
fi

case "${BUILD_CONFIG[OS_KERNEL_NAME]}" in
"darwin")
# shellcheck disable=SC2086
PRODUCT_HOME=$(ls -d ${PWD}/build/*/images/${BUILD_CONFIG[JDK_PATH]}/Contents/Home)
PRODUCT_HOME=$(ls -d ${PWD}/${imagesFolder}/${BUILD_CONFIG[JDK_PATH]}/Contents/Home)
;;
*)
# shellcheck disable=SC2086
PRODUCT_HOME=$(ls -d ${PWD}/build/*/images/${BUILD_CONFIG[JDK_PATH]})
PRODUCT_HOME=$(ls -d ${PWD}/${imagesFolder}/${BUILD_CONFIG[JDK_PATH]})
;;
esac
if [[ -d "$PRODUCT_HOME" ]]; then
Expand Down Expand Up @@ -1284,9 +1325,13 @@ cleanAndMoveArchiveFiles() {

echo "Moving archive content to target archive paths and cleaning unnecessary files..."

stepIntoTheWorkingDirectory
stepIntoTheOpenJDKBuildRootDirectory

cd build/*/images || return
local imagesFolder="images"
if [ -z "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" ] ; then
imagesFolder="build/*/images"
fi
cd ${imagesFolder} || return

echo "Currently at '${PWD}'"

Expand Down Expand Up @@ -1706,7 +1751,7 @@ getLatestTagJDK11plus() {
getFirstTagFromOpenJDKGitRepo() {

# Save current directory of caller so we can return to that directory at the end of this function.
# Some callers are not in the git repo root, but instead build/*/images directory like the archive functions
# Some callers are not in the git repo root, but instead build root sub-directory like the archive functions
# and any function called after cleanAndMoveArchiveFiles().
local savePwd="${PWD}"

Expand Down Expand Up @@ -2051,15 +2096,20 @@ addSemVer() { # Pulls the semantic version from the tag associated with the open

# Disable shellcheck in here as it causes issues with ls on mac
mirrorToJRE() {
stepIntoTheWorkingDirectory
stepIntoTheOpenJDKBuildRootDirectory

local imagesFolder="images"
if [ -z "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" ] ; then
imagesFolder="build/*/images"
fi

# shellcheck disable=SC2086
case "${BUILD_CONFIG[OS_KERNEL_NAME]}" in
"darwin")
JRE_HOME=$(ls -d ${PWD}/build/*/images/${BUILD_CONFIG[JRE_PATH]}/Contents/Home)
JRE_HOME=$(ls -d ${PWD}/${imagesFolder}/${BUILD_CONFIG[JRE_PATH]}/Contents/Home)
;;
*)
JRE_HOME=$(ls -d ${PWD}/build/*/images/${BUILD_CONFIG[JRE_PATH]})
JRE_HOME=$(ls -d ${PWD}/${imagesFolder}/${BUILD_CONFIG[JRE_PATH]})
;;
esac

Expand Down
2 changes: 1 addition & 1 deletion sbin/common/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ createOpenJDKArchive()
local fullPath
if [[ "${BUILD_CONFIG[OS_KERNEL_NAME]}" != "darwin" ]]; then
fullPath=$(crossPlatformRealPath "$repoDir")
if [[ "$fullPath" != "${BUILD_CONFIG[WORKSPACE_DIR]}"* ]]; then
if [[ "$fullPath" != "${BUILD_CONFIG[WORKSPACE_DIR]}"* ]] && { [[ -z "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}" ]] || [[ "$fullPath" != "${BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]}"* ]]; }; then
echo "Requested to archive a dir outside of workspace"
exit 1
fi
Expand Down
15 changes: 15 additions & 0 deletions sbin/common/config_init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,13 @@ TARGET_DIR
TARGET_FILE_NAME
TMP_CONTAINER_NAME
TMP_SPACE_BUILD
USE_ADOPTIUM_DEVKIT
USE_DOCKER
USE_JEP319_CERTS
USE_SSH
USER_SUPPLIED_CONFIGURE_ARGS
USER_SUPPLIED_MAKE_ARGS
USER_OPENJDK_BUILD_ROOT_DIRECTORY
VENDOR
VENDOR_URL
VENDOR_BUG_URL
Expand All @@ -121,6 +123,7 @@ WORKSPACE_DIR
# <WORKSPACE_DIR>/config Configuration /openjdk/config $(pwd)/workspace/config
# <WORKSPACE_DIR>/<WORKING_DIR> Build area /openjdk/build $(pwd)/workspace/build/
# <WORKSPACE_DIR>/<WORKING_DIR>/<OPENJDK_SOURCE_DIR> Source code /openjdk/build/src $(pwd)/workspace/build/src
# <WORKSPACE_DIR>/<WORKING_DIR>/devkit DevKit download /openjdk/build/devkit $(pwd)/workspace/build/devkit
# <WORKSPACE_DIR>/target Destination of built artifacts /openjdk/target $(pwd)/workspace/target

# Helper code to perform index lookups by name
Expand Down Expand Up @@ -355,6 +358,12 @@ function parseConfigurationArguments() {
"--use-jep319-certs" )
BUILD_CONFIG[USE_JEP319_CERTS]=true;;

"--use-adoptium-devkit")
BUILD_CONFIG[USE_ADOPTIUM_DEVKIT]="$1"; shift;;

"--user-openjdk-build-root-directory" )
BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]="$1"; shift;;

"--vendor" | "-ve" )
BUILD_CONFIG[VENDOR]="$1"; shift;;

Expand Down Expand Up @@ -490,6 +499,9 @@ function configDefaults() {
# Default to no supplied reproducible build date, uses current date
BUILD_CONFIG[BUILD_REPRODUCIBLE_DATE]=""

# Default to no user supplied openjdk build root directory
BUILD_CONFIG[USER_OPENJDK_BUILD_ROOT_DIRECTORY]=""

# The default behavior of whether we want to create a separate debug symbols archive
BUILD_CONFIG[CREATE_DEBUG_IMAGE]="false"

Expand Down Expand Up @@ -593,6 +605,9 @@ function configDefaults() {

BUILD_CONFIG[CLEAN_LIBS]=false

# Default to no Adoptium DevKit
BUILD_CONFIG[USE_ADOPTIUM_DEVKIT]=""

# By default dont backport JEP318 certs to < Java 10
BUILD_CONFIG[USE_JEP319_CERTS]=false

Expand Down
Loading
Loading