Skip to content

Commit 4e7f4ec

Browse files
committed
Renamed composer*.json files to "before_8.2" and "8.2_and_later"
1 parent 4b11a19 commit 4e7f4ec

3 files changed

+44
-14
lines changed

autoinstrumentation/php/prepare_files_for_docker_image.sh

+44-14
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ build_native_binaries_for_PHP_version_libc_variant() {
9797
current_user_group_id="$(id -g)"
9898
docker run --rm \
9999
-v "${dest_dir_for_current_args}:/dest_dir" \
100-
${PHP_docker_image} sh -c "\
100+
"${PHP_docker_image}" sh -c "\
101101
mkdir -p /app && cd /app \
102102
${install_compiler_command} \
103103
&& pecl install opentelemetry-${opentelemetry_extension_version} \
@@ -119,20 +119,50 @@ build_native_binaries() {
119119
echo "Built extension binaries"
120120
}
121121

122+
is_earlier_major_minor_version() {
123+
local lhs_version="${1:?}"
124+
local rhs_version="${2:?}"
125+
local lhs_version_major
126+
lhs_version_major=$(echo "${lhs_version}" | cut -d. -f1)
127+
local rhs_version_major
128+
rhs_version_major=$(echo "${rhs_version}" | cut -d. -f1)
129+
130+
if [ "${lhs_version_major}" -lt "${rhs_version_major}" ]; then
131+
echo "true"
132+
return
133+
fi
134+
135+
if [ "${lhs_version_major}" -gt "${rhs_version_major}" ]; then
136+
echo "false"
137+
return
138+
fi
139+
140+
local lhs_version_minor
141+
lhs_version_minor=$(echo "${lhs_version}" | cut -d. -f2)
142+
local rhs_version_minor
143+
rhs_version_minor=$(echo "${rhs_version}" | cut -d. -f2)
144+
145+
if [ "${lhs_version_minor}" -lt "${rhs_version_minor}" ]; then
146+
echo "true"
147+
return
148+
fi
149+
150+
echo "false"
151+
}
152+
122153
select_composer_json_for_PHP_version() {
123154
local PHP_version="${1:?}"
124-
case "${PHP_version}" in
125-
8.0|8.1|8.2)
126-
echo "composer_PHP_${PHP_version}.json"
127-
;;
128-
8.3)
129-
echo "composer_PHP_8.2.json"
130-
;;
131-
*)
132-
echo "Unexpected PHP version: ${PHP_version}"
133-
exit 1
134-
;;
135-
esac
155+
#
156+
# Supported instrumentations are different for PHP prior to 8.2 and for PHP 8.2 and later
157+
# because PHP 8.2 added ability to instrument internal functions
158+
#
159+
local is_PHP_version_before_8_2
160+
is_PHP_version_before_8_2=$(is_earlier_major_minor_version "${PHP_version}" "8.2")
161+
if [ "${is_PHP_version_before_8_2}" == "true" ]; then
162+
echo "composer_for_PHP_before_8.2.json"
163+
else
164+
echo "composer_for_PHP_8.2_and_later.json"
165+
fi
136166
}
137167

138168
download_PHP_packages_for_PHP_version() {
@@ -153,7 +183,7 @@ download_PHP_packages_for_PHP_version() {
153183
-v "${dest_dir_for_current_args}:/app/vendor" \
154184
-v "${PWD}/${composer_json_file_name}:/app/composer.json" \
155185
-w /app \
156-
php:${PHP_version}-cli sh -c "\
186+
"php:${PHP_version}"-cli sh -c "\
157187
apt-get update && apt-get install -y unzip \
158188
&& curl -sS https://getcomposer.org/installer | php -- --filename=composer --install-dir=/usr/local/bin \
159189
&& composer --ignore-platform-req=ext-opentelemetry --no-dev install \

0 commit comments

Comments
 (0)