mirror of
https://github.com/ironfox-oss/IronFox.git
synced 2026-05-19 14:18:17 -04:00
@@ -5,18 +5,13 @@
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
if [[ -z "${IRONFOX_SET_ENVS+x}" ]]; then
|
||||
bash -x $(dirname $0)/env.sh
|
||||
fi
|
||||
bash -x $(dirname $0)/env.sh
|
||||
source $(dirname $0)/env.sh
|
||||
|
||||
# Include utilities
|
||||
source "${IRONFOX_UTILS}"
|
||||
|
||||
# Get our platform, OS, and architecture
|
||||
source "${IRONFOX_ENV_HELPERS}"
|
||||
|
||||
function error_fn() {
|
||||
error_fn() {
|
||||
echo
|
||||
echo -e "\033[31mSomething went wrong! The script failed.\033[0m"
|
||||
echo -e "\033[31mPlease report this (with the output message) to https://gitlab.com/ironfox-oss/IronFox/-/issues\033[0m"
|
||||
|
||||
@@ -23,11 +23,9 @@
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
bash -x $(dirname $0)/env.sh
|
||||
source $(dirname $0)/env.sh
|
||||
|
||||
# Include utilities
|
||||
source "${IRONFOX_UTILS}"
|
||||
|
||||
if [[ -z "${IRONFOX_FROM_BUILD+x}" ]]; then
|
||||
echo_red_text 'ERROR: Do not call build-if.sh directly. Instead, use build.sh.' >&1
|
||||
exit 1
|
||||
@@ -42,40 +40,37 @@ fi
|
||||
case "$1" in
|
||||
arm64)
|
||||
# arm64-v8a
|
||||
IRONFOX_TARGET_ARCH='arm64'
|
||||
readonly IRONFOX_TARGET_ABI='arm64-v8a'
|
||||
readonly IRONFOX_TARGET_PRETTY='ARM64'
|
||||
readonly IRONFOX_TARGET_RUST='arm64'
|
||||
export IRONFOX_TARGET_ARCH='arm64'
|
||||
export IRONFOX_TARGET_ABI='arm64-v8a'
|
||||
export IRONFOX_TARGET_PRETTY='ARM64'
|
||||
IRONFOX_TARGET_RUST='arm64'
|
||||
;;
|
||||
arm)
|
||||
# armeabi-v7a
|
||||
IRONFOX_TARGET_ARCH='arm'
|
||||
readonly IRONFOX_TARGET_ABI='armeabi-v7a'
|
||||
readonly IRONFOX_TARGET_PRETTY='ARM'
|
||||
readonly IRONFOX_TARGET_RUST='arm'
|
||||
export IRONFOX_TARGET_ARCH='arm'
|
||||
export IRONFOX_TARGET_ABI='armeabi-v7a'
|
||||
export IRONFOX_TARGET_PRETTY='ARM'
|
||||
IRONFOX_TARGET_RUST='arm'
|
||||
;;
|
||||
x86_64)
|
||||
# x86_64
|
||||
IRONFOX_TARGET_ARCH='x86_64'
|
||||
readonly IRONFOX_TARGET_ABI='x86_64'
|
||||
readonly IRONFOX_TARGET_PRETTY='x86_64'
|
||||
readonly IRONFOX_TARGET_RUST='x86_64'
|
||||
export IRONFOX_TARGET_ARCH='x86_64'
|
||||
export IRONFOX_TARGET_ABI='x86_64'
|
||||
export IRONFOX_TARGET_PRETTY='x86_64'
|
||||
IRONFOX_TARGET_RUST='x86_64'
|
||||
;;
|
||||
bundle)
|
||||
# arm64-v8a, armeabi-v7a, and x86_64
|
||||
IRONFOX_TARGET_ARCH='bundle'
|
||||
readonly IRONFOX_TARGET_ABI='arm64-v8a", "armeabi-v7a", "x86_64'
|
||||
readonly IRONFOX_TARGET_PRETTY='Bundle'
|
||||
readonly IRONFOX_TARGET_RUST='arm64,arm,x86_64'
|
||||
export IRONFOX_TARGET_ARCH='bundle'
|
||||
export IRONFOX_TARGET_ABI='arm64-v8a", "armeabi-v7a", "x86_64'
|
||||
export IRONFOX_TARGET_PRETTY='Bundle'
|
||||
IRONFOX_TARGET_RUST='arm64,arm,x86_64'
|
||||
;;
|
||||
*)
|
||||
echo_red_text "Unknown build variant: '$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
export IRONFOX_TARGET_ARCH
|
||||
export IRONFOX_TARGET_ABI
|
||||
export IRONFOX_TARGET_PRETTY
|
||||
|
||||
if [[ -z "${IRONFOX_SB_GAPI_KEY_FILE+x}" ]]; then
|
||||
echo_red_text 'IRONFOX_SB_GAPI_KEY_FILE environment variable has not been specified! Safe Browsing will not be supported in this build.'
|
||||
@@ -112,46 +107,40 @@ function set_build_env() {
|
||||
rm "${IRONFOX_ENV_BUILD}"
|
||||
fi
|
||||
|
||||
local readonly EPOCH_NS="$("${IRONFOX_DATE}" "+%s%N")"
|
||||
EPOCH_NS="$("${IRONFOX_DATE}" "+%s%N")"
|
||||
if [ "${IRONFOX_CI}" == 1 ]; then
|
||||
local readonly IF_LOCAL_VERSION_STAMP="${IF_BUILD_STAMP}"
|
||||
IF_LOCAL_VERSION_STAMP="${IF_BUILD_STAMP}"
|
||||
else
|
||||
local readonly IF_LOCAL_VERSION_STAMP="${EPOCH_NS}"
|
||||
IF_LOCAL_VERSION_STAMP="${EPOCH_NS}"
|
||||
fi
|
||||
|
||||
if [ "${IRONFOX_CI}" != 1 ] && [ "${IRONFOX_TARGET_ARCH}" == 'bundle' ]; then
|
||||
# Set build date for bundle builds, to avoid conflicts and ensure that MOZ_BUILDID is consistent across all builds
|
||||
## (CI handles this at `env_ci.sh` instead)
|
||||
local readonly BUILD_DATE="$("${IRONFOX_DATE}" -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
BUILD_DATE="$("${IRONFOX_DATE}" -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||
cat > "${IRONFOX_ENV_BUILD}" << EOF
|
||||
readonly IF_BUILD_DATE="${BUILD_DATE}"
|
||||
readonly IF_EPOCH_NS="${IF_LOCAL_VERSION_STAMP}"
|
||||
readonly IRONFOX_TARGET_ARCH="${IRONFOX_TARGET_ARCH}"
|
||||
export IF_BUILD_DATE
|
||||
export IF_EPOCH_NS
|
||||
export IRONFOX_TARGET_ARCH
|
||||
export IF_BUILD_DATE="${BUILD_DATE}"
|
||||
export IF_EPOCH_NS="${IF_LOCAL_VERSION_STAMP}"
|
||||
export IRONFOX_TARGET_ARCH="${IRONFOX_TARGET_ARCH}"
|
||||
EOF
|
||||
else
|
||||
echo "Writing ${IRONFOX_ENV_BUILD}..."
|
||||
cat > "${IRONFOX_ENV_BUILD}" << EOF
|
||||
readonly IF_EPOCH_NS="${IF_LOCAL_VERSION_STAMP}"
|
||||
readonly IRONFOX_TARGET_ARCH="${IRONFOX_TARGET_ARCH}"
|
||||
export IF_EPOCH_NS
|
||||
export IRONFOX_TARGET_ARCH
|
||||
export IF_EPOCH_NS="${IF_LOCAL_VERSION_STAMP}"
|
||||
export IRONFOX_TARGET_ARCH="${IRONFOX_TARGET_ARCH}"
|
||||
EOF
|
||||
fi
|
||||
|
||||
source "${IRONFOX_ENV_BUILD}"
|
||||
|
||||
if [ "${IRONFOX_CI}" != 1 ] && [ "${IRONFOX_TARGET_ARCH}" == 'bundle' ]; then
|
||||
readonly MOZ_BUILD_DATE="$("${IRONFOX_DATE}" -d "${IF_BUILD_DATE}" "+%Y%m%d%H%M%S")"
|
||||
export MOZ_BUILD_DATE
|
||||
export MOZ_BUILD_DATE="$("${IRONFOX_DATE}" -d "${IF_BUILD_DATE}" "+%Y%m%d%H%M%S")"
|
||||
fi
|
||||
|
||||
# Set versions for our local dependency substitutions
|
||||
local readonly IF_LOCAL_AC_VERSION_BASE="${FIREFOX_VERSION}-${IF_EPOCH_NS}"
|
||||
local readonly IF_LOCAL_AS_VERSION_BASE="${APPSERVICES_VERSION}-${IF_EPOCH_NS}"
|
||||
local readonly IF_LOCAL_GLEAN_VERSION_BASE="${GLEAN_VERSION}-${IF_EPOCH_NS}"
|
||||
readonly IF_LOCAL_AC_VERSION_BASE="${FIREFOX_VERSION}-${IF_EPOCH_NS}"
|
||||
readonly IF_LOCAL_AS_VERSION_BASE="${APPSERVICES_VERSION}-${IF_EPOCH_NS}"
|
||||
readonly IF_LOCAL_GLEAN_VERSION_BASE="${GLEAN_VERSION}-${IF_EPOCH_NS}"
|
||||
|
||||
## For CI, we set IF_EPOCH_NS from the pipeline creation time, and we don't add '-SNAPSHOT' to the end
|
||||
if [ "${IRONFOX_CI}" == 1 ]; then
|
||||
@@ -269,9 +258,9 @@ function prep_gecko() {
|
||||
|
||||
# Configure release channel
|
||||
if [[ "${IRONFOX_RELEASE}" == 1 ]]; then
|
||||
local readonly IRONFOX_NAME='IronFox'
|
||||
IRONFOX_NAME='IronFox'
|
||||
else
|
||||
local readonly IRONFOX_NAME='IronFox Nightly'
|
||||
IRONFOX_NAME='IronFox Nightly'
|
||||
fi
|
||||
|
||||
if [[ -f "${IRONFOX_GECKO}/toolkit/content/neterror/supportpages/connection-not-secure.html" ]]; then
|
||||
@@ -359,7 +348,7 @@ function prep_llvm() {
|
||||
|
||||
function clean_gradle() {
|
||||
# This is used for cleaning Gradle to ensure builds are fresh
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dorg.gradle.java.home=${IRONFOX_JAVA_HOME} -Dorg.gradle.java.installations.paths=${IRONFOX_JAVA_HOME} clean
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} clean
|
||||
}
|
||||
|
||||
function build_bundletool() {
|
||||
@@ -368,7 +357,7 @@ function build_bundletool() {
|
||||
|
||||
pushd "${IRONFOX_BUNDLETOOL_DIR}"
|
||||
clean_gradle
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dorg.gradle.java.home=${IRONFOX_JAVA_HOME} -Dorg.gradle.java.installations.paths=${IRONFOX_JAVA_HOME} assemble
|
||||
"${IRONFOX_GRADLE}" assemble
|
||||
popd
|
||||
|
||||
cp -f "${IRONFOX_BUNDLETOOL_DIR}/build/libs/bundletool.jar" "${IRONFOX_BUNDLETOOL_JAR}"
|
||||
@@ -381,7 +370,7 @@ function build_llvm() {
|
||||
echo_red_text 'Building LLVM...'
|
||||
|
||||
pushd "${llvm}"
|
||||
local readonly llvmtarget=$(cat "${IRONFOX_BUILD}/targets_to_build")
|
||||
llvmtarget=$(cat "${IRONFOX_BUILD}/targets_to_build")
|
||||
echo_green_text "building llvm for ${llvmtarget}"
|
||||
cmake -S llvm -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=out -DCMAKE_C_COMPILER=clang \
|
||||
-DCMAKE_CXX_COMPILER=clang++ -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_TARGETS_TO_BUILD="$llvmtarget" \
|
||||
@@ -421,9 +410,9 @@ function build_microg() {
|
||||
echo_red_text 'Building microG...'
|
||||
|
||||
pushd "${IRONFOX_GMSCORE}"
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dorg.gradle.java.home=${IRONFOX_JDK_21_HOME} -Dorg.gradle.java.installations.paths=${IRONFOX_JAVA_HOME} clean
|
||||
clean_gradle
|
||||
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dorg.gradle.java.home=${IRONFOX_JDK_21_HOME} -Dorg.gradle.java.installations.paths=${IRONFOX_JAVA_HOME} -x javaDocReleaseGeneration \
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dhttps.protocols=TLSv1.3 -x javaDocReleaseGeneration \
|
||||
:play-services-base:publishToMavenLocal \
|
||||
:play-services-basement:publishToMavenLocal \
|
||||
:play-services-fido:publishToMavenLocal \
|
||||
@@ -438,10 +427,10 @@ function build_glean() {
|
||||
echo_red_text 'Building Glean...'
|
||||
|
||||
pushd "${IRONFOX_GLEAN}"
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dorg.gradle.java.home=${IRONFOX_JDK_17_HOME} -Dorg.gradle.java.installations.paths=${IRONFOX_JAVA_HOME},${IRONFOX_JDK_17_HOME} clean
|
||||
clean_gradle
|
||||
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dorg.gradle.java.home=${IRONFOX_JDK_17_HOME} -Dorg.gradle.java.installations.paths=${IRONFOX_JAVA_HOME},${IRONFOX_JDK_17_HOME} -Plocal=${IF_LOCAL_GLEAN_VERSION_GRADLE} :glean-native:publishToMavenLocal
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dorg.gradle.java.home=${IRONFOX_JDK_17_HOME} -Dorg.gradle.java.installations.paths=${IRONFOX_JAVA_HOME},${IRONFOX_JDK_17_HOME} -Plocal=${IF_LOCAL_GLEAN_VERSION_GRADLE} publishToMavenLocal -x createGleanPythonVirtualEnv
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Plocal=${IF_LOCAL_GLEAN_VERSION_GRADLE} :glean-native:publishToMavenLocal
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Plocal=${IF_LOCAL_GLEAN_VERSION_GRADLE} publishToMavenLocal -x createGleanPythonVirtualEnv
|
||||
popd
|
||||
|
||||
echo_green_text 'SUCCESS: Built Glean'
|
||||
@@ -452,21 +441,17 @@ function build_as() {
|
||||
echo_red_text 'Building Application Services...'
|
||||
|
||||
pushd "${IRONFOX_AS}"
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dorg.gradle.java.home=${IRONFOX_JDK_17_HOME} -Dorg.gradle.java.installations.paths=${IRONFOX_JAVA_HOME},${IRONFOX_JDK_17_HOME} clean
|
||||
clean_gradle
|
||||
|
||||
# When 'CI' environment variable is set to a non-zero value, the 'libs/verify-ci-android-environment.sh' script
|
||||
# skips building the libraries as they are expected to be already downloaded in a CI environment
|
||||
# However, we want build those libraries always, so we unset CI before invoking the script
|
||||
unset CI
|
||||
|
||||
unset JAVA_HOME
|
||||
export JAVA_HOME="${IRONFOX_JDK_17_HOME}"
|
||||
bash -x "${IRONFOX_AS}/libs/verify-android-environment.sh"
|
||||
unset JAVA_HOME
|
||||
export JAVA_HOME="${IRONFOX_JAVA_HOME}"
|
||||
|
||||
# Build Application Services
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dorg.gradle.java.home=${IRONFOX_JDK_17_HOME} -Dorg.gradle.java.installations.paths=${IRONFOX_JAVA_HOME},${IRONFOX_JDK_17_HOME} -Plocal=${IF_LOCAL_AS_VERSION_GRADLE} publish
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} publish -Plocal=${IF_LOCAL_AS_VERSION_GRADLE}
|
||||
|
||||
popd
|
||||
|
||||
@@ -618,21 +603,17 @@ function build_gecko_x86_64() {
|
||||
|
||||
function build_gecko_bundle() {
|
||||
# Bundle
|
||||
readonly MOZ_ANDROID_FAT_AAR_ARCHITECTURES='arm64-v8a,armeabi-v7a,x86_64'
|
||||
export MOZ_ANDROID_FAT_AAR_ARCHITECTURES
|
||||
export MOZ_ANDROID_FAT_AAR_ARCHITECTURES='arm64-v8a,armeabi-v7a,x86_64'
|
||||
|
||||
if [ "${IRONFOX_CI}" == 1 ]; then
|
||||
readonly MOZ_ANDROID_FAT_AAR_ARM64_V8A="${IRONFOX_AAR_ARTIFACTS}/geckoview-arm64-v8a.zip"
|
||||
readonly MOZ_ANDROID_FAT_AAR_ARMEABI_V7A="${IRONFOX_AAR_ARTIFACTS}/geckoview-armeabi-v7a.zip"
|
||||
readonly MOZ_ANDROID_FAT_AAR_X86_64="${IRONFOX_AAR_ARTIFACTS}/geckoview-x86_64.zip"
|
||||
export MOZ_ANDROID_FAT_AAR_ARM64_V8A="${IRONFOX_AAR_ARTIFACTS}/geckoview-arm64-v8a.zip"
|
||||
export MOZ_ANDROID_FAT_AAR_ARMEABI_V7A="${IRONFOX_AAR_ARTIFACTS}/geckoview-armeabi-v7a.zip"
|
||||
export MOZ_ANDROID_FAT_AAR_X86_64="${IRONFOX_AAR_ARTIFACTS}/geckoview-x86_64.zip"
|
||||
else
|
||||
readonly MOZ_ANDROID_FAT_AAR_ARM64_V8A="${IRONFOX_OUTPUTS_GV_AAR_ARM64}"
|
||||
readonly MOZ_ANDROID_FAT_AAR_ARMEABI_V7A="${IRONFOX_OUTPUTS_GV_AAR_ARM}"
|
||||
readonly MOZ_ANDROID_FAT_AAR_X86_64="${IRONFOX_OUTPUTS_GV_AAR_X86_64}"
|
||||
export MOZ_ANDROID_FAT_AAR_ARM64_V8A="${IRONFOX_OUTPUTS_GV_AAR_ARM64}"
|
||||
export MOZ_ANDROID_FAT_AAR_ARMEABI_V7A="${IRONFOX_OUTPUTS_GV_AAR_ARM}"
|
||||
export MOZ_ANDROID_FAT_AAR_X86_64="${IRONFOX_OUTPUTS_GV_AAR_X86_64}"
|
||||
fi
|
||||
export MOZ_ANDROID_FAT_AAR_ARM64_V8A
|
||||
export MOZ_ANDROID_FAT_AAR_ARMEABI_V7A
|
||||
export MOZ_ANDROID_FAT_AAR_X86_64
|
||||
|
||||
pushd "${IRONFOX_GECKO}"
|
||||
echo_red_text 'Creating GeckoView fat AAR...'
|
||||
@@ -789,7 +770,7 @@ function build_up_ac() {
|
||||
clean_gradle
|
||||
|
||||
# Build UnifiedPush-AC
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} -Dorg.gradle.java.home=${IRONFOX_JAVA_HOME} -Dorg.gradle.java.installations.paths=${IRONFOX_JAVA_HOME} publish
|
||||
"${IRONFOX_GRADLE}" ${IRONFOX_GRADLE_FLAGS} publish
|
||||
popd
|
||||
|
||||
echo_green_text 'SUCCESS: Built UnifiedPush-AC'
|
||||
@@ -870,7 +851,7 @@ function build_fenix() {
|
||||
fi
|
||||
|
||||
# 5. Finally, build and export our AAB
|
||||
"${IRONFOX_MACH}" gradle -Paab -p mobile/android/fenix bundleRelease -x :app:releaseOssLicensesCleanUp
|
||||
"${IRONFOX_MACH}" gradle -p mobile/android/fenix -Paab bundleRelease -x :app:releaseOssLicensesCleanUp
|
||||
cp -v "${IRONFOX_GECKO}/obj/ironfox-${IRONFOX_CHANNEL}-bundle/gradle/build/mobile/android/fenix/app/outputs/bundle/release/app-release.aab" "${IRONFOX_OUTPUTS_FENIX_AAB}"
|
||||
else
|
||||
# Export APK
|
||||
|
||||
@@ -3,26 +3,20 @@
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
if [[ -z "${IRONFOX_SET_ENVS+x}" ]]; then
|
||||
bash -x $(dirname $0)/env.sh
|
||||
fi
|
||||
bash -x $(dirname $0)/env.sh
|
||||
source $(dirname $0)/env.sh
|
||||
|
||||
# Include utilities
|
||||
source "${IRONFOX_UTILS}"
|
||||
|
||||
if [ -z "${1+x}" ]; then
|
||||
echo_red_text "Usage: $0 arm|arm64|x86_64|bundle" >&1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
readonly target=$(echo "${1}" | "${IRONFOX_AWK}" '{print tolower($0)}')
|
||||
target=$(echo "${1}" | "${IRONFOX_AWK}" '{print tolower($0)}')
|
||||
|
||||
# Build IronFox
|
||||
readonly IRONFOX_FROM_BUILD=1
|
||||
export IRONFOX_FROM_BUILD
|
||||
export IRONFOX_FROM_BUILD=1
|
||||
if [ "${IRONFOX_LOG_BUILD}" == 1 ]; then
|
||||
readonly BUILD_LOG_FILE="${IRONFOX_LOG_DIR}/build-${target}.log"
|
||||
BUILD_LOG_FILE="${IRONFOX_LOG_DIR}/build-${target}.log"
|
||||
|
||||
# If the log file already exists, remove it
|
||||
if [ -f "${BUILD_LOG_FILE}" ]; then
|
||||
@@ -42,7 +36,7 @@ source "${IRONFOX_ENV_BUILD}"
|
||||
|
||||
if [ "${IRONFOX_SIGN}" == 1 ]; then
|
||||
if [ "${IRONFOX_LOG_SIGN}" == 1 ]; then
|
||||
readonly SIGN_LOG_FILE="${IRONFOX_LOG_DIR}/sign.log"
|
||||
SIGN_LOG_FILE="${IRONFOX_LOG_DIR}/sign.log"
|
||||
|
||||
# If the log file already exists, remove it
|
||||
if [ -f "${SIGN_LOG_FILE}" ]; then
|
||||
|
||||
@@ -14,7 +14,7 @@ source "${IRONFOX_VERSIONS}"
|
||||
|
||||
export GENERIC_PACKAGES_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic"
|
||||
|
||||
function upload_to_package_registry() {
|
||||
upload_to_package_registry() {
|
||||
local file="$1"
|
||||
local package_name="$2"
|
||||
local file_name="$(basename "${file}")"
|
||||
@@ -35,7 +35,7 @@ echo -n "" > "${RELEASE_NOTES_FILE}"
|
||||
echo -n "" > "${CHECKSUMS_FILE}"
|
||||
|
||||
declare -a assets
|
||||
function upload_asset() {
|
||||
upload_asset() {
|
||||
package_name="$1"
|
||||
file="$2"
|
||||
file_name="$(basename "${file}")"
|
||||
|
||||
@@ -2,20 +2,13 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
if [[ -z "${IRONFOX_SET_ENVS+x}" ]]; then
|
||||
bash -x $(dirname $0)/env.sh
|
||||
fi
|
||||
source $(dirname $0)/env.sh
|
||||
|
||||
# Include utilities
|
||||
source "${IRONFOX_UTILS}"
|
||||
source "$(dirname $0)/utilities.sh"
|
||||
|
||||
function deglean() {
|
||||
local readonly dir="$1"
|
||||
local readonly gradle_files=$(find "${dir}" -type f -name "*.gradle")
|
||||
local readonly kt_files=$(find "${dir}" -type f -name "*.kt")
|
||||
local readonly yaml_files=$(find "${dir}" -type f -name "metrics.yaml" -o -name "pings.yaml")
|
||||
local dir="$1"
|
||||
local gradle_files=$(find "${dir}" -type f -name "*.gradle")
|
||||
local kt_files=$(find "${dir}" -type f -name "*.kt")
|
||||
local yaml_files=$(find "${dir}" -type f -name "metrics.yaml" -o -name "pings.yaml")
|
||||
|
||||
if [ -n "${gradle_files}" ]; then
|
||||
for file in $gradle_files; do
|
||||
@@ -24,27 +17,27 @@ function deglean() {
|
||||
|
||||
if grep -q 'apply plugin.*glean' "${file}"; then
|
||||
"${IRONFOX_SED}" -i -r 's/^(.*apply plugin:.*glean.*)$/\/\/ \1/' "${file}"
|
||||
local modified=true
|
||||
modified=true
|
||||
fi
|
||||
|
||||
if grep -q 'classpath.*glean' "${file}"; then
|
||||
"${IRONFOX_SED}" -i -r 's/^(.*classpath.*glean.*)$/\/\/ \1/' "${file}"
|
||||
local modified=true
|
||||
modified=true
|
||||
fi
|
||||
|
||||
if grep -q 'compileOnly.*glean' "$file"; then
|
||||
"${IRONFOX_SED}" -i -r 's/^(.*compileOnly.*glean.*)$/\/\/ \1/' "${file}"
|
||||
local modified=true
|
||||
modified=true
|
||||
fi
|
||||
|
||||
if grep -q 'implementation.*glean' "$file"; then
|
||||
"${IRONFOX_SED}" -i -r 's/^(.*implementation.*glean.*)$/\/\/ \1/' "${file}"
|
||||
local modified=true
|
||||
modified=true
|
||||
fi
|
||||
|
||||
if grep -q 'testImplementation.*glean' "${file}"; then
|
||||
"${IRONFOX_SED}" -i -r 's/^(.*testImplementation.*glean.*)$/\/\/ \1/' "${file}"
|
||||
local modified=true
|
||||
modified=true
|
||||
fi
|
||||
|
||||
if [ "${modified}" = true ]; then
|
||||
@@ -61,12 +54,12 @@ function deglean() {
|
||||
|
||||
if grep -q 'import mozilla.telemetry.*' "${file}"; then
|
||||
"${IRONFOX_SED}" -i -r 's/^(.*import mozilla.telemetry.*)$/\/\/ \1/' "${file}"
|
||||
local modified=true
|
||||
modified=true
|
||||
fi
|
||||
|
||||
if grep -q 'import .*GleanMetrics' "${file}"; then
|
||||
"${IRONFOX_SED}" -i -r 's/^(.*GleanMetrics.*)$/\/\/ \1/' "${file}"
|
||||
local modified=true
|
||||
modified=true
|
||||
fi
|
||||
|
||||
if [ "${modified}" = true ]; then
|
||||
@@ -88,8 +81,8 @@ function deglean() {
|
||||
}
|
||||
|
||||
function deglean_fenix() {
|
||||
local readonly dir="$1"
|
||||
local readonly gradle_files=$(find "${dir}" -type f -name "*.gradle")
|
||||
local dir="$1"
|
||||
local gradle_files=$(find "${dir}" -type f -name "*.gradle")
|
||||
|
||||
if [ -n "${gradle_files}" ]; then
|
||||
for file in $gradle_files; do
|
||||
@@ -97,12 +90,12 @@ function deglean_fenix() {
|
||||
|
||||
if grep -q 'implementation.*service-glean' "${file}"; then
|
||||
"${IRONFOX_SED}" -i -r 's/^(.*implementation.*service-glean.*)$/\/\/ \1/' "${file}"
|
||||
local modified=true
|
||||
modified=true
|
||||
fi
|
||||
|
||||
if grep -q 'testImplementation.*glean' "${file}"; then
|
||||
"${IRONFOX_SED}" -i -r 's/^(.*testImplementation.*glean.*)$/\/\/ \1/' "${file}"
|
||||
local modified=true
|
||||
modified=true
|
||||
fi
|
||||
|
||||
if [ "${modified}" = true ]; then
|
||||
|
||||
@@ -11,13 +11,11 @@ if [[ ! -f "$(dirname $0)/env_local.sh" ]]; then
|
||||
# Write env_local.sh
|
||||
echo "Writing ${ENV_LOCAL}..."
|
||||
cat > "${ENV_LOCAL}" << EOF
|
||||
IRONFOX_ROOT="${ROOT}"
|
||||
export IRONFOX_ROOT
|
||||
export IRONFOX_ROOT="${ROOT}"
|
||||
|
||||
source "\${IRONFOX_ROOT}/scripts/env_common.sh"
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [[ -z "${IRONFOX_SET_ENVS+x}" ]]; then
|
||||
source "$(dirname $0)/env_local.sh"
|
||||
fi
|
||||
source "$(dirname $0)/env_local.sh"
|
||||
source "$(dirname $0)/utilities.sh"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -9,454 +9,291 @@
|
||||
## Use the IronFox equivalent variables (at `env_common.sh`) instead.
|
||||
|
||||
# Compiler flags
|
||||
TARGET_CFLAGS="${IRONFOX_COMPILER_FLAGS}"
|
||||
TARGET_CXXFLAGS="${IRONFOX_COMPILER_FLAGS}"
|
||||
export TARGET_CFLAGS
|
||||
export TARGET_CXXFLAGS
|
||||
export TARGET_CFLAGS="${IRONFOX_COMPILER_FLAGS}"
|
||||
export TARGET_CXXFLAGS="${IRONFOX_COMPILER_FLAGS}"
|
||||
|
||||
# Gradle flags
|
||||
GRADLE_FLAGS="${IRONFOX_GRADLE_FLAGS}"
|
||||
export GRADLE_FLAGS
|
||||
export GRADLE_FLAGS="${IRONFOX_GRADLE_FLAGS}"
|
||||
|
||||
# Rust flags
|
||||
CARGO_BUILD_RUSTDOCFLAGS="${IRONFOX_RUST_FLAGS}"
|
||||
RUSTDOCFLAGS="${IRONFOX_RUST_FLAGS}"
|
||||
export CARGO_BUILD_RUSTDOCFLAGS
|
||||
export RUSTDOCFLAGS
|
||||
export CARGO_BUILD_RUSTDOCFLAGS="${IRONFOX_RUST_FLAGS}"
|
||||
export RUSTDOCFLAGS="${IRONFOX_RUST_FLAGS}"
|
||||
|
||||
# Android SDK
|
||||
## https://developer.android.com/tools/variables
|
||||
ANDROID_HOME="${IRONFOX_ANDROID_SDK}"
|
||||
ANDROID_SDK_ROOT="${IRONFOX_ANDROID_SDK}"
|
||||
export ANDROID_HOME
|
||||
export ANDROID_SDK_ROOT
|
||||
export ANDROID_HOME="${IRONFOX_ANDROID_SDK}"
|
||||
export ANDROID_SDK_ROOT="${IRONFOX_ANDROID_SDK}"
|
||||
|
||||
## Android SDK preferences
|
||||
ANDROID_USER_HOME="${IRONFOX_BUILD}/.android"
|
||||
export ANDROID_USER_HOME
|
||||
export ANDROID_USER_HOME="${IRONFOX_BUILD}/.android"
|
||||
|
||||
# Android NDK
|
||||
ANDROID_NDK_HOME="${IRONFOX_ANDROID_NDK}"
|
||||
ANDROID_NDK_ROOT="${IRONFOX_ANDROID_NDK}"
|
||||
export ANDROID_NDK_HOME
|
||||
export ANDROID_NDK_ROOT
|
||||
export ANDROID_NDK_HOME="${IRONFOX_ANDROID_NDK}"
|
||||
export ANDROID_NDK_ROOT="${IRONFOX_ANDROID_NDK}"
|
||||
|
||||
# Gradle cache
|
||||
CACHEDIR="${IRONFOX_GRADLE_CACHE}"
|
||||
export CACHEDIR
|
||||
export CACHEDIR="${IRONFOX_GRADLE_CACHE}"
|
||||
|
||||
# Gradle home
|
||||
GRADLE_USER_HOME="${IRONFOX_GRADLE_HOME}"
|
||||
export GRADLE_USER_HOME
|
||||
|
||||
# IronFox prebuilds
|
||||
IRONFOX_PREBUILDS_AWK="${IRONFOX_AWK}"
|
||||
IRONFOX_PREBUILDS_CARGO_COLORED_OUTPUT="${IRONFOX_CARGO_COLORED_OUTPUT}"
|
||||
IRONFOX_PREBUILDS_CARGO_PROGRESS_BAR="${IRONFOX_CARGO_PROGRESS_BAR}"
|
||||
IRONFOX_PREBUILDS_CIPHERS="${IRONFOX_CIPHERS}"
|
||||
IRONFOX_PREBUILDS_CURL_FLAGS_OVERRIDE=1
|
||||
IRONFOX_PREBUILDS_CURL_FLAGS="${IRONFOX_CURL_FLAGS}"
|
||||
IRONFOX_PREBUILDS_MAKE="${IRONFOX_MAKE}"
|
||||
IRONFOX_PREBUILDS_NPROC="${IRONFOX_NPROC}"
|
||||
IRONFOX_PREBUILDS_RUSTUP_COLORED_OUTPUT="${IRONFOX_RUSTUP_COLORED_OUTPUT}"
|
||||
IRONFOX_PREBUILDS_RUSTUP_PROGRESS_BAR="${IRONFOX_RUSTUP_PROGRESS_BAR}"
|
||||
IRONFOX_PREBUILDS_SED="${IRONFOX_SED}"
|
||||
IRONFOX_PREBUILDS_TAR="${IRONFOX_TAR}"
|
||||
export IRONFOX_PREBUILDS_AWK
|
||||
export IRONFOX_PREBUILDS_CARGO_COLORED_OUTPUT
|
||||
export IRONFOX_PREBUILDS_CARGO_PROGRESS_BAR
|
||||
export IRONFOX_PREBUILDS_CIPHERS
|
||||
export IRONFOX_PREBUILDS_CURL_FLAGS_OVERRIDE
|
||||
export IRONFOX_PREBUILDS_CURL_FLAGS
|
||||
export IRONFOX_PREBUILDS_MAKE
|
||||
export IRONFOX_PREBUILDS_NPROC
|
||||
export IRONFOX_PREBUILDS_RUSTUP_COLORED_OUTPUT
|
||||
export IRONFOX_PREBUILDS_RUSTUP_PROGRESS_BAR
|
||||
export IRONFOX_PREBUILDS_SED
|
||||
export IRONFOX_PREBUILDS_TAR
|
||||
export GRADLE_USER_HOME="${IRONFOX_GRADLE_HOME}"
|
||||
|
||||
# Java home
|
||||
JAVA_HOME="${IRONFOX_JAVA_HOME}"
|
||||
export JAVA_HOME
|
||||
|
||||
# Java options
|
||||
GRADLE_OPTS="${IRONFOX_JAVA_OPTS}"
|
||||
JAVA_OPTS="${IRONFOX_JAVA_OPTS}"
|
||||
JAVA_TOOL_OPTIONS="${IRONFOX_JAVA_OPTS}"
|
||||
JDK_JAVA_OPTIONS="${IRONFOX_JAVA_OPTS}"
|
||||
export GRADLE_OPTS
|
||||
export JAVA_OPTS
|
||||
export JAVA_TOOL_OPTIONS
|
||||
export JDK_JAVA_OPTIONS
|
||||
export JAVA_HOME="${IRONFOX_JAVA_HOME}"
|
||||
|
||||
# llvm-profdata
|
||||
LLVM_PROFDATA="${IRONFOX_LLVM_PROFDATA}"
|
||||
export LLVM_PROFDATA
|
||||
export LLVM_PROFDATA="${IRONFOX_LLVM_PROFDATA}"
|
||||
|
||||
# Mach
|
||||
## https://firefox-source-docs.mozilla.org/mach/usage.html#user-settings
|
||||
## https://searchfox.org/mozilla-central/rev/f008b9aa/python/mach/mach/telemetry.py#95
|
||||
## https://searchfox.org/mozilla-central/rev/f008b9aa/python/mach/mach/telemetry.py#284
|
||||
DISABLE_TELEMETRY=1
|
||||
MACHRC="${IRONFOX_CONFIGS}/mach/machrc"
|
||||
MOZCONFIG="${IRONFOX_MOZCONFIGS}/ironfox.mozconfig"
|
||||
export DISABLE_TELEMETRY
|
||||
export MACHRC
|
||||
export MOZCONFIG
|
||||
export DISABLE_TELEMETRY=1
|
||||
export MACHRC="${IRONFOX_CONFIGS}/mach/machrc"
|
||||
export MOZCONFIG="${IRONFOX_MOZCONFIGS}/ironfox.mozconfig"
|
||||
|
||||
# microG
|
||||
GRADLE_MICROG_VERSION_WITHOUT_GIT=1
|
||||
export GRADLE_MICROG_VERSION_WITHOUT_GIT
|
||||
export GRADLE_MICROG_VERSION_WITHOUT_GIT=1
|
||||
|
||||
# mozbuild
|
||||
MOZBUILD_STATE_PATH="${IRONFOX_MOZBUILD}"
|
||||
export MOZBUILD_STATE_PATH
|
||||
export MOZBUILD_STATE_PATH="${IRONFOX_MOZBUILD}"
|
||||
|
||||
# No-op Taskcluster
|
||||
## This should help ensure we don't fetch Mozilla artifacts/prebuilds
|
||||
TASKCLUSTER_PROXY_URL='https://noop.invalid'
|
||||
TASKCLUSTER_ROOT_URL='https://noop.invalid'
|
||||
export TASKCLUSTER_PROXY_URL
|
||||
export TASKCLUSTER_ROOT_URL
|
||||
export TASKCLUSTER_PROXY_URL='https://noop.invalid'
|
||||
export TASKCLUSTER_ROOT_URL='https://noop.invalid'
|
||||
|
||||
# Node.js
|
||||
## https://nodejs.org/api/cli.html#environment-variables-1
|
||||
|
||||
## Disable compile cache
|
||||
### https://nodejs.org/api/cli.html#node-disable-compile-cache1
|
||||
NODE_DISABLE_COMPILE_CACHE=1
|
||||
export NODE_DISABLE_COMPILE_CACHE
|
||||
export NODE_DISABLE_COMPILE_CACHE=1
|
||||
|
||||
## Disable the system CA root store
|
||||
### https://nodejs.org/api/cli.html#node-use-system-ca1
|
||||
NODE_USE_SYSTEM_CA=0
|
||||
export NODE_USE_SYSTEM_CA
|
||||
export NODE_USE_SYSTEM_CA=0
|
||||
|
||||
## Do not attempt to use a system proxy
|
||||
### https://nodejs.org/api/cli.html#node-use-env-proxy1
|
||||
NODE_USE_ENV_PROXY=0
|
||||
export NODE_USE_ENV_PROXY
|
||||
export NODE_USE_ENV_PROXY=0
|
||||
|
||||
## Enforce certificate validation
|
||||
### https://nodejs.org/api/cli.html#node-tls-reject-unauthorizedvalue
|
||||
NODE_TLS_REJECT_UNAUTHORIZED=1
|
||||
export NODE_TLS_REJECT_UNAUTHORIZED
|
||||
export NODE_TLS_REJECT_UNAUTHORIZED=1
|
||||
|
||||
## Ensure npm always installs production/release modules
|
||||
NODE_ENV='production'
|
||||
export NODE_ENV
|
||||
export NODE_ENV='production'
|
||||
|
||||
## Node options
|
||||
NODE_OPTIONS="${IRONFOX_NODE_OPTIONS}"
|
||||
npm_config_node_options="${IRONFOX_NODE_OPTIONS}"
|
||||
export NODE_OPTIONS
|
||||
export npm_config_node_options
|
||||
export NODE_OPTIONS="${IRONFOX_NODE_OPTIONS}"
|
||||
export npm_config_node_options="${IRONFOX_NODE_OPTIONS}"
|
||||
|
||||
# npm
|
||||
|
||||
## Always use our npm config file
|
||||
## https://docs.npmjs.com/cli/v11/using-npm/config#npmrc-files
|
||||
NPM_CONFIG_GLOBALCONFIG="${IRONFOX_CONFIGS}/npm/.npmrc"
|
||||
npm_config_globalconfig="${IRONFOX_CONFIGS}/npm/.npmrc"
|
||||
export NPM_CONFIG_GLOBALCONFIG
|
||||
export npm_config_globalconfig
|
||||
export NPM_CONFIG_GLOBALCONFIG="${IRONFOX_CONFIGS}/npm/.npmrc"
|
||||
export npm_config_globalconfig="${IRONFOX_CONFIGS}/npm/.npmrc"
|
||||
|
||||
### Always install dependencies properly
|
||||
npm_config_install_links='true'
|
||||
export npm_config_install_links
|
||||
export npm_config_install_links='true'
|
||||
|
||||
### Disable "funding" nags
|
||||
npm_config_fund='false'
|
||||
export npm_config_fund
|
||||
export npm_config_fund='false'
|
||||
|
||||
### Disable submission of audit reports
|
||||
npm_config_audit='false'
|
||||
export npm_config_audit
|
||||
export npm_config_audit='false'
|
||||
|
||||
### Enable verbose logging
|
||||
npm_config_loglevel='verbose'
|
||||
export npm_config_loglevel
|
||||
export npm_config_loglevel='verbose'
|
||||
|
||||
### Enforce SSL key validation
|
||||
npm_config_strict_ssl='true'
|
||||
export npm_config_strict_ssl
|
||||
export npm_config_strict_ssl='true'
|
||||
|
||||
### Write exact versions to package.json/package_lock.json
|
||||
npm_config_save_exact='true'
|
||||
export npm_config_save_exact
|
||||
export npm_config_save_exact='true'
|
||||
|
||||
### Set cache directory
|
||||
npm_config_cache="${IRONFOX_NPM_CACHE}"
|
||||
export npm_config_cache
|
||||
export npm_config_cache="${IRONFOX_NPM_CACHE}"
|
||||
|
||||
# NSS
|
||||
NSS_DIR="${IRONFOX_NSS_DIR}"
|
||||
NSS_STATIC=1
|
||||
export NSS_DIR
|
||||
export NSS_STATIC
|
||||
export NSS_DIR="${IRONFOX_NSS_DIR}"
|
||||
export NSS_STATIC=1
|
||||
|
||||
# nvm
|
||||
NVM_DIR="${IRONFOX_NVM}"
|
||||
export NVM_DIR
|
||||
export NVM_DIR="${IRONFOX_NVM}"
|
||||
|
||||
## This is necessary to prevent nvm from automatically trying to modify the system PATH
|
||||
PROFILE='/dev/null'
|
||||
export PROFILE
|
||||
export PROFILE='/dev/null'
|
||||
|
||||
# Phoenix
|
||||
PHOENIX_ANDROID_ONLY=1
|
||||
PHOENIX_AWK="${IRONFOX_AWK}"
|
||||
PHOENIX_CIPHERS="${IRONFOX_CIPHERS}"
|
||||
PHOENIX_CURL_FLAGS="${IRONFOX_CURL_FLAGS}"
|
||||
PHOENIX_CURL_FLAGS_OVERRIDE=1
|
||||
PHOENIX_EXTENDED_ONLY=1
|
||||
PHOENIX_EXTRA_CFG=1
|
||||
PHOENIX_EXTRA_CFG_FILE="${IRONFOX_BUILD}/tmp/gecko/ironfox-parsed.cfg"
|
||||
PHOENIX_EXTRA_CFG_OUTPUT_DIR="${IRONFOX_GECKO}/ironfox/prefs"
|
||||
PHOENIX_EXTRA_EXTENDED_OUTPUT_FILENAME_ANDROID='ironfox'
|
||||
PHOENIX_EXTRA_POLICIES_ANDROID=1
|
||||
PHOENIX_EXTRA_POLICIES_FILE_ANDROID="${IRONFOX_PATCHES}/build/gecko/policies.json"
|
||||
PHOENIX_EXTRA_POLICIES_OUTPUT_DIR_ANDROID="${IRONFOX_GECKO}/ironfox/prefs"
|
||||
PHOENIX_PYENV_DIR="${IRONFOX_PYENV_DIR}"
|
||||
PHOENIX_PYTHON="${IRONFOX_PYTHON}"
|
||||
PHOENIX_PYTHON_DIR="${IRONFOX_PYTHON_DIR}"
|
||||
PHOENIX_SED="${IRONFOX_SED}"
|
||||
PHOENIX_SPECS=0
|
||||
PHOENIX_TAR="${IRONFOX_TAR}"
|
||||
PHOENIX_UV_CACHE="${IRONFOX_UV_CACHE}"
|
||||
PHOENIX_UV_DIR="${IRONFOX_UV_DIR}"
|
||||
PHOENIX_UV_LOCAL="${IRONFOX_UV_LOCAL}"
|
||||
PHOENIX_UV_PYTHON="${IRONFOX_UV_PYTHON}"
|
||||
PHOENIX_UV_TOOLS="${IRONFOX_UV_TOOLS}"
|
||||
export PHOENIX_ANDROID_ONLY
|
||||
export PHOENIX_AWK
|
||||
export PHOENIX_CIPHERS
|
||||
export PHOENIX_CURL_FLAGS
|
||||
export PHOENIX_CURL_FLAGS_OVERRIDE
|
||||
export PHOENIX_EXTENDED_ONLY
|
||||
export PHOENIX_EXTRA_CFG
|
||||
export PHOENIX_EXTRA_CFG_FILE
|
||||
export PHOENIX_EXTRA_CFG_OUTPUT_DIR
|
||||
export PHOENIX_EXTRA_EXTENDED_OUTPUT_FILENAME_ANDROID
|
||||
export PHOENIX_EXTRA_POLICIES_ANDROID
|
||||
export PHOENIX_EXTRA_POLICIES_FILE_ANDROID
|
||||
export PHOENIX_EXTRA_POLICIES_OUTPUT_DIR_ANDROID
|
||||
export PHOENIX_PYENV_DIR
|
||||
export PHOENIX_PYTHON
|
||||
export PHOENIX_PYTHON_DIR
|
||||
export PHOENIX_SED
|
||||
export PHOENIX_SPECS
|
||||
export PHOENIX_TAR
|
||||
export PHOENIX_UV_CACHE
|
||||
export PHOENIX_UV_DIR
|
||||
export PHOENIX_UV_LOCAL
|
||||
export PHOENIX_UV_PYTHON
|
||||
export PHOENIX_UV_TOOLS
|
||||
export PHOENIX_ANDROID_ONLY=1
|
||||
export PHOENIX_AWK="${IRONFOX_AWK}"
|
||||
export PHOENIX_CURL_FLAGS="${IRONFOX_CURL_FLAGS}"
|
||||
export PHOENIX_CURL_FLAGS_OVERRIDE=1
|
||||
export PHOENIX_EXTENDED_ONLY=1
|
||||
export PHOENIX_EXTRA_CFG=1
|
||||
export PHOENIX_EXTRA_CFG_FILE="${IRONFOX_BUILD}/tmp/gecko/ironfox-parsed.cfg"
|
||||
export PHOENIX_EXTRA_CFG_OUTPUT_DIR="${IRONFOX_GECKO}/ironfox/prefs"
|
||||
export PHOENIX_EXTRA_EXTENDED_OUTPUT_FILENAME_ANDROID='ironfox'
|
||||
export PHOENIX_EXTRA_POLICIES_ANDROID=1
|
||||
export PHOENIX_EXTRA_POLICIES_FILE_ANDROID="${IRONFOX_PATCHES}/build/gecko/policies.json"
|
||||
export PHOENIX_EXTRA_POLICIES_OUTPUT_DIR_ANDROID="${IRONFOX_GECKO}/ironfox/prefs"
|
||||
export PHOENIX_PYENV_DIR="${IRONFOX_PYENV_DIR}"
|
||||
export PHOENIX_PYTHON="${IRONFOX_PYTHON}"
|
||||
export PHOENIX_PYTHON_DIR="${IRONFOX_PYTHON_DIR}"
|
||||
export PHOENIX_SED="${IRONFOX_SED}"
|
||||
export PHOENIX_TAR="${IRONFOX_TAR}"
|
||||
export PHOENIX_UV_CACHE="${IRONFOX_UV_CACHE}"
|
||||
export PHOENIX_UV_DIR="${IRONFOX_UV_DIR}"
|
||||
export PHOENIX_UV_LOCAL="${IRONFOX_UV_LOCAL}"
|
||||
export PHOENIX_UV_PYTHON="${IRONFOX_UV_PYTHON}"
|
||||
export PHOENIX_UV_TOOLS="${IRONFOX_UV_TOOLS}"
|
||||
export PHOENIX_SPECS=0
|
||||
|
||||
# Python
|
||||
## https://docs.python.org/3/using/cmdline.html#environment-variables
|
||||
|
||||
## Disable JIT
|
||||
PYTHON_JIT=0
|
||||
PYTHON_PERF_JIT_SUPPORT=0
|
||||
export PYTHON_JIT
|
||||
export PYTHON_PERF_JIT_SUPPORT
|
||||
export PYTHON_JIT=0
|
||||
export PYTHON_PERF_JIT_SUPPORT=0
|
||||
|
||||
## Disable remote debugging
|
||||
PYTHON_DISABLE_REMOTE_DEBUG=1
|
||||
export PYTHON_DISABLE_REMOTE_DEBUG
|
||||
export PYTHON_DISABLE_REMOTE_DEBUG=1
|
||||
|
||||
## Enable performance optimizations
|
||||
PYTHONOPTIMIZE=1
|
||||
export PYTHONOPTIMIZE
|
||||
export PYTHONOPTIMIZE=1
|
||||
|
||||
# Python (Glean)
|
||||
GLEAN_PYTHON="${IRONFOX_PYTHON}"
|
||||
GLEAN_PYTHON_WHEELS_DIR="${IRONFOX_GLEAN_PARSER_WHEELS}"
|
||||
export GLEAN_PYTHON
|
||||
export GLEAN_PYTHON_WHEELS_DIR
|
||||
export GLEAN_PYTHON="${IRONFOX_PYTHON}"
|
||||
export GLEAN_PYTHON_WHEELS_DIR="${IRONFOX_GLEAN_PARSER_WHEELS}"
|
||||
|
||||
# Rust (cargo)
|
||||
CARGO="${IRONFOX_CARGO}"
|
||||
CARGO_HOME="${IRONFOX_CARGO_HOME}"
|
||||
CARGO_INSTALL_ROOT="${IRONFOX_CARGO_HOME}"
|
||||
RUSTC="${IRONFOX_RUSTC}"
|
||||
RUSTDOC="${IRONFOX_RUSTDOC}"
|
||||
export CARGO
|
||||
export CARGO_HOME
|
||||
export CARGO_INSTALL_ROOT
|
||||
export RUSTC
|
||||
export RUSTDOC
|
||||
|
||||
## Cipher suites
|
||||
RUSTUP_TLS_CIPHERSUITES="${IRONFOX_CIPHERS}"
|
||||
export RUSTUP_TLS_CIPHERSUITES
|
||||
export CARGO="${IRONFOX_CARGO}"
|
||||
export CARGO_HOME="${IRONFOX_CARGO_HOME}"
|
||||
export CARGO_INSTALL_ROOT="${IRONFOX_CARGO_HOME}"
|
||||
export RUSTC="${IRONFOX_RUSTC}"
|
||||
export RUSTDOC="${IRONFOX_RUSTDOC}"
|
||||
|
||||
## Disable debug
|
||||
CARGO_PROFILE_DEV_DEBUG='false'
|
||||
CARGO_PROFILE_DEV_DEBUG_ASSERTIONS='false'
|
||||
CARGO_PROFILE_RELEASE_DEBUG='false'
|
||||
CARGO_PROFILE_RELEASE_DEBUG_ASSERTIONS='false'
|
||||
export CARGO_PROFILE_DEV_DEBUG
|
||||
export CARGO_PROFILE_DEV_DEBUG_ASSERTIONS
|
||||
export CARGO_PROFILE_RELEASE_DEBUG
|
||||
export CARGO_PROFILE_RELEASE_DEBUG_ASSERTIONS
|
||||
export CARGO_PROFILE_DEV_DEBUG='false'
|
||||
export CARGO_PROFILE_DEV_DEBUG_ASSERTIONS='false'
|
||||
export CARGO_PROFILE_RELEASE_DEBUG='false'
|
||||
export CARGO_PROFILE_RELEASE_DEBUG_ASSERTIONS='false'
|
||||
|
||||
## Disable HTTP debugging
|
||||
CARGO_HTTP_DEBUG='false'
|
||||
export CARGO_HTTP_DEBUG
|
||||
export CARGO_HTTP_DEBUG='false'
|
||||
|
||||
## Disable incremental compilation
|
||||
### (Ensures builds are fresh)
|
||||
### https://doc.rust-lang.org/cargo/reference/profiles.html#incremental
|
||||
CARGO_BUILD_INCREMENTAL='false'
|
||||
CARGO_INCREMENTAL=0
|
||||
export CARGO_BUILD_INCREMENTAL
|
||||
export CARGO_INCREMENTAL
|
||||
export CARGO_BUILD_INCREMENTAL='false'
|
||||
export CARGO_INCREMENTAL=0
|
||||
|
||||
## Display progress bars
|
||||
CARGO_TERM_PROGRESS_WHEN="${IRONFOX_CARGO_PROGRESS_BAR}"
|
||||
CARGO_TERM_PROGRESS_WIDTH=80
|
||||
export CARGO_TERM_PROGRESS_WHEN
|
||||
export CARGO_TERM_PROGRESS_WIDTH
|
||||
export CARGO_TERM_PROGRESS_WHEN="${IRONFOX_CARGO_PROGRESS_BAR}"
|
||||
export CARGO_TERM_PROGRESS_WIDTH=80
|
||||
|
||||
## Enable certificate revocation checks
|
||||
CARGO_HTTP_CHECK_REVOKE='true'
|
||||
export CARGO_HTTP_CHECK_REVOKE
|
||||
export CARGO_HTTP_CHECK_REVOKE='true'
|
||||
|
||||
## Enable colored output
|
||||
CARGO_TERM_COLOR="${IRONFOX_CARGO_COLORED_OUTPUT}"
|
||||
export CARGO_TERM_COLOR
|
||||
export CARGO_TERM_COLOR="${IRONFOX_CARGO_COLORED_OUTPUT}"
|
||||
|
||||
## Enable overflow checks
|
||||
CARGO_PROFILE_DEV_OVERFLOW_CHECKS='true'
|
||||
CARGO_PROFILE_RELEASE_OVERFLOW_CHECKS='true'
|
||||
export CARGO_PROFILE_DEV_OVERFLOW_CHECKS
|
||||
export CARGO_PROFILE_RELEASE_OVERFLOW_CHECKS
|
||||
export CARGO_PROFILE_DEV_OVERFLOW_CHECKS='true'
|
||||
export CARGO_PROFILE_RELEASE_OVERFLOW_CHECKS='true'
|
||||
|
||||
## Enable performance optimizations
|
||||
CARGO_PROFILE_DEV_LTO='true'
|
||||
CARGO_PROFILE_DEV_OPT_LEVEL=3
|
||||
CARGO_PROFILE_RELEASE_LTO='true'
|
||||
CARGO_PROFILE_RELEASE_OPT_LEVEL=3
|
||||
export CARGO_PROFILE_DEV_LTO
|
||||
export CARGO_PROFILE_DEV_OPT_LEVEL
|
||||
export CARGO_PROFILE_RELEASE_LTO
|
||||
export CARGO_PROFILE_RELEASE_OPT_LEVEL
|
||||
export CARGO_PROFILE_DEV_LTO='true'
|
||||
export CARGO_PROFILE_DEV_OPT_LEVEL=3
|
||||
export CARGO_PROFILE_RELEASE_LTO='true'
|
||||
export CARGO_PROFILE_RELEASE_OPT_LEVEL=3
|
||||
|
||||
## Strip debug info
|
||||
CARGO_PROFILE_DEV_STRIP='debuginfo'
|
||||
CARGO_PROFILE_RELEASE_STRIP='debuginfo'
|
||||
export CARGO_PROFILE_DEV_STRIP
|
||||
export CARGO_PROFILE_RELEASE_STRIP
|
||||
export CARGO_PROFILE_DEV_STRIP='debuginfo'
|
||||
export CARGO_PROFILE_RELEASE_STRIP='debuginfo'
|
||||
|
||||
# rustup
|
||||
RUSTUP_HOME="${IRONFOX_RUSTUP_HOME}"
|
||||
export RUSTUP_HOME
|
||||
export RUSTUP_HOME="${IRONFOX_RUSTUP_HOME}"
|
||||
|
||||
## Display progress bars
|
||||
RUSTUP_TERM_PROGRESS_WHEN="${IRONFOX_RUSTUP_PROGRESS_BAR}"
|
||||
export RUSTUP_TERM_PROGRESS_WHEN
|
||||
export RUSTUP_TERM_PROGRESS_WHEN="${IRONFOX_RUSTUP_PROGRESS_BAR}"
|
||||
|
||||
## Enable colored output
|
||||
RUSTUP_TERM_COLOR="${IRONFOX_RUSTUP_COLORED_OUTPUT}"
|
||||
export RUSTUP_TERM_COLOR
|
||||
export RUSTUP_TERM_COLOR="${IRONFOX_RUSTUP_COLORED_OUTPUT}"
|
||||
|
||||
# UnifiedPush-AC
|
||||
UP_AC_GRADLE_USER_HOME="${IRONFOX_GRADLE_HOME}"
|
||||
export UP_AC_GRADLE_USER_HOME
|
||||
export UP_AC_GRADLE_USER_HOME="${IRONFOX_GRADLE_HOME}"
|
||||
|
||||
# UV
|
||||
## https://docs.astral.sh/uv/reference/environment/
|
||||
|
||||
## Cache directory
|
||||
UV_CACHE_DIR="${IRONFOX_UV_LOCAL}/cache"
|
||||
export UV_CACHE_DIR
|
||||
export UV_CACHE_DIR="${IRONFOX_UV_LOCAL}/cache"
|
||||
|
||||
## Disable cache
|
||||
UV_NO_CACHE=1
|
||||
export UV_NO_CACHE
|
||||
export UV_NO_CACHE=1
|
||||
|
||||
## Disable the system CA root store
|
||||
UV_SYSTEM_CERTS='false'
|
||||
export UV_SYSTEM_CERTS
|
||||
export UV_SYSTEM_CERTS='false'
|
||||
|
||||
## Exclude development dependencies
|
||||
UV_NO_DEV=1
|
||||
export UV_NO_DEV
|
||||
export UV_NO_DEV=1
|
||||
|
||||
## Executables directory
|
||||
UV_PYTHON_BIN_DIR="${IRONFOX_UV_LOCAL}/bin"
|
||||
UV_PYTHON_INSTALL_BIN=1
|
||||
export UV_PYTHON_BIN_DIR
|
||||
export UV_PYTHON_INSTALL_BIN
|
||||
export UV_PYTHON_BIN_DIR="${IRONFOX_UV_LOCAL}/bin"
|
||||
export UV_PYTHON_INSTALL_BIN=1
|
||||
|
||||
## Ignore configuration files
|
||||
UV_NO_CONFIG=1
|
||||
export UV_NO_CONFIG
|
||||
export UV_NO_CONFIG=1
|
||||
|
||||
## Ignore env files
|
||||
UV_NO_ENV_FILE=1
|
||||
export UV_NO_ENV_FILE
|
||||
export UV_NO_ENV_FILE=1
|
||||
|
||||
## Location
|
||||
UV_INSTALL_DIR="${IRONFOX_UV_DIR}"
|
||||
export UV_INSTALL_DIR
|
||||
export UV_INSTALL_DIR="${IRONFOX_UV_DIR}"
|
||||
|
||||
## Prevent automatic downloads/updates
|
||||
UV_DISABLE_UPDATE=1
|
||||
UV_PYTHON_DOWNLOADS='manual'
|
||||
export UV_DISABLE_UPDATE
|
||||
export UV_PYTHON_DOWNLOADS
|
||||
export UV_DISABLE_UPDATE=1
|
||||
export UV_PYTHON_DOWNLOADS='manual'
|
||||
|
||||
## Prevent modifying the system PATH
|
||||
INSTALLER_NO_MODIFY_PATH=1
|
||||
UV_NO_MODIFY_PATH=1
|
||||
UV_UNMANAGED_INSTALL="${IRONFOX_UV_DIR}"
|
||||
export INSTALLER_NO_MODIFY_PATH
|
||||
export UV_NO_MODIFY_PATH
|
||||
export UV_UNMANAGED_INSTALL
|
||||
export INSTALLER_NO_MODIFY_PATH=1
|
||||
export UV_NO_MODIFY_PATH=1
|
||||
export UV_UNMANAGED_INSTALL="${IRONFOX_UV_DIR}"
|
||||
|
||||
## Prevent using the system Python
|
||||
UV_MANAGED_PYTHON=1
|
||||
UV_SYSTEM_PYTHON='false'
|
||||
export UV_MANAGED_PYTHON
|
||||
export UV_SYSTEM_PYTHON
|
||||
export UV_MANAGED_PYTHON=1
|
||||
export UV_SYSTEM_PYTHON='false'
|
||||
|
||||
## Python
|
||||
UV_PYTHON_CACHE_DIR="${IRONFOX_UV_LOCAL}/python-cache"
|
||||
UV_PYTHON_INSTALL_MIRROR="file://${IRONFOX_PYTHON_DIR}"
|
||||
UV_PYTHON_INSTALL_DIR="${IRONFOX_UV_LOCAL}/python"
|
||||
export UV_PYTHON_CACHE_DIR
|
||||
export UV_PYTHON_INSTALL_MIRROR
|
||||
export UV_PYTHON_INSTALL_DIR
|
||||
export UV_PYTHON_CACHE_DIR="${IRONFOX_UV_LOCAL}/python-cache"
|
||||
export UV_PYTHON_INSTALL_MIRROR="file://${IRONFOX_PYTHON_DIR}"
|
||||
export UV_PYTHON_INSTALL_DIR="${IRONFOX_UV_LOCAL}/python"
|
||||
|
||||
## Python environment
|
||||
UV_PROJECT_ENVIRONMENT="${IRONFOX_PYENV_DIR}"
|
||||
VIRTUAL_ENV="${IRONFOX_PYENV_DIR}"
|
||||
export UV_PROJECT_ENVIRONMENT
|
||||
export VIRTUAL_ENV
|
||||
export UV_PROJECT_ENVIRONMENT="${IRONFOX_PYENV_DIR}"
|
||||
export VIRTUAL_ENV="${IRONFOX_PYENV_DIR}"
|
||||
|
||||
## Tools directory
|
||||
UV_TOOL_BIN_DIR="${IRONFOX_UV_LOCAL}/tools/bin"
|
||||
UV_TOOL_DIR="${IRONFOX_UV_LOCAL}/tools"
|
||||
export UV_TOOL_BIN_DIR
|
||||
export UV_TOOL_DIR
|
||||
export UV_TOOL_BIN_DIR="${IRONFOX_UV_LOCAL}/tools/bin"
|
||||
export UV_TOOL_DIR="${IRONFOX_UV_LOCAL}/tools"
|
||||
|
||||
# Include version info
|
||||
source "${IRONFOX_VERSIONS}"
|
||||
|
||||
## Pin Python version
|
||||
UV_PYTHON_CPYTHON_BUILD="${PYTHON_GIT_RELEASE}"
|
||||
export UV_PYTHON_CPYTHON_BUILD
|
||||
export UV_PYTHON_CPYTHON_BUILD="${PYTHON_GIT_RELEASE}"
|
||||
|
||||
## Set Node.js bin path
|
||||
NVM_BIN="${IRONFOX_NVM}/versions/node/v${NODE_VERSION}/bin"
|
||||
export NVM_BIN
|
||||
export NVM_BIN="${IRONFOX_NVM}/versions/node/v${NODE_VERSION}/bin"
|
||||
|
||||
## Set Node.js version
|
||||
export NODE_VERSION
|
||||
export NODE_VERSION="${NODE_VERSION}"
|
||||
|
||||
## Set Rust version
|
||||
RUSTUP_TOOLCHAIN="${RUST_VERSION}"
|
||||
export RUSTUP_TOOLCHAIN
|
||||
export RUSTUP_TOOLCHAIN="${RUST_VERSION}"
|
||||
|
||||
## Set Rustup version
|
||||
export RUSTUP_VERSION
|
||||
export RUSTUP_VERSION="${RUSTUP_VERSION}"
|
||||
|
||||
@@ -1,36 +1,33 @@
|
||||
|
||||
# Set platform
|
||||
if [[ "${OSTYPE}" == "darwin"* ]]; then
|
||||
IRONFOX_PLATFORM='darwin'
|
||||
export IRONFOX_PLATFORM='darwin'
|
||||
else
|
||||
IRONFOX_PLATFORM='linux'
|
||||
export IRONFOX_PLATFORM='linux'
|
||||
fi
|
||||
export IRONFOX_PLATFORM
|
||||
|
||||
# Set OS
|
||||
if [[ "${IRONFOX_PLATFORM}" == 'darwin' ]]; then
|
||||
IRONFOX_OS='osx'
|
||||
export IRONFOX_OS='osx'
|
||||
elif [[ "${IRONFOX_PLATFORM}" == 'linux' ]]; then
|
||||
if [[ -f "/etc/os-release" ]]; then
|
||||
source /etc/os-release
|
||||
if [[ -n "${ID}" ]]; then
|
||||
IRONFOX_OS="${ID}"
|
||||
export IRONFOX_OS="${ID}"
|
||||
else
|
||||
IRONFOX_OS='unknown'
|
||||
export IRONFOX_OS='unknown'
|
||||
fi
|
||||
else
|
||||
IRONFOX_OS='unknown'
|
||||
export IRONFOX_OS='unknown'
|
||||
fi
|
||||
else
|
||||
IRONFOX_OS='unknown'
|
||||
export IRONFOX_OS='unknown'
|
||||
fi
|
||||
export IRONFOX_OS
|
||||
|
||||
# Set architecture
|
||||
PLATFORM_ARCH=$(uname -m)
|
||||
if [[ "${PLATFORM_ARCH}" == 'arm64' ]]; then
|
||||
IRONFOX_PLATFORM_ARCH='aarch64'
|
||||
export IRONFOX_PLATFORM_ARCH='aarch64'
|
||||
else
|
||||
IRONFOX_PLATFORM_ARCH='x86-64'
|
||||
export IRONFOX_PLATFORM_ARCH='x86-64'
|
||||
fi
|
||||
export IRONFOX_PLATFORM_ARCH
|
||||
|
||||
@@ -3,18 +3,16 @@
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
bash -x $(dirname $0)/env.sh
|
||||
source $(dirname $0)/env.sh
|
||||
|
||||
# Include utilities
|
||||
source "${IRONFOX_UTILS}"
|
||||
|
||||
if [[ -z "${IRONFOX_FROM_SOURCES+x}" ]]; then
|
||||
echo_red_text "ERROR: Do not call get_sources-if.sh directly. Instead, use get_sources.sh." >&1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
readonly target="$1"
|
||||
readonly mode="$2"
|
||||
target="$1"
|
||||
mode="$2"
|
||||
|
||||
# Set-up target parameters
|
||||
IRONFOX_GET_SOURCE_ANDROID_NDK=0
|
||||
@@ -34,8 +32,6 @@ IRONFOX_GET_SOURCE_GLEAN_PARSER=0
|
||||
IRONFOX_GET_SOURCE_GRADLE=0
|
||||
IRONFOX_GET_SOURCE_GYP=0
|
||||
IRONFOX_GET_SOURCE_JDK_17=0
|
||||
IRONFOX_GET_SOURCE_JDK_21=0
|
||||
IRONFOX_GET_SOURCE_JDK_25=0
|
||||
IRONFOX_GET_SOURCE_MICROG=0
|
||||
IRONFOX_GET_SOURCE_NODE=0
|
||||
IRONFOX_GET_SOURCE_NPM=0
|
||||
@@ -98,12 +94,6 @@ elif [ "${target}" == 'gyp' ]; then
|
||||
elif [ "${target}" == 'jdk-17' ]; then
|
||||
# Get OpenJDK (17) (Required by GeckoView)
|
||||
IRONFOX_GET_SOURCE_JDK_17=1
|
||||
elif [ "${target}" == 'jdk-21' ]; then
|
||||
# Get OpenJDK (21)
|
||||
IRONFOX_GET_SOURCE_JDK_21=1
|
||||
elif [ "${target}" == 'jdk-25' ]; then
|
||||
# Get OpenJDK (25)
|
||||
IRONFOX_GET_SOURCE_JDK_25=1
|
||||
elif [ "${target}" == 'microg' ]; then
|
||||
# Get microG
|
||||
IRONFOX_GET_SOURCE_MICROG=1
|
||||
@@ -153,8 +143,6 @@ elif [ "${target}" == 'all' ]; then
|
||||
IRONFOX_GET_SOURCE_GRADLE=1
|
||||
IRONFOX_GET_SOURCE_GYP=1
|
||||
IRONFOX_GET_SOURCE_JDK_17=1
|
||||
IRONFOX_GET_SOURCE_JDK_21=1
|
||||
IRONFOX_GET_SOURCE_JDK_25=1
|
||||
IRONFOX_GET_SOURCE_MICROG=1
|
||||
IRONFOX_GET_SOURCE_NODE=1
|
||||
IRONFOX_GET_SOURCE_NPM=1
|
||||
@@ -185,8 +173,6 @@ else
|
||||
echo 'Gradle: gradle'
|
||||
echo 'GYP: gyp'
|
||||
echo 'JDK (17): jdk-17'
|
||||
echo 'JDK (21): jdk-21'
|
||||
echo 'JDK (25): jdk-25'
|
||||
echo 'microG: microg'
|
||||
echo 'Node.js: node'
|
||||
echo 'npm: npm'
|
||||
@@ -200,35 +186,6 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
readonly IRONFOX_GET_SOURCE_ANDROID_NDK
|
||||
readonly IRONFOX_GET_SOURCE_ANDROID_SDK
|
||||
readonly IRONFOX_GET_SOURCE_ANDROID_SDK_BUILD_TOOLS
|
||||
readonly IRONFOX_GET_SOURCE_ANDROID_SDK_BUILD_TOOLS_35
|
||||
readonly IRONFOX_GET_SOURCE_ANDROID_SDK_PLATFORM
|
||||
readonly IRONFOX_GET_SOURCE_ANDROID_SDK_PLATFORM_36
|
||||
readonly IRONFOX_GET_SOURCE_ANDROID_SDK_PLATFORM_TOOLS
|
||||
readonly IRONFOX_GET_SOURCE_AS
|
||||
readonly IRONFOX_GET_SOURCE_BUNDLETOOL
|
||||
readonly IRONFOX_GET_SOURCE_CBINDGEN
|
||||
readonly IRONFOX_GET_SOURCE_GECKO
|
||||
readonly IRONFOX_GET_SOURCE_GECKO_L10N
|
||||
readonly IRONFOX_GET_SOURCE_GLEAN
|
||||
readonly IRONFOX_GET_SOURCE_GLEAN_PARSER
|
||||
readonly IRONFOX_GET_SOURCE_GRADLE
|
||||
readonly IRONFOX_GET_SOURCE_GYP
|
||||
readonly IRONFOX_GET_SOURCE_JDK_17
|
||||
readonly IRONFOX_GET_SOURCE_JDK_21
|
||||
readonly IRONFOX_GET_SOURCE_JDK_25
|
||||
readonly IRONFOX_GET_SOURCE_MICROG
|
||||
readonly IRONFOX_GET_SOURCE_NODE
|
||||
readonly IRONFOX_GET_SOURCE_NPM
|
||||
readonly IRONFOX_GET_SOURCE_PHOENIX
|
||||
readonly IRONFOX_GET_SOURCE_PIP
|
||||
readonly IRONFOX_GET_SOURCE_PREBUILDS
|
||||
readonly IRONFOX_GET_SOURCE_PYTHON
|
||||
readonly IRONFOX_GET_SOURCE_RUST
|
||||
readonly IRONFOX_GET_SOURCE_UP_AC
|
||||
readonly IRONFOX_GET_SOURCE_UV
|
||||
|
||||
# If the 'checksum-update' argument is specified, in addition to downloading the dependencies as usual,
|
||||
## we're also updating their checksums
|
||||
@@ -246,16 +203,15 @@ elif [ "${mode}" != 'download' ]; then
|
||||
echo 'Download + update checksums: checksum-update'
|
||||
exit 1
|
||||
fi
|
||||
readonly IRONFOX_GET_SOURCE_CHECKSUM_UPDATE
|
||||
|
||||
# Include version info
|
||||
source "${IRONFOX_VERSIONS}"
|
||||
|
||||
# Function to automate updating SHA512sums of dependencies
|
||||
function update_sha512sum() {
|
||||
local readonly old_sha512sum="$1"
|
||||
local readonly new_sha512sum="$2"
|
||||
local readonly file="$3"
|
||||
old_sha512sum="$1"
|
||||
new_sha512sum="$2"
|
||||
file="$3"
|
||||
|
||||
if [ "${old_sha512sum}" == "${ANDROID_NDK_SHA512SUM_LINUX}" ]; then
|
||||
echo_red_text 'Updating SHA512sum for Android NDK (Linux)...'
|
||||
@@ -353,38 +309,6 @@ function update_sha512sum() {
|
||||
echo_red_text 'Updating SHA512sum for JDK (17) (OS X - x86_64)...'
|
||||
"${IRONFOX_SED}" -i -e "s|JDK_17_SHA512SUM_OSX_X86_64='.*'|JDK_17_SHA512SUM_OSX_X86_64='"${new_sha512sum}"'|g" "${IRONFOX_VERSIONS}"
|
||||
echo_green_text 'SUCCESS: Updated SHA512sum for JDK (17) (OS X - x86_64)'
|
||||
elif [ "${old_sha512sum}" == "${JDK_21_SHA512SUM_LINUX_ARM64}" ]; then
|
||||
echo_red_text 'Updating SHA512sum for JDK (21) (Linux - ARM64)...'
|
||||
"${IRONFOX_SED}" -i -e "s|JDK_21_SHA512SUM_LINUX_ARM64='.*'|JDK_21_SHA512SUM_LINUX_ARM64='"${new_sha512sum}"'|g" "${IRONFOX_VERSIONS}"
|
||||
echo_green_text 'SUCCESS: Updated SHA512sum for JDK (21) (Linux - ARM64)'
|
||||
elif [ "${old_sha512sum}" == "${JDK_21_SHA512SUM_LINUX_X86_64}" ]; then
|
||||
echo_red_text 'Updating SHA512sum for JDK (21) (Linux - x86_64)...'
|
||||
"${IRONFOX_SED}" -i -e "s|JDK_21_SHA512SUM_LINUX_X86_64='.*'|JDK_21_SHA512SUM_LINUX_X86_64='"${new_sha512sum}"'|g" "${IRONFOX_VERSIONS}"
|
||||
echo_green_text 'SUCCESS: Updated SHA512sum for JDK (21) (Linux - x86_64)'
|
||||
elif [ "${old_sha512sum}" == "${JDK_21_SHA512SUM_OSX_ARM64}" ]; then
|
||||
echo_red_text 'Updating SHA512sum for JDK (21) (OS X - ARM64)...'
|
||||
"${IRONFOX_SED}" -i -e "s|JDK_21_SHA512SUM_OSX_ARM64='.*'|JDK_21_SHA512SUM_OSX_ARM64='"${new_sha512sum}"'|g" "${IRONFOX_VERSIONS}"
|
||||
echo_green_text 'SUCCESS: Updated SHA512sum for JDK (21) (OS X - ARM64)'
|
||||
elif [ "${old_sha512sum}" == "${JDK_21_SHA512SUM_OSX_X86_64}" ]; then
|
||||
echo_red_text 'Updating SHA512sum for JDK (21) (OS X - x86_64)...'
|
||||
"${IRONFOX_SED}" -i -e "s|JDK_21_SHA512SUM_OSX_X86_64='.*'|JDK_21_SHA512SUM_OSX_X86_64='"${new_sha512sum}"'|g" "${IRONFOX_VERSIONS}"
|
||||
echo_green_text 'SUCCESS: Updated SHA512sum for JDK (21) (OS X - x86_64)'
|
||||
elif [ "${old_sha512sum}" == "${JDK_25_SHA512SUM_LINUX_ARM64}" ]; then
|
||||
echo_red_text 'Updating SHA512sum for JDK (25) (Linux - ARM64)...'
|
||||
"${IRONFOX_SED}" -i -e "s|JDK_25_SHA512SUM_LINUX_ARM64='.*'|JDK_25_SHA512SUM_LINUX_ARM64='"${new_sha512sum}"'|g" "${IRONFOX_VERSIONS}"
|
||||
echo_green_text 'SUCCESS: Updated SHA512sum for JDK (25) (Linux - ARM64)'
|
||||
elif [ "${old_sha512sum}" == "${JDK_25_SHA512SUM_LINUX_X86_64}" ]; then
|
||||
echo_red_text 'Updating SHA512sum for JDK (25) (Linux - x86_64)...'
|
||||
"${IRONFOX_SED}" -i -e "s|JDK_25_SHA512SUM_LINUX_X86_64='.*'|JDK_25_SHA512SUM_LINUX_X86_64='"${new_sha512sum}"'|g" "${IRONFOX_VERSIONS}"
|
||||
echo_green_text 'SUCCESS: Updated SHA512sum for JDK (25) (Linux - x86_64)'
|
||||
elif [ "${old_sha512sum}" == "${JDK_25_SHA512SUM_OSX_ARM64}" ]; then
|
||||
echo_red_text 'Updating SHA512sum for JDK (25) (OS X - ARM64)...'
|
||||
"${IRONFOX_SED}" -i -e "s|JDK_25_SHA512SUM_OSX_ARM64='.*'|JDK_25_SHA512SUM_OSX_ARM64='"${new_sha512sum}"'|g" "${IRONFOX_VERSIONS}"
|
||||
echo_green_text 'SUCCESS: Updated SHA512sum for JDK (25) (OS X - ARM64)'
|
||||
elif [ "${old_sha512sum}" == "${JDK_25_SHA512SUM_OSX_X86_64}" ]; then
|
||||
echo_red_text 'Updating SHA512sum for JDK (25) (OS X - x86_64)...'
|
||||
"${IRONFOX_SED}" -i -e "s|JDK_25_SHA512SUM_OSX_X86_64='.*'|JDK_25_SHA512SUM_OSX_X86_64='"${new_sha512sum}"'|g" "${IRONFOX_VERSIONS}"
|
||||
echo_green_text 'SUCCESS: Updated SHA512sum for JDK (25) (OS X - x86_64)'
|
||||
elif [ "${old_sha512sum}" == "${L10N_SHA512SUM}" ]; then
|
||||
echo_red_text 'Updating SHA512sum for firefox-l10n...'
|
||||
"${IRONFOX_SED}" -i -e "s|L10N_SHA512SUM='.*'|L10N_SHA512SUM='"${new_sha512sum}"'|g" "${IRONFOX_VERSIONS}"
|
||||
@@ -471,10 +395,10 @@ function update_sha512sum() {
|
||||
}
|
||||
|
||||
function validate_sha512sum() {
|
||||
local readonly expected_sha512sum="$1"
|
||||
local readonly file="$2"
|
||||
expected_sha512sum="$1"
|
||||
file="$2"
|
||||
|
||||
local readonly local_sha512sum=$(sha512sum "${file}" | "${IRONFOX_AWK}" '{print $1}')
|
||||
local_sha512sum=$(sha512sum "${file}" | "${IRONFOX_AWK}" '{print $1}')
|
||||
|
||||
if [ "${IRONFOX_GET_SOURCE_CHECKSUM_UPDATE}" == 1 ]; then
|
||||
update_sha512sum "${expected_sha512sum}" "${local_sha512sum}" "${file}"
|
||||
@@ -494,9 +418,9 @@ function validate_sha512sum() {
|
||||
}
|
||||
|
||||
function clone_repo() {
|
||||
local readonly url="$1"
|
||||
local readonly path="$2"
|
||||
local readonly revision="$3"
|
||||
url="$1"
|
||||
path="$2"
|
||||
revision="$3"
|
||||
|
||||
if [[ "${url}" == "" ]]; then
|
||||
echo_red_text "ERROR: URL missing for clone"
|
||||
@@ -535,8 +459,8 @@ function clone_repo() {
|
||||
}
|
||||
|
||||
function download() {
|
||||
local readonly url="$1"
|
||||
local readonly filepath="$2"
|
||||
local url="$1"
|
||||
local filepath="$2"
|
||||
|
||||
if [[ "${url}" == "" ]]; then
|
||||
echo_red_text "ERROR: URL is required (file: '${filepath}')"
|
||||
@@ -563,9 +487,9 @@ function download() {
|
||||
|
||||
# Extract archives
|
||||
function extract() {
|
||||
local readonly archive_path="$1"
|
||||
local readonly target_path="$2"
|
||||
local readonly temp_repo_name="$3"
|
||||
local archive_path="$1"
|
||||
local target_path="$2"
|
||||
local temp_repo_name="$3"
|
||||
|
||||
if ! [[ -f "${archive_path}" ]]; then
|
||||
echo_red_text "ERROR: Archive '${archive_path}' does not exist!"
|
||||
@@ -600,16 +524,16 @@ function extract() {
|
||||
;;
|
||||
esac
|
||||
|
||||
local readonly top_input_dir=$(ls "${IRONFOX_EXTERNAL}/temp/${temp_repo_name}")
|
||||
local top_input_dir=$(ls "${IRONFOX_EXTERNAL}/temp/${temp_repo_name}")
|
||||
cp -rf "${IRONFOX_EXTERNAL}/temp/${temp_repo_name}/${top_input_dir}"/ "${target_path}"
|
||||
rm -rf "${IRONFOX_EXTERNAL}/temp/${temp_repo_name}"
|
||||
}
|
||||
|
||||
function download_and_extract() {
|
||||
local readonly repo_name="$1"
|
||||
local readonly url="$2"
|
||||
local readonly path="$3"
|
||||
local readonly expected_sha512sum="$4"
|
||||
local repo_name="$1"
|
||||
local url="$2"
|
||||
local path="$3"
|
||||
local expected_sha512sum="$4"
|
||||
|
||||
if [[ -d "${path}" ]]; then
|
||||
echo_red_text "'${path}' already exists"
|
||||
@@ -623,17 +547,18 @@ function download_and_extract() {
|
||||
fi
|
||||
fi
|
||||
|
||||
local extension
|
||||
if [[ "${url}" =~ \.tar\.xz$ ]]; then
|
||||
local readonly extension=".tar.xz"
|
||||
extension=".tar.xz"
|
||||
elif [[ "${url}" =~ \.tar\.gz$ ]]; then
|
||||
local readonly extension=".tar.gz"
|
||||
extension=".tar.gz"
|
||||
elif [[ "${url}" =~ \.tar\.zst$ ]]; then
|
||||
local readonly extension=".tar.zst"
|
||||
extension=".tar.zst"
|
||||
else
|
||||
local readonly extension=".zip"
|
||||
extension=".zip"
|
||||
fi
|
||||
|
||||
local readonly repo_archive="${IRONFOX_DOWNLOADS}/${repo_name}${extension}"
|
||||
local repo_archive="${IRONFOX_DOWNLOADS}/${repo_name}${extension}"
|
||||
|
||||
download "${url}" "${repo_archive}"
|
||||
|
||||
@@ -985,78 +910,6 @@ function get_jdk_17() {
|
||||
echo_green_text "SUCCESS: Set-up JDK (17) at ${IRONFOX_JDK_17}"
|
||||
}
|
||||
|
||||
# Get JDK (21)
|
||||
function get_jdk_21() {
|
||||
# Set our platform
|
||||
if [ "${IRONFOX_PLATFORM}" == 'darwin' ]; then
|
||||
local readonly JDK_21_PLATFORM='mac'
|
||||
else
|
||||
local readonly JDK_21_PLATFORM='linux'
|
||||
fi
|
||||
|
||||
# Set our platform architecture
|
||||
if [ "${IRONFOX_PLATFORM_ARCH}" == 'aarch64' ]; then
|
||||
local readonly JDK_21_ARCH='aarch64'
|
||||
else
|
||||
local readonly JDK_21_ARCH='x64'
|
||||
fi
|
||||
|
||||
# Set our checksum to verify
|
||||
if [ "${IRONFOX_PLATFORM_ARCH}" == 'aarch64' ]; then
|
||||
if [ "${IRONFOX_PLATFORM}" == 'darwin' ]; then
|
||||
local readonly JDK_21_SHA512SUM="${JDK_21_SHA512SUM_OSX_ARM64}"
|
||||
else
|
||||
local readonly JDK_21_SHA512SUM="${JDK_21_SHA512SUM_LINUX_ARM64}"
|
||||
fi
|
||||
else
|
||||
if [ "${IRONFOX_PLATFORM}" == 'darwin' ]; then
|
||||
local readonly JDK_21_SHA512SUM="${JDK_21_SHA512SUM_OSX_X86_64}"
|
||||
else
|
||||
local readonly JDK_21_SHA512SUM="${JDK_21_SHA512SUM_LINUX_X86_64}"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo_red_text 'Downloading JDK (21)...'
|
||||
download_and_extract 'jdk-21' "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-${JDK_21_VERSION}%2B${JDK_21_REVISION}/OpenJDK21U-jdk_${JDK_21_ARCH}_${JDK_21_PLATFORM}_hotspot_${JDK_21_VERSION}_${JDK_21_REVISION}.tar.gz" "${IRONFOX_JDK_21}" "${JDK_21_SHA512SUM}"
|
||||
echo_green_text "SUCCESS: Set-up JDK (21) at ${IRONFOX_JDK_21}"
|
||||
}
|
||||
|
||||
# Get JDK (25)
|
||||
function get_jdk_25() {
|
||||
# Set our platform
|
||||
if [ "${IRONFOX_PLATFORM}" == 'darwin' ]; then
|
||||
local readonly JDK_25_PLATFORM='mac'
|
||||
else
|
||||
local readonly JDK_25_PLATFORM='linux'
|
||||
fi
|
||||
|
||||
# Set our platform architecture
|
||||
if [ "${IRONFOX_PLATFORM_ARCH}" == 'aarch64' ]; then
|
||||
local readonly JDK_25_ARCH='aarch64'
|
||||
else
|
||||
local readonly JDK_25_ARCH='x64'
|
||||
fi
|
||||
|
||||
# Set our checksum to verify
|
||||
if [ "${IRONFOX_PLATFORM_ARCH}" == 'aarch64' ]; then
|
||||
if [ "${IRONFOX_PLATFORM}" == 'darwin' ]; then
|
||||
local readonly JDK_25_SHA512SUM="${JDK_25_SHA512SUM_OSX_ARM64}"
|
||||
else
|
||||
local readonly JDK_25_SHA512SUM="${JDK_25_SHA512SUM_LINUX_ARM64}"
|
||||
fi
|
||||
else
|
||||
if [ "${IRONFOX_PLATFORM}" == 'darwin' ]; then
|
||||
local readonly JDK_25_SHA512SUM="${JDK_25_SHA512SUM_OSX_X86_64}"
|
||||
else
|
||||
local readonly JDK_25_SHA512SUM="${JDK_25_SHA512SUM_LINUX_X86_64}"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo_red_text 'Downloading JDK (25)...'
|
||||
download_and_extract 'jdk-25' "https://github.com/adoptium/temurin25-binaries/releases/download/jdk-${JDK_25_VERSION}%2B${JDK_25_REVISION}/OpenJDK25U-jdk_${JDK_25_ARCH}_${JDK_25_PLATFORM}_hotspot_${JDK_25_VERSION}_${JDK_25_REVISION}.tar.gz" "${IRONFOX_JDK_25}" "${JDK_25_SHA512SUM}"
|
||||
echo_green_text "SUCCESS: Set-up JDK (25) at ${IRONFOX_JDK_25}"
|
||||
}
|
||||
|
||||
# Get microG
|
||||
function get_microg() {
|
||||
echo_red_text 'Downloading microG...'
|
||||
@@ -1108,7 +961,7 @@ function get_npm() {
|
||||
# Get Phoenix
|
||||
function get_phoenix() {
|
||||
echo_red_text 'Downloading Phoenix...'
|
||||
download_and_extract 'phoenix' "https://gitlab.com/celenityy/Phoenix/-/archive/${PHOENIX_COMMIT}/Phoenix-${PHOENIX_COMMIT}.tar.gz" "${IRONFOX_PHOENIX}" "${PHOENIX_SHA512SUM}"
|
||||
download_and_extract 'phoenix' "https://codeberg.org/celenity/Phoenix/archive/${PHOENIX_COMMIT}.tar.gz" "${IRONFOX_PHOENIX}" "${PHOENIX_SHA512SUM}"
|
||||
echo_green_text "SUCCESS: Set-up Phoenix at ${IRONFOX_PHOENIX}"
|
||||
}
|
||||
|
||||
@@ -1301,8 +1154,8 @@ if [ "${IRONFOX_GET_SOURCE_ANDROID_NDK}" == 1 ]; then
|
||||
fi
|
||||
|
||||
# This needs to run before we get the Android SDK
|
||||
if [ "${IRONFOX_GET_SOURCE_JDK_25}" == 1 ]; then
|
||||
get_jdk_25
|
||||
if [ "${IRONFOX_GET_SOURCE_JDK_17}" == 1 ]; then
|
||||
get_jdk_17
|
||||
fi
|
||||
|
||||
if [ "${IRONFOX_GET_SOURCE_ANDROID_SDK}" == 1 ]; then
|
||||
@@ -1358,14 +1211,6 @@ if [ "${IRONFOX_GET_SOURCE_GLEAN}" == 1 ]; then
|
||||
get_glean
|
||||
fi
|
||||
|
||||
if [ "${IRONFOX_GET_SOURCE_JDK_17}" == 1 ]; then
|
||||
get_jdk_17
|
||||
fi
|
||||
|
||||
if [ "${IRONFOX_GET_SOURCE_JDK_21}" == 1 ]; then
|
||||
get_jdk_21
|
||||
fi
|
||||
|
||||
# These need to run before we get glean_parser and gyp
|
||||
if [ "${IRONFOX_GET_SOURCE_PYTHON}" == 1 ]; then
|
||||
get_python
|
||||
|
||||
@@ -3,29 +3,26 @@
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
if [[ -z "${IRONFOX_SET_ENVS+x}" ]]; then
|
||||
bash -x $(dirname $0)/env.sh
|
||||
fi
|
||||
bash -x $(dirname $0)/env.sh
|
||||
source $(dirname $0)/env.sh
|
||||
|
||||
# Set up target parameters
|
||||
if [[ -z "${1+x}" ]]; then
|
||||
readonly target='all'
|
||||
target='all'
|
||||
else
|
||||
readonly target=$(echo "${1}" | "${IRONFOX_AWK}" '{print tolower($0)}')
|
||||
target=$(echo "${1}" | "${IRONFOX_AWK}" '{print tolower($0)}')
|
||||
fi
|
||||
|
||||
if [[ -z "${2+x}" ]]; then
|
||||
readonly mode='download'
|
||||
mode='download'
|
||||
else
|
||||
readonly mode=$(echo "${2}" | "${IRONFOX_AWK}" '{print tolower($0)}')
|
||||
mode=$(echo "${2}" | "${IRONFOX_AWK}" '{print tolower($0)}')
|
||||
fi
|
||||
|
||||
# Get sources
|
||||
readonly IRONFOX_FROM_SOURCES=1
|
||||
export IRONFOX_FROM_SOURCES
|
||||
export IRONFOX_FROM_SOURCES=1
|
||||
if [ "${IRONFOX_LOG_SOURCES}" == 1 ]; then
|
||||
readonly SOURCES_LOG_FILE="${IRONFOX_LOG_DIR}/get_sources.log"
|
||||
SOURCES_LOG_FILE="${IRONFOX_LOG_DIR}/get_sources.log"
|
||||
|
||||
# If the log file already exists, remove it
|
||||
if [ -f "${SOURCES_LOG_FILE}" ]; then
|
||||
|
||||
@@ -2,29 +2,22 @@
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
if [[ -z "${IRONFOX_SET_ENVS+x}" ]]; then
|
||||
bash -x $(dirname $0)/env.sh
|
||||
fi
|
||||
source $(dirname $0)/env.sh
|
||||
|
||||
# Include utilities
|
||||
source "${IRONFOX_UTILS}"
|
||||
source "$(dirname $0)/utilities.sh"
|
||||
|
||||
function noop_mozilla_endpoints() {
|
||||
local readonly endpoint="$1"
|
||||
local readonly dir="$2"
|
||||
local endpoint="$1"
|
||||
local dir="$2"
|
||||
|
||||
# Find files containing the endpoint
|
||||
local readonly files=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"${endpoint}[^\"']*\"" -e "'${endpoint}[^\"']*'")
|
||||
local readonly files_slash=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"${endpoint}/[^\"']*\"" -e "'${endpoint}/[^\"']*'")
|
||||
local readonly files_period=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"${endpoint}.[^\"']*\"" -e "'${endpoint}.[^\"']*'")
|
||||
local readonly http_files=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"http://${endpoint}[^\"']*\"" -e "'http://${endpoint}[^\"']*'")
|
||||
local readonly http_files_slash=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"http://${endpoint}/[^\"']*\"" -e "'http://${endpoint}/[^\"']*'")
|
||||
local readonly http_files_period=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"http://${endpoint}.[^\"']*\"" -e "'http://${endpoint}.[^\"']*'")
|
||||
local readonly https_files=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"https://${endpoint}[^\"']*\"" -e "'https://${endpoint}[^\"']*'")
|
||||
local readonly https_files_slash=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"https://${endpoint}/[^\"']*\"" -e "'https://${endpoint}/[^\"']*'")
|
||||
local readonly https_files_period=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"https://${endpoint}.[^\"']*\"" -e "'https://${endpoint}.[^\"']*'")
|
||||
local files=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"${endpoint}[^\"']*\"" -e "'${endpoint}[^\"']*'")
|
||||
local files_slash=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"${endpoint}/[^\"']*\"" -e "'${endpoint}/[^\"']*'")
|
||||
local files_period=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"${endpoint}.[^\"']*\"" -e "'${endpoint}.[^\"']*'")
|
||||
local http_files=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"http://${endpoint}[^\"']*\"" -e "'http://${endpoint}[^\"']*'")
|
||||
local http_files_slash=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"http://${endpoint}/[^\"']*\"" -e "'http://${endpoint}/[^\"']*'")
|
||||
local http_files_period=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"http://${endpoint}.[^\"']*\"" -e "'http://${endpoint}.[^\"']*'")
|
||||
local https_files=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"https://${endpoint}[^\"']*\"" -e "'https://${endpoint}[^\"']*'")
|
||||
local https_files_slash=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"https://${endpoint}/[^\"']*\"" -e "'https://${endpoint}/[^\"']*'")
|
||||
local https_files_period=$(grep -rnlI --exclude=*.json --exclude=*.md --exclude=*.swift --exclude-dir=androidTest --exclude-dir=docs --exclude-dir=test --exclude-dir=tests "${dir}" -e "\"https://${endpoint}.[^\"']*\"" -e "'https://${endpoint}.[^\"']*'")
|
||||
|
||||
# Check if any files were found and modify them
|
||||
if [ -n "${files}" ]; then
|
||||
|
||||
@@ -3,30 +3,28 @@
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
if [[ -z "${IRONFOX_SET_ENVS+x}" ]]; then
|
||||
bash -x $(dirname $0)/env.sh
|
||||
fi
|
||||
bash -x $(dirname $0)/env.sh
|
||||
source $(dirname $0)/env.sh
|
||||
|
||||
readonly RED="\033[0;31m"
|
||||
readonly GREEN="\033[0;32m"
|
||||
readonly NC="\033[0m"
|
||||
RED="\033[0;31m"
|
||||
GREEN="\033[0;32m"
|
||||
NC="\033[0m"
|
||||
|
||||
declare -a PATCH_CMD
|
||||
readonly PATCH_CMD=(patch -p1 -f --fuzz=3 --no-backup-if-mismatch)
|
||||
PATCH_CMD=(patch -p1 -f --fuzz=3 --no-backup-if-mismatch)
|
||||
|
||||
declare -a PATCH_FILES
|
||||
declare -a AS_PATCH_FILES
|
||||
declare -a GLEAN_PATCH_FILES
|
||||
declare -a UP_AC_PATCH_FILES
|
||||
|
||||
readonly PATCH_FILES=($(yq '.patches[].file' "$(dirname "$0")"/patches.yaml))
|
||||
readonly AS_PATCH_FILES=($(yq '.patches[].file' "$(dirname "$0")"/a-s-patches.yaml))
|
||||
readonly GLEAN_PATCH_FILES=($(yq '.patches[].file' "$(dirname "$0")"/glean-patches.yaml))
|
||||
readonly UP_AC_PATCH_FILES=($(yq '.patches[].file' "${IRONFOX_UP_AC}"/patches/patches.yaml))
|
||||
PATCH_FILES=($(yq '.patches[].file' "$(dirname "$0")"/patches.yaml))
|
||||
AS_PATCH_FILES=($(yq '.patches[].file' "$(dirname "$0")"/a-s-patches.yaml))
|
||||
GLEAN_PATCH_FILES=($(yq '.patches[].file' "$(dirname "$0")"/glean-patches.yaml))
|
||||
UP_AC_PATCH_FILES=($(yq '.patches[].file' "${IRONFOX_UP_AC}"/patches/patches.yaml))
|
||||
|
||||
function check_patch() {
|
||||
local readonly patch="${IRONFOX_PATCHES}/$1"
|
||||
check_patch() {
|
||||
patch="${IRONFOX_PATCHES}/$1"
|
||||
if ! [[ -f "${patch}" ]]; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
echo "'${patch}' does not exist or is not a file"
|
||||
@@ -40,8 +38,8 @@ function check_patch() {
|
||||
fi
|
||||
}
|
||||
|
||||
function up_ac_check_patch() {
|
||||
local readonly patch="${IRONFOX_UP_AC}/patches/$1"
|
||||
up_ac_check_patch() {
|
||||
patch="${IRONFOX_UP_AC}/patches/$1"
|
||||
if ! [[ -f "${patch}" ]]; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
echo "'${patch}' does not exist or is not a file"
|
||||
@@ -55,7 +53,7 @@ function up_ac_check_patch() {
|
||||
fi
|
||||
}
|
||||
|
||||
function check_patches() {
|
||||
check_patches() {
|
||||
for patch in "${PATCH_FILES[@]}"; do
|
||||
if ! check_patch "${patch}"; then
|
||||
return 1
|
||||
@@ -63,7 +61,7 @@ function check_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function a-s_check_patches() {
|
||||
a-s_check_patches() {
|
||||
for patch in "${AS_PATCH_FILES[@]}"; do
|
||||
if ! check_patch "${patch}"; then
|
||||
return 1
|
||||
@@ -71,7 +69,7 @@ function a-s_check_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function glean_check_patches() {
|
||||
glean_check_patches() {
|
||||
for patch in "${GLEAN_PATCH_FILES[@]}"; do
|
||||
if ! check_patch "${patch}"; then
|
||||
return 1
|
||||
@@ -79,7 +77,7 @@ function glean_check_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function up_ac_check_patches() {
|
||||
up_ac_check_patches() {
|
||||
for patch in "${UP_AC_PATCH_FILES[@]}"; do
|
||||
if ! up_ac_check_patch "${patch}"; then
|
||||
return 1
|
||||
@@ -87,7 +85,7 @@ function up_ac_check_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function test_patches() {
|
||||
test_patches() {
|
||||
for patch in "${PATCH_FILES[@]}"; do
|
||||
if ! check_patch "${patch}" >/dev/null 2>&1; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
@@ -97,7 +95,7 @@ function test_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function a-s_test_patches() {
|
||||
a-s_test_patches() {
|
||||
for patch in "${AS_PATCH_FILES[@]}"; do
|
||||
if ! check_patch "${patch}" >/dev/null 2>&1; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
@@ -107,7 +105,7 @@ function a-s_test_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function glean_test_patches() {
|
||||
glean_test_patches() {
|
||||
for patch in "${GLEAN_PATCH_FILES[@]}"; do
|
||||
if ! check_patch "${patch}" >/dev/null 2>&1; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
@@ -117,7 +115,7 @@ function glean_test_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function up_ac_test_patches() {
|
||||
up_ac_test_patches() {
|
||||
for patch in "${UP_AC_PATCH_FILES[@]}"; do
|
||||
if ! up_ac_check_patch "${patch}" >/dev/null 2>&1; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
@@ -127,23 +125,23 @@ function up_ac_test_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function apply_patch() {
|
||||
local readonly name="$1"
|
||||
apply_patch() {
|
||||
name="$1"
|
||||
echo "Applying patch: ${name}"
|
||||
check_patch "${name}" || return 1
|
||||
"${PATCH_CMD[@]}" <"${IRONFOX_PATCHES}/${name}"
|
||||
return $?
|
||||
}
|
||||
|
||||
function up_ac_apply_patch() {
|
||||
local readonly name="$1"
|
||||
up_ac_apply_patch() {
|
||||
name="$1"
|
||||
echo "Applying patch: ${name}"
|
||||
up_ac_check_patch "${name}" || return 1
|
||||
"${PATCH_CMD[@]}" <"${IRONFOX_UP_AC}/patches/${name}"
|
||||
return $?
|
||||
}
|
||||
|
||||
function apply_patches() {
|
||||
apply_patches() {
|
||||
for patch in "${PATCH_FILES[@]}"; do
|
||||
if ! apply_patch "${patch}"; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
@@ -153,7 +151,7 @@ function apply_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function a-s_apply_patches() {
|
||||
a-s_apply_patches() {
|
||||
for patch in "${AS_PATCH_FILES[@]}"; do
|
||||
if ! apply_patch "${patch}"; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
@@ -163,7 +161,7 @@ function a-s_apply_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function glean_apply_patches() {
|
||||
glean_apply_patches() {
|
||||
for patch in "${GLEAN_PATCH_FILES[@]}"; do
|
||||
if ! apply_patch "${patch}"; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
@@ -173,7 +171,7 @@ function glean_apply_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function up_ac_apply_patches() {
|
||||
up_ac_apply_patches() {
|
||||
for patch in "${UP_AC_PATCH_FILES[@]}"; do
|
||||
if ! up_ac_apply_patch "${patch}"; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
@@ -183,32 +181,32 @@ function up_ac_apply_patches() {
|
||||
done
|
||||
}
|
||||
|
||||
function list_patches() {
|
||||
list_patches() {
|
||||
for patch in "${PATCH_FILES[@]}"; do
|
||||
echo "${patch}"
|
||||
done
|
||||
}
|
||||
|
||||
function a-s_list_patches() {
|
||||
a-s_list_patches() {
|
||||
for patch in "${AS_PATCH_FILES[@]}"; do
|
||||
echo "${patch}"
|
||||
done
|
||||
}
|
||||
|
||||
function glean_list_patches() {
|
||||
glean_list_patches() {
|
||||
for patch in "${GLEAN_PATCH_FILES[@]}"; do
|
||||
echo "${patch}"
|
||||
done
|
||||
}
|
||||
|
||||
function up_ac_list_patches() {
|
||||
up_ac_list_patches() {
|
||||
for patch in "${UP_AC_PATCH_FILES[@]}"; do
|
||||
echo "${patch}"
|
||||
done
|
||||
}
|
||||
|
||||
function slugify() {
|
||||
local readonly input="$1"
|
||||
slugify() {
|
||||
local input="$1"
|
||||
echo "${input}" | \
|
||||
tr '[:upper:]' '[:lower:]' | \
|
||||
"${IRONFOX_SED}" -E 's/[^a-z0-9]+/-/g' | \
|
||||
@@ -217,10 +215,10 @@ function slugify() {
|
||||
|
||||
# Function to rebase a single patch file atomically
|
||||
# Usage: rebase_patch <compatible_tag> <target_tag> <patch_file_path>
|
||||
function rebase_patch() {
|
||||
local readonly compatible_tag="$1"
|
||||
local readonly target_tag="$2"
|
||||
local readonly patch_file="$3"
|
||||
rebase_patch() {
|
||||
local compatible_tag="$1"
|
||||
local target_tag="$2"
|
||||
local patch_file="$3"
|
||||
|
||||
# Validate inputs
|
||||
if [[ -z "${compatible_tag}" || -z "${target_tag}" || -z "${patch_file}" ]]; then
|
||||
@@ -237,15 +235,18 @@ function rebase_patch() {
|
||||
fi
|
||||
|
||||
# Store original state for rollback
|
||||
local readonly original_branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
|
||||
local original_branch
|
||||
original_branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
|
||||
|
||||
local readonly original_stash_count=$(git stash list | wc -l)
|
||||
local original_stash_count
|
||||
original_stash_count=$(git stash list | wc -l)
|
||||
|
||||
local readonly patch_name=$(basename "${patch_file}" .patch)
|
||||
local patch_name
|
||||
patch_name=$(basename "${patch_file}" .patch)
|
||||
|
||||
local readonly branch_name="rebase-${patch_name}"
|
||||
local branch_name="rebase-${patch_name}"
|
||||
|
||||
function cleanup_and_rollback() {
|
||||
cleanup_and_rollback() {
|
||||
echo "Error occurred, rolling back changes..." >&2
|
||||
|
||||
# Check if we're in the middle of a rebase and abort it
|
||||
@@ -265,7 +266,8 @@ function rebase_patch() {
|
||||
git branch -D "${branch_name}" 2>/dev/null
|
||||
|
||||
# Restore stashed changes if any were created
|
||||
local readonly current_stash_count=$(git stash list | wc -l)
|
||||
local current_stash_count
|
||||
current_stash_count=$(git stash list | wc -l)
|
||||
if [[ "${current_stash_count}" -gt "${original_stash_count}" ]]; then
|
||||
git stash pop 2>/dev/null
|
||||
fi
|
||||
@@ -334,7 +336,8 @@ function rebase_patch() {
|
||||
fi
|
||||
|
||||
# Commit the changes
|
||||
local readonly commit_message="Apply patch $(basename "${patch_file}") - rebased to ${target_tag}"
|
||||
local commit_message
|
||||
commit_message="Apply patch $(basename "${patch_file}") - rebased to ${target_tag}"
|
||||
echo "Committing changes..."
|
||||
if ! git commit -m "${commit_message}"; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patch}")"
|
||||
@@ -354,7 +357,8 @@ function rebase_patch() {
|
||||
|
||||
# Update the patch file using git format-patch
|
||||
echo "Updating patch file..."
|
||||
local readonly temp_patch=$(mktemp)
|
||||
local temp_patch
|
||||
temp_patch=$(mktemp)
|
||||
if ! git format-patch -1 --stdout >"${temp_patch}"; then
|
||||
printf "${RED}✗ %-45s: FAILED${NC}\n" "$(basename "${patc}h")"
|
||||
echo "Failed to generate new patch" >&2
|
||||
@@ -382,7 +386,8 @@ function rebase_patch() {
|
||||
git branch -D "${branch_name}"
|
||||
|
||||
# Restore stashed changes if any
|
||||
local readonly current_stash_count=$(git stash list | wc -l)
|
||||
local current_stash_count
|
||||
current_stash_count=$(git stash list | wc -l)
|
||||
if [[ "${current_stash_count}" -gt "${original_stash_count}" ]]; then
|
||||
echo "Restoring stashed changes..."
|
||||
git stash pop
|
||||
@@ -395,9 +400,9 @@ function rebase_patch() {
|
||||
|
||||
# Function to rebase multiple patch files
|
||||
# Usage: rebase_patches <compatible_tag> <target_tag> <patch_file1> [patch_file2] [...]
|
||||
function rebase_patches() {
|
||||
local readonly compatible_tag="$1"
|
||||
local readonly target_tag="$2"
|
||||
rebase_patches() {
|
||||
local compatible_tag="$1"
|
||||
local target_tag="$2"
|
||||
|
||||
# Validate inputs
|
||||
if [[ -z "${compatible_tag}" || -z "${target_tag}" ]]; then
|
||||
|
||||
@@ -23,11 +23,9 @@
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
bash -x $(dirname $0)/env.sh
|
||||
source $(dirname $0)/env.sh
|
||||
|
||||
# Include utilities
|
||||
source "${IRONFOX_UTILS}"
|
||||
|
||||
if [[ -z "${IRONFOX_FROM_PREBUILD+x}" ]]; then
|
||||
echo_red_text "ERROR: Do not call prebuild-if.sh directly. Instead, use prebuild.sh." >&1
|
||||
exit 1
|
||||
@@ -51,9 +49,9 @@ function localize_maven() {
|
||||
# Applies the overlay files in the given directory
|
||||
# to the current directory
|
||||
function apply_overlay() {
|
||||
local readonly source_dir="$1"
|
||||
source_dir="$1"
|
||||
find "${source_dir}" -type f| while read -r src; do
|
||||
local target="${src#"${source_dir}"}"
|
||||
target="${src#"${source_dir}"}"
|
||||
mkdir -vp "$(dirname "${target}")"
|
||||
cp -vrf "${src}" "${target}"
|
||||
done
|
||||
@@ -73,7 +71,7 @@ if [ ! -d "${IRONFOX_ANDROID_NDK}" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
readonly JAVA_VER=$("${IRONFOX_JAVA}" -version 2>&1 | "${IRONFOX_AWK}" -F '"' '/version/ {print $2}' | "${IRONFOX_AWK}" -F '.' '{sub("^$", "0", $2); print $1$2}')
|
||||
JAVA_VER=$("${IRONFOX_JAVA}" -version 2>&1 | "${IRONFOX_AWK}" -F '"' '/version/ {print $2}' | "${IRONFOX_AWK}" -F '.' '{sub("^$", "0", $2); print $1$2}')
|
||||
[ "${JAVA_VER}" -ge 15 ] || {
|
||||
echo_red_text "Java 17 or newer must be set as default JDK"
|
||||
exit 1
|
||||
@@ -1016,7 +1014,7 @@ rm -vf mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher.webp
|
||||
if [[ -n "${FDROID_BUILD+x}" ]]; then
|
||||
# Patch the LLVM source code
|
||||
# Search clang- in https://android.googlesource.com/platform/ndk/+/refs/tags/ndk-r28b/ndk/toolchains.py
|
||||
readonly LLVM_SVN='530567'
|
||||
LLVM_SVN='530567'
|
||||
"${IRONFOX_PYTHON}" "${toolchain_utils}/llvm_tools/patch_manager.py" \
|
||||
--svn_version $LLVM_SVN \
|
||||
--patch_metadata_file "${llvm_android}/patches/PATCHES.json" \
|
||||
|
||||
@@ -3,16 +3,13 @@
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
if [[ -z "${IRONFOX_SET_ENVS+x}" ]]; then
|
||||
bash -x $(dirname $0)/env.sh
|
||||
fi
|
||||
bash -x $(dirname $0)/env.sh
|
||||
source $(dirname $0)/env.sh
|
||||
|
||||
# Prepare to build IronFox
|
||||
readonly IRONFOX_FROM_PREBUILD=1
|
||||
export IRONFOX_FROM_PREBUILD
|
||||
export IRONFOX_FROM_PREBUILD=1
|
||||
if [ "${IRONFOX_LOG_PREBUILD}" == 1 ]; then
|
||||
readonly PREBUILD_LOG_FILE="${IRONFOX_LOG_DIR}/prebuild.log"
|
||||
PREBUILD_LOG_FILE="${IRONFOX_LOG_DIR}/prebuild.log"
|
||||
|
||||
# If the log file already exists, remove it
|
||||
if [ -f "${PREBUILD_LOG_FILE}" ]; then
|
||||
|
||||
@@ -83,19 +83,19 @@ if [[ "${PARSE_COMMAND}" == true ]]; then
|
||||
COMMAND_ARGS=("$@")
|
||||
fi
|
||||
|
||||
function image_exists() {
|
||||
image_exists() {
|
||||
docker image inspect "${IMAGE_NAME}" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
function container_exists() {
|
||||
container_exists() {
|
||||
docker container inspect "${CONTAINER_NAME}" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
function container_running() {
|
||||
container_running() {
|
||||
[[ "$(docker container inspect -f '{{.State.Running}}' "${CONTAINER_NAME}" 2>/dev/null)" == "true" ]]
|
||||
}
|
||||
|
||||
function build_image() {
|
||||
build_image() {
|
||||
echo "Building Docker image '${IMAGE_NAME}'..."
|
||||
if [[ ! -f "${DOCKERFILE_PATH}" ]]; then
|
||||
echo "Error: Dockerfile not found at ${DOCKERFILE_PATH}"
|
||||
@@ -105,7 +105,7 @@ function build_image() {
|
||||
echo "Docker image '${IMAGE_NAME}' built successfully."
|
||||
}
|
||||
|
||||
function create_container() {
|
||||
create_container() {
|
||||
echo "Creating container '${CONTAINER_NAME}'..."
|
||||
|
||||
local docker_cmd=(
|
||||
@@ -120,14 +120,14 @@ function create_container() {
|
||||
echo "Container '${CONTAINER_NAME}' created successfully."
|
||||
}
|
||||
|
||||
function start_container() {
|
||||
start_container() {
|
||||
if ! container_running; then
|
||||
echo "Starting container '${CONTAINER_NAME}'..."
|
||||
docker start "${CONTAINER_NAME}"
|
||||
fi
|
||||
}
|
||||
|
||||
function execute_in_container() {
|
||||
execute_in_container() {
|
||||
local cmd=("$@")
|
||||
|
||||
if [[ ${#cmd[@]} -eq 0 ]]; then
|
||||
@@ -139,7 +139,7 @@ function execute_in_container() {
|
||||
fi
|
||||
}
|
||||
|
||||
function main() {
|
||||
main() {
|
||||
echo "IronFox"
|
||||
echo "========================"
|
||||
|
||||
|
||||
@@ -3,12 +3,10 @@
|
||||
set -euo pipefail
|
||||
|
||||
# Set-up our environment
|
||||
bash -x $(dirname $0)/env.sh
|
||||
source $(dirname $0)/env.sh
|
||||
source "${IRONFOX_ENV_BUILD}"
|
||||
|
||||
# Include utilities
|
||||
source "${IRONFOX_UTILS}"
|
||||
|
||||
# Include version info
|
||||
source "${IRONFOX_VERSIONS}"
|
||||
|
||||
@@ -18,13 +16,13 @@ export PATH="${IRONFOX_JAVA_HOME}/bin:${PATH}"
|
||||
# Functions
|
||||
|
||||
function sign_apk() {
|
||||
local target="$1"
|
||||
local APK_IN="${IRONFOX_OUTPUTS_APK}/ironfox-${IRONFOX_CHANNEL}-${target}-unsigned.apk"
|
||||
target="$1"
|
||||
APK_IN="${IRONFOX_OUTPUTS_APK}/ironfox-${IRONFOX_CHANNEL}-${target}-unsigned.apk"
|
||||
|
||||
if [ "${IRONFOX_CI}" == 1 ]; then
|
||||
local APK_OUT="${IRONFOX_APK_ARTIFACTS}/IronFox-v${IRONFOX_VERSION}-${target}.apk"
|
||||
APK_OUT="${IRONFOX_APK_ARTIFACTS}/IronFox-v${IRONFOX_VERSION}-${target}.apk"
|
||||
else
|
||||
local APK_OUT="${IRONFOX_OUTPUTS_APK}/ironfox-${IRONFOX_CHANNEL}-${target}-signed.apk"
|
||||
APK_OUT="${IRONFOX_OUTPUTS_APK}/ironfox-${IRONFOX_CHANNEL}-${target}-signed.apk"
|
||||
fi
|
||||
|
||||
"${IRONFOX_APKSIGNER}" sign \
|
||||
@@ -63,12 +61,12 @@ function sign_universal() {
|
||||
function sign_bundle() {
|
||||
echo_red_text 'Building signed bundleset...'
|
||||
|
||||
local AAB_IN="${IRONFOX_OUTPUTS_FENIX_AAB}"
|
||||
AAB_IN="${IRONFOX_OUTPUTS_FENIX_AAB}"
|
||||
|
||||
if [ "${IRONFOX_CI}" == 1 ]; then
|
||||
local APKS_OUT="${IRONFOX_APKS_ARTIFACTS}/IronFox-v${IRONFOX_VERSION}.apks"
|
||||
APKS_OUT="${IRONFOX_APKS_ARTIFACTS}/IronFox-v${IRONFOX_VERSION}.apks"
|
||||
else
|
||||
local APKS_OUT="${IRONFOX_OUTPUTS_FENIX_APKS}"
|
||||
APKS_OUT="${IRONFOX_OUTPUTS_FENIX_APKS}"
|
||||
fi
|
||||
|
||||
"${IRONFOX_BUNDLETOOL}" build-apks \
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Utility functions for frequently performed tasks
|
||||
# This file MUST NOT contain anything other than function definitions.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user