Skip to content

Commit 8b21d6a

Browse files
committed
chore(deps)_: get missing deps versions dynamically
To remove hardcoding of specific versions of missing gradle dependencies, we will use `get_versions.sh` to fetch them dynamically. Also disable default lint checks to remove redundant `lintVitalReportRelease` task and dependency.
1 parent 36fa4bd commit 8b21d6a

File tree

4 files changed

+47
-10
lines changed

4 files changed

+47
-10
lines changed

android/app/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,10 @@ android {
143143
kotlinOptions {
144144
jvmTarget = JavaVersion.VERSION_17
145145
}
146+
// Disable default lint checks to remove redundant lintVitalReportRelease task
147+
lintOptions {
148+
checkReleaseBuilds false
149+
}
146150

147151
// https://developer.android.com/studio/projects/install-ndk#vanilla_cmake
148152
externalNativeBuild {

nix/deps/gradle/deps_hack.sh

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
# Fallback versions for each dependency
5+
readonly FOOJAY_FALLBACK="0.5.0"
6+
readonly KOTLIN_FALLBACK="1.8.0"
7+
readonly TOOLS_FALLBACK="3.5.4"
8+
readonly HERMES_FALLBACK="0.73.5"
9+
10+
GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel)
11+
cd "${GIT_ROOT}"
12+
13+
get_version() {
14+
local file="$1"
15+
local pattern="$2"
16+
local fallback="$3"
17+
local version
18+
19+
if [[ ! -f "$file" ]]; then
20+
echo "$fallback"
21+
return 0
22+
fi
23+
24+
version=$(grep "$pattern" "$file" 2>/dev/null | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+\.*[0-9]*" | tail -n1 || echo "$fallback")
25+
echo "$version"
26+
}
27+
28+
foojay_version=$(get_version "./node_modules/@react-native/gradle-plugin/settings.gradle.kts" "foojay.*version" "$FOOJAY_FALLBACK")
29+
kotlin_version=$(get_version "./node_modules/@react-native/gradle-plugin/gradle/libs.versions.toml" "kotlin =" "$KOTLIN_FALLBACK")
30+
tools_version=$(get_version "./patches/BlurView-build.gradle.patch" "gradle:" "$TOOLS_FALLBACK")
31+
hermes_version=$(get_version "./node_modules/react-native/ReactAndroid/gradle.properties" "VERSION_NAME" "$HERMES_FALLBACK")
32+
33+
34+
cat << EOF
35+
org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:$foojay_version
36+
org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:$kotlin_version
37+
com.android.tools.build:gradle:$tools_version
38+
com.facebook.react:hermes-android:$hermes_version
39+
EOF

nix/deps/gradle/generate.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,10 @@ function gen_deps_list() {
3838
echo -e "${CLR}Found ${GRN}$(wc -l < "${DEPS_LIST}")${RST} direct dependencies..."
3939
}
4040

41-
# FIXME: Temporary fix for missing packages.
41+
# FIXME: Fix for missing packages.
4242
# https://github.com/status-im/status-mobile/issues/15447
4343
function add_deps_hack() {
44-
echo -n \
45-
'org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:0.5.0
46-
org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.8.0
47-
com.android.tools.build:gradle:3.5.4
48-
com.android.tools.lint:lint-gradle:31.1.1
49-
com.facebook.react:hermes-android:0.73.5' \
50-
>> "${DEPS_LIST}"
44+
"${CUR_DIR}/deps_versions.sh" >> "${DEPS_LIST}"
5145
}
5246

5347
# Find download URLs for each dependency.

nix/deps/gradle/get_deps.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/usr/bin/env bash
22

33
# This script generates a list of dependencies for the main project and its
4-
# sub-projects defined using Gradle config files. It parses Gradle output of
5-
# 'dependencies' and 'buildEnvironment` tasks using AWK.
4+
# sub-projects defined using Gradle config files. It uses github-dependency-graph-gradle-plugin:
5+
# https://github.com/gradle/github-dependency-graph-gradle-plugin?tab=readme-ov-file#using-the-plugin-to-generate-dependency-reports
66

77
set -Eeuo pipefail
88

0 commit comments

Comments
 (0)