-
-
Notifications
You must be signed in to change notification settings - Fork 467
Expand file tree
/
Copy pathMakefile
More file actions
79 lines (62 loc) · 2.61 KB
/
Makefile
File metadata and controls
79 lines (62 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
.PHONY: all clean compile javadocs dryRelease update checkFormat api assembleBenchmarkTestRelease assembleUiTestRelease assembleUiTestCriticalRelease createCoverageReports runUiTestCritical setupPython systemTest systemTestInteractive check preMerge publish
all: stop clean javadocs compile createCoverageReports
assembleBenchmarks: assembleBenchmarkTestRelease
assembleUiTests: assembleUiTestRelease
preMerge: check createCoverageReports
publish: clean dryRelease
# deep clean
clean:
./gradlew clean --no-configuration-cache
rm -rf distributions
rm -rf .venv
# build and run tests
compile:
./gradlew build
javadocs:
./gradlew aggregateJavadocs
# do a dry release (like a local deploy)
dryRelease:
./gradlew aggregateJavadocs distZip --no-build-cache --no-configuration-cache
# check for dependencies update
update:
./gradlew dependencyUpdates -Drevision=release
# Spotless check's code
checkFormat:
./gradlew spotlessJavaCheck spotlessKotlinCheck
# Binary compatibility validator
api:
./gradlew apiDump
# Assemble release and Android test apk of the uitest-android-benchmark module
assembleBenchmarkTestRelease:
./gradlew :sentry-android-integration-tests:sentry-uitest-android-benchmark:assembleRelease
./gradlew :sentry-android-integration-tests:sentry-uitest-android-benchmark:assembleAndroidTest -DtestBuildType=release
# Assemble release and Android test apk of the uitest-android module
assembleUiTestRelease:
./gradlew :sentry-android-integration-tests:sentry-uitest-android:assembleRelease
./gradlew :sentry-android-integration-tests:sentry-uitest-android:assembleAndroidTest -DtestBuildType=release
# Assemble release of the uitest-android-critical module
assembleUiTestCriticalRelease:
./gradlew :sentry-android-integration-tests:sentry-uitest-android-critical:assembleRelease
# Run Maestro tests for the uitest-android-critical module
runUiTestCritical:
./scripts/test-ui-critical.sh
# Create coverage reports
# - Jacoco for Java & Android modules
# - Kover for KMP modules e.g sentry-compose
createCoverageReports:
./gradlew jacocoTestReport
./gradlew koverXmlReportRelease
# Create the Python virtual environment for system tests, and install the necessary dependencies
setupPython:
@test -d .venv || python3 -m venv .venv
.venv/bin/pip install --upgrade pip
.venv/bin/pip install -r requirements.txt
# Run system tests for sample applications
systemTest: setupPython
.venv/bin/python test/system-test-runner.py test --all
# Run system tests with interactive module selection
systemTestInteractive: setupPython
.venv/bin/python test/system-test-runner.py test --interactive
# Run tests and lint
check:
./gradlew check