Skip to content
Open
Changes from all commits
Commits
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
38 changes: 23 additions & 15 deletions scripts/static_checks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,16 @@

# LINT CHECKS
# Run Java lint check
bash scripts/checkstyle_lint_check.sh
FAILURES=0
bash scripts/checkstyle_lint_check.sh || FAILURES=$((FAILURES+1))
echo ""

# Run Kotlin lint check
bash scripts/ktlint_lint_check.sh
bash scripts/ktlint_lint_check.sh || FAILURES=$((FAILURES+1))
echo ""

# Run protobuf lint checks
bash scripts/buf_lint_check.sh
bash scripts/buf_lint_check.sh || FAILURES=$((FAILURES+1))
echo ""

# Download Buildifier in oppia-android-tools folder (pre-requisite for buildifier checks)
Expand All @@ -33,7 +34,7 @@ cd ../oppia-android/
echo ""

# Run Bazel Build file lint checks (buildifier checks)
bash scripts/buildifier_lint_check.sh
bash scripts/buildifier_lint_check.sh || FAILURES=$((FAILURES+1))
echo ""


Expand All @@ -44,72 +45,79 @@ echo ""
echo "********************************"
echo "Running regex pattern checks"
echo "********************************"
bazel run //scripts:regex_pattern_validation_check -- $(pwd)
bazel run //scripts:regex_pattern_validation_check -- $(pwd) || FAILURES=$((FAILURES+1))
echo ""

# Run XML Syntax check validation
echo "********************************"
echo "Running XML Syntax validation checks"
echo "********************************"
bazel run //scripts:xml_syntax_check -- $(pwd)
bazel run //scripts:xml_syntax_check -- $(pwd) || FAILURES=$((FAILURES+1))
echo ""

# Run TextView Style check
echo "********************************"
echo "Running TextView style validation checks"
echo "********************************"
bazel run //scripts:check_textview_styles -- $(pwd)
bazel run //scripts:check_textview_styles -- $(pwd) || FAILURES=$((FAILURES+1))
echo ""

# Run Testfile Presence Check
echo "********************************"
echo "Running Testfile presence checks"
echo "********************************"
bazel run //scripts:test_file_check -- $(pwd)
bazel run //scripts:test_file_check -- $(pwd) || FAILURES=$((FAILURES+1))
echo ""

# Run Accessibility label Check
echo "********************************"
echo "Running Accessibility label checks"
echo "********************************"
bazel run //scripts:accessibility_label_check -- $(pwd) scripts/assets/accessibility_label_exemptions.pb app/src/main/AndroidManifest.xml
bazel run //scripts:accessibility_label_check -- $(pwd) scripts/assets/accessibility_label_exemptions.pb app/src/main/AndroidManifest.xml || FAILURES=$((FAILURES+1))
echo ""

# Run KDoc Validation Check
echo "********************************"
echo "Running KDoc validation checks"
echo "********************************"
bazel run //scripts:kdoc_validity_check -- $(pwd) scripts/assets/kdoc_validity_exemptions.pb
bazel run //scripts:kdoc_validity_check -- $(pwd) scripts/assets/kdoc_validity_exemptions.pb || FAILURES=$((FAILURES+1))
echo ""

# Run String resource validation check
echo "********************************"
echo "Running resource validation checks"
echo "********************************"
bazel run //scripts:string_resource_validation_check -- $(pwd)
bazel run //scripts:string_resource_validation_check -- $(pwd) || FAILURES=$((FAILURES+1))
echo ""


# THIRD PARTY DEPENDENCY CHECKS
# These are checks for third party dependencies

# Maven Repin Check
echo "********************************"
echo "Running Maven repin checks"
echo "********************************"
REPIN=1 bazel run @unpinned_maven//:pin
REPIN=1 bazel run @unpinned_maven//:pin || FAILURES=$((FAILURES+1))
echo ""

# Maven Dependencies Update Check
echo "********************************"
echo "Running maven dependencies update checks"
echo "********************************"
bazel run //scripts:maven_dependencies_list_check -- $(pwd) third_party/maven_install.json scripts/assets/maven_dependencies.pb
bazel run //scripts:maven_dependencies_list_check -- $(pwd) third_party/maven_install.json scripts/assets/maven_dependencies.pb || FAILURES=$((FAILURES+1))
echo ""

# Open issue correctness checks.
echo "********************************"
echo "Running TODO correctness checks"
echo "********************************"
bazel run //scripts:todo_open_check -- $(pwd) scripts/assets/todo_open_exemptions.pb
bazel run //scripts:todo_open_check -- $(pwd) scripts/assets/todo_open_exemptions.pb || FAILURES=$((FAILURES+1))
echo ""

if [ "$FAILURES" -gt 0 ]; then
echo "$FAILURES check(s) failed. Please fix the above errors."
exit 1
else
echo "All checks passed."
exit 0
fi
Loading