Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes part of #59: Testing module builds with both Bazel + Gradle [BLOCKED: #1482] #1488

Merged
merged 142 commits into from
Aug 9, 2020
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
d68f0a9
Working on having one module build with bazel
miaboloix Jun 29, 2020
3115352
Merge branch 'develop' of https://github.com/oppia/oppia-android into…
miaboloix Jul 8, 2020
897bf6d
Merge branch 'develop' of https://github.com/oppia/oppia-android into…
miaboloix Jul 16, 2020
37a13f8
Created initial app-level WORKSPACE file
miaboloix Jul 16, 2020
f522846
Added proto_library rule to build model app module
miaboloix Jul 16, 2020
372deae
Added newline at end of WORKSPACE file
miaboloix Jul 16, 2020
5c0b6f5
Created macro to process proto files
miaboloix Jul 17, 2020
9408e27
Both Bazel and Gradle now build /model successfully
miaboloix Jul 17, 2020
7d44fea
Fixed typo in BUILD
miaboloix Jul 17, 2020
5c44743
Added missing end of file empty lines
miaboloix Jul 17, 2020
0204754
Added Robolectric dependencies and general build rule
miaboloix Jul 17, 2020
cb11a09
Source files building in both systems - added a TODO for test files
miaboloix Jul 17, 2020
a8b989f
Turned two kt_android_library rules into one
miaboloix Jul 17, 2020
ad2cb36
Added dependencies for test files
miaboloix Jul 17, 2020
379990e
Created kt_android_library rule for source files
miaboloix Jul 17, 2020
6d9f244
Add TODO for android_local_test rule
miaboloix Jul 17, 2020
c45c72e
Added a test manifest for android_local_test()
miaboloix Jul 17, 2020
04d2281
Added Firebase dependencies and git_repository for tools_android
miaboloix Jul 17, 2020
f486024
Refactored google-services.json, imported new dependencies
miaboloix Jul 20, 2020
fa16eb4
Fixed Bens nits
miaboloix Jul 20, 2020
5d31b5c
Fixed space in WORKSPACE comment
miaboloix Jul 20, 2020
3f9ed65
Got a demo test working in both Java and Kotlin
miaboloix Jul 21, 2020
1c982a9
Added rules_java dependencies for protocol buffers
miaboloix Jul 21, 2020
a7346e1
Added java_proto_library rules, each proto file now has its own rule
miaboloix Jul 21, 2020
6fc021b
Remove unnecessary srcs attribute for android_library
miaboloix Jul 21, 2020
b3d55e8
Rename bzl file macro
miaboloix Jul 21, 2020
7030c83
Added Robolectric dependencies and general build rule
miaboloix Jul 17, 2020
7c35ecf
Source files building in both systems - added a TODO for test files
miaboloix Jul 17, 2020
dfd545a
Turned two kt_android_library rules into one
miaboloix Jul 17, 2020
866a00a
Added dependencies for test files
miaboloix Jul 17, 2020
c0a791a
Created kt_android_library rule for source files
miaboloix Jul 17, 2020
6975169
Add TODO for android_local_test rule
miaboloix Jul 17, 2020
e16ee96
Changed model visability, added model and util dependencies to testing
miaboloix Jul 21, 2020
11094d0
Added dependencies to testing_main_lib
miaboloix Jul 21, 2020
6a9058a
Testing source files now build
miaboloix Jul 21, 2020
12deabe
Test files are building
miaboloix Jul 21, 2020
a8fe758
Changed to java_lite
miaboloix Jul 21, 2020
3295c12
Fixed merge conflicts
miaboloix Jul 21, 2020
3f27b22
Added EOF newlines
miaboloix Jul 21, 2020
bb1b906
Each library now has its own build rule
miaboloix Jul 21, 2020
a1bd255
Merged with utility
miaboloix Jul 21, 2020
3c6b257
Utility is now one module again
miaboloix Jul 21, 2020
30a8ac2
Utility is now one rule
miaboloix Jul 21, 2020
a233e50
Merge branch 'stage1_bazel_utility' into stage1_bazel_testing
miaboloix Jul 21, 2020
4df473d
Resolved merge conflicts
miaboloix Jul 21, 2020
ef3e857
Changed visibility for utility_lib
miaboloix Jul 21, 2020
d107b07
Added duplicate google-services.json file to please Gradle
miaboloix Jul 21, 2020
560d2b9
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Jul 21, 2020
d4d40c2
Merge branch 'develop' of https://github.com/oppia/oppia-android into…
miaboloix Jul 22, 2020
94213cd
Changed event_logger.proto to oppia_logger.proto
miaboloix Jul 22, 2020
5aaf72f
Merge branch 'stage1_bazel' of https://github.com/oppia/oppia-android…
miaboloix Jul 22, 2020
b718dd1
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Jul 22, 2020
24e8537
Added missing EOF newlines
miaboloix Jul 22, 2020
e1ce0d1
Fixed bug in import statements for exploration.proto, topic.proto, an…
miaboloix Jul 22, 2020
8f34cfe
Merge branch 'stage1_bazel' of https://github.com/oppia/oppia-android…
miaboloix Jul 22, 2020
1999cf1
Merged with stage1_bazel_utility
miaboloix Jul 22, 2020
23cd84a
Deleted DemoJava
miaboloix Jul 22, 2020
788bcf3
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Jul 22, 2020
67fee18
CHanged rules_kotlin version
miaboloix Jul 23, 2020
48eb9be
Added Firebase dependencies
miaboloix Jul 24, 2020
31eb543
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Jul 24, 2020
c466d3c
Removed AsyncResultTest example
miaboloix Jul 24, 2020
a5e9039
Removed AsynchResultTest example
miaboloix Jul 24, 2020
99d43f2
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Jul 24, 2020
8d6b28f
Removed unnecessary comments in WORKSPACE and moved rules_kotlin
miaboloix Jul 27, 2020
d712b5e
Added re-naming TODOs
miaboloix Jul 27, 2020
3105144
Renamed java_proto rules java_proto_lite
miaboloix Jul 27, 2020
2f50207
Added doc comments to model/BUILD.bazel and format_import_proto_library
miaboloix Jul 27, 2020
323a0cb
Added comments to WORKSPACE file
miaboloix Jul 27, 2020
7ce51a9
Merge branch 'stage1_bazel' of https://github.com/oppia/oppia-android…
miaboloix Jul 27, 2020
d87c95c
Fixed nits
miaboloix Jul 27, 2020
20d2c5d
Added comment to kt_android_library() rule
miaboloix Jul 27, 2020
9857eaf
Fixed more nits
miaboloix Jul 27, 2020
1a35aad
Fixed merge conflicts
miaboloix Jul 27, 2020
522993f
Added Firebase comment
miaboloix Jul 27, 2020
f5abd8e
Fixed merge conflicts
miaboloix Jul 27, 2020
dfa8e0b
Fixed merge conflicts and nits
miaboloix Jul 27, 2020
9789204
Deleted unused dependencies from testing_main_lib
miaboloix Jul 27, 2020
364435d
Changed library name to model
miaboloix Jul 28, 2020
7e61655
Formatted WORKSPACE comment
miaboloix Jul 28, 2020
9773e66
Formatted TODO statement
miaboloix Jul 28, 2020
9fc0d53
Changed format_import_proto_library comment
miaboloix Jul 28, 2020
fdcb154
Added EOF newline
miaboloix Jul 28, 2020
8185bdd
Created Issue and linked TODO in WORKSPACE
miaboloix Jul 28, 2020
3d21d6f
Edited model BUILD file top comment
miaboloix Jul 28, 2020
8e368b4
Addressed nits
miaboloix Jul 28, 2020
29f19dd
Fixed merge conflicts
miaboloix Jul 28, 2020
af7832b
Fixed nits and added comments
miaboloix Jul 28, 2020
8fb1541
Fixing nits
miaboloix Jul 28, 2020
2b9d7c6
Deleted unnecessary dependencies and testing example file
miaboloix Jul 28, 2020
980ca88
Fixed manifest issues
miaboloix Jul 28, 2020
a63ad7f
Move google json file
miaboloix Jul 28, 2020
fff3d89
Restore app version of json
miaboloix Jul 28, 2020
54a7728
Merge branch 'test-git-copy' into stage1_bazel_utility
miaboloix Jul 28, 2020
c7cad13
Edit TODO
miaboloix Jul 28, 2020
654328e
Deleted TODO
miaboloix Jul 28, 2020
a842aec
Changed Firebase comment
miaboloix Jul 28, 2020
146f48a
Fixed merge conflicts
miaboloix Jul 28, 2020
9360972
Added testing functionality from later PR
miaboloix Jul 29, 2020
705d195
Added comments to bzl files
miaboloix Jul 29, 2020
2b7be73
Added targetSDK to manifests
miaboloix Jul 29, 2020
0621744
Changed crashlytics_lib to crashlytics
miaboloix Jul 29, 2020
54ec7fb
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Jul 29, 2020
af931e9
Changed testing_tests visibility
miaboloix Jul 29, 2020
0b9c14a
Changed type of comment ticks
miaboloix Jul 29, 2020
32ce87a
Merge branch 'develop' of https://github.com/oppia/oppia-android into…
miaboloix Jul 29, 2020
65f13c1
Fixed nits and added TODOs
miaboloix Jul 29, 2020
b6dd154
Merge branch 'stage1_bazel' of https://github.com/oppia/oppia-android…
miaboloix Jul 29, 2020
a4ec778
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Jul 29, 2020
f466e8f
Added Args to document comment
miaboloix Jul 29, 2020
3638d43
Merge branch 'develop' of https://github.com/oppia/oppia-android into…
miaboloix Jul 30, 2020
58752b4
Changed targetSDK to 29
miaboloix Jul 30, 2020
705355c
Merge branch 'stage1_bazel' of https://github.com/oppia/oppia-android…
miaboloix Jul 30, 2020
d152713
Formatted TODO
miaboloix Jul 30, 2020
fb515ec
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Jul 30, 2020
74e4e52
Moved google-services.json
miaboloix Jul 30, 2020
0c9d197
Added gogle-services.json back to app
miaboloix Jul 30, 2020
72e0acd
Trying to remove combined testing library
miaboloix Jul 31, 2020
0aa646d
Changed targetSDK to 29
miaboloix Aug 3, 2020
7660d7d
Tests pass now with deps passed in.
miaboloix Aug 3, 2020
8aa8c59
Created TEST_DEPS list to avoid duplicate list of dependencies
miaboloix Aug 3, 2020
d4f53c4
Removed unused resources and manifest
miaboloix Aug 3, 2020
a275d9c
Updated comments to reflect changes
miaboloix Aug 3, 2020
297cfa1
Updated comment for testing_test
miaboloix Aug 3, 2020
51bcc06
Formatted dependencies and removed unused dependency
miaboloix Aug 3, 2020
ab8ea0b
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Aug 3, 2020
fd4386f
Updated dependency list
miaboloix Aug 3, 2020
0d1bd33
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Aug 3, 2020
33d8e2a
Header for oppia_android_test now fits on one line
miaboloix Aug 3, 2020
1294d08
Edited documentation for oppia_android_test
miaboloix Aug 3, 2020
b0637dc
Updated documentation for utility and testing BUILD files
miaboloix Aug 3, 2020
122f451
Changed src to srcs
miaboloix Aug 3, 2020
84e5051
Fixed the duplicate google-services.json issue
miaboloix Aug 6, 2020
3c0932d
Created Issue and added TODO
miaboloix Aug 6, 2020
b5b20f9
Merge branch 'develop' of https://github.com/oppia/oppia-android into…
miaboloix Aug 6, 2020
714ffa2
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Aug 6, 2020
62a2fa7
Added minSDK back
miaboloix Aug 6, 2020
8eac40c
Alphabetized dependencies
miaboloix Aug 6, 2020
a1843d2
Changed targetSdk to 28
miaboloix Aug 7, 2020
0cf3415
Merge branch 'develop' into stage1_bazel_utility
miaboloix Aug 9, 2020
5f90f7b
Merge branch 'stage1_bazel_utility' of https://github.com/oppia/oppia…
miaboloix Aug 9, 2020
44236da
Merge branch 'develop' of https://github.com/oppia/oppia-android into…
miaboloix Aug 9, 2020
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
Empty file added BUILD.bazel
Empty file.
28 changes: 11 additions & 17 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -112,30 +112,24 @@ maven_install(
"org.robolectric:annotations:4.3",
"androidx.appcompat:appcompat:1.0.2",
"androidx.annotation:annotation:1.1.0",
"com.android.support:support-annotations:28.0.0",
"org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2",
"org.jetbrains.kotlinx:kotlinx-coroutines-test:1.3.8",
"androidx.core:core-ktx:1.0.1",
"junit:junit:4.12",
"com.google.truth:truth:0.43",
"com.github.bumptech.glide:glide:4.11.0",
"com.github.bumptech.glide:compiler:4.11.0",
"com.caverock:androidsvg-aar:1.4",
"com.crashlytics.sdk.android:crashlytics:2.9.8",
"io.fabric.sdk.android:fabric:1.4.7",
"com.google.gms:google-services:4.3.3",
"androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha03",
"com.google.firebase:firebase-analytics-ktx:17.4.2",
"org.mockito:mockito-core:2.19.0",
"androidx.test.ext:junit:1.1.1",
"com.android.support:support-annotations:28.0.0",
"org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2",
"org.jetbrains.kotlinx:kotlinx-coroutines-test:1.2.2",
"org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:1.3.72",
"org.jetbrains.kotlin:kotlin-test-junit:1.3.72",
"org.robolectric:annotations:4.3",
"com.crashlytics.sdk.android:crashlytics:2.9.8",
"io.fabric.sdk.android:fabric:1.4.7",
"org.jetbrains.kotlin:kotlin-reflect:1.3.41",
"com.google.truth:truth:0.43",
"com.google.firebase:firebase-analytics:17.4.4",
"com.google.firebase:firebase-crashlytics:17.1.1",
"org.jetbrains.kotlin:kotlin-reflect:1.3.41",
"com.crashlytics.sdk.android:crashlytics:2.9.8",
"io.fabric.sdk.android:fabric:1.4.7",
BenHenning marked this conversation as resolved.
Show resolved Hide resolved
"com.github.bumptech.glide:glide:4.11.0",
"com.caverock:androidsvg-aar:1.4",
"org.mockito:mockito-core:2.19.0",
"junit:junit:4.12",
],
repositories = DAGGER_REPOSITORIES + [
"https://maven.google.com",
Expand Down
4 changes: 2 additions & 2 deletions firebase/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ android_library(
exports = [
artifact("com.crashlytics.sdk.android:crashlytics"),
artifact("io.fabric.sdk.android:fabric"),
artifact("com.google.firebase:firebase-analytics:17.4.4"),
artifact("com.google.firebase:firebase-crashlytics:17.1.1"),
artifact("com.google.firebase:firebase-analytics"),
artifact("com.google.firebase:firebase-crashlytics"),
],
)
28 changes: 8 additions & 20 deletions oppia_android_test.bzl
Original file line number Diff line number Diff line change
@@ -1,45 +1,33 @@
load("@rules_jvm_external//:defs.bzl", "artifact")
load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_android_library")

def oppia_android_test(name, srcs, test_manifest, custom_package, resource_files,
test_class, src_library_name):
def oppia_android_test(name, srcs, test_manifest, custom_package, test_class, deps):
'''
This macro exists as a way to set up a test in Oppia Android to be run with Bazel.
This macro creates a library for an individual test that is fed as a dependency into an
android_local_test() rule which configures the test to be run with Roboletric and Bazel.
Creates an Oppia test target for running the specified test as an Android local test with Kotlin
support. Note that this creates an additional, internal library.

Args:
name: str. The name of the Kotlin test file without the '.kt' suffix.
srcs: str. The name of the Kotlin test file to be run.
srcs: list of str. The name of the Kotlin test files to be run.
test_manifest: str. The path to the test manifest file.
custom_package: str. The module's package. Example: 'org.oppia.utility'.
resource_files: str. The path to the resource files. This is typically a glob([]).
test_class: The package of the src file. For example, if the src is 'FakeEventLoggerTest.kt',
then the test_class would be "org.oppia.testing.FakeEventLoggerTest".
src_library_name: str. The name of the library that builds the module's test files.
deps: list of str. The list of dependencies needed to run the tests.
'''

kt_android_library(
name = name + "_lib",
custom_package = custom_package,
srcs = srcs,
resource_files = resource_files,
manifest = test_manifest,
deps = [
":" + src_library_name,
],
deps = deps,
testonly = True,
)

native.android_local_test(
name = name,
custom_package = custom_package,
test_class = test_class,
manifest = test_manifest,
deps = [
":" + name + "_lib",
":dagger",
"@robolectric//bazel:android-all",
artifact("org.jetbrains.kotlin:kotlin-reflect"),
artifact("org.robolectric:robolectric"),
],
deps = [ ":" + name + "_lib",] + deps,
)
35 changes: 13 additions & 22 deletions testing/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
# TODO(#1532): Rename file to 'BUILD' post-Gradle.
'''
This library contains fake objects used for testing as well as tests for these objects.
In Bazel, Kotlin source files are built into a library using the kt_android_library() rule.
Individual Kotlin test files must be built in their own kt_android_library() rules and added as a
dependency to an android_local_test() rule which configures instrumentation tests in Bazel.
In order to eliminate duplicate code, a custom macro testing_test() has been written to streamline
testing in this module.
'''

load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_android_library")
Expand All @@ -18,7 +13,7 @@ load("//testing:testing_test.bzl", "testing_test")
kt_android_library(
name = "testing",
custom_package = "org.oppia.testing",
srcs = glob(["src/main/java/**/*.kt"]),
srcs = glob(["src/main/java/org/oppia/testing/*.kt"]),
manifest = "src/main/AndroidManifest.xml",
deps = [
":dagger",
Expand All @@ -29,31 +24,27 @@ kt_android_library(
visibility = ["//visibility:public"],
)

# Library for tests of testing fakes.
kt_android_library(
name = "testing_tests",
custom_package = "org.oppia.testing",
srcs = glob(["src/test/java/org/oppia/testing/*.kt"]),
manifest = "src/main/AndroidManifest.xml",
deps = [
":testing",
":dagger",
artifact("com.google.truth:truth"),
artifact("androidx.test.ext:junit"),
],
visibility = ["//visibility:private"],
)
TEST_DEPS = [
":testing",
":dagger",
"@robolectric//bazel:android-all",
artifact("org.jetbrains.kotlin:kotlin-reflect"),
artifact("com.google.truth:truth"),
artifact("androidx.test.ext:junit"),
]

anandwana001 marked this conversation as resolved.
Show resolved Hide resolved
testing_test(
name = "FakeEventLoggerTest",
src = ["src/test/java/org/oppia/testing/FakeEventLoggerTest.kt"],
srcs = ["src/test/java/org/oppia/testing/FakeEventLoggerTest.kt"],
test_class = "org.oppia.testing.FakeEventLoggerTest",
deps = TEST_DEPS,
)

testing_test(
name = "FakeExceptionLoggerTest",
src = ["src/test/java/org/oppia/testing/FakeExceptionLoggerTest.kt"],
srcs = ["src/test/java/org/oppia/testing/FakeExceptionLoggerTest.kt"],
test_class = "org.oppia.testing.FakeExceptionLoggerTest",
deps = TEST_DEPS,
)

dagger_rules()
2 changes: 1 addition & 1 deletion testing/src/test/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.oppia.testing">
<uses-sdk android:minSdkVersion="19"
android:maxSdkVersion="28" />
android:maxSdkVersion="29" />
</manifest>
14 changes: 6 additions & 8 deletions testing/testing_test.bzl
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
load("//:oppia_android_test.bzl", "oppia_android_test")

def testing_test(name, src, test_class):
def testing_test(name, srcs, test_class, deps):
'''
This macro exists as a way to customize the oppia_android_test() macro for the testing module.
This macro calls the oppia_android_test() macro such that the only necessary parameters for this
macro are the parameters specific to the individual test being run.
Creates individual tests for test files in the testing module.

Args:
name: str. The name of the Kotlin test file without the '.kt' suffix.
src: str. The name of the Kotlin test file to be run.
src: list of str. The list of test files to be run.
test_class: str. The package of the src file. Example: If the src is 'FakeEventLoggerTest.kt',
then the test_class would be "org.oppia.testing.FakeEventLoggerTest".
deps: list of str. The list of dependencies needed to build and run this test.
'''

oppia_android_test(
name = name,
srcs = src,
resource_files = native.glob(["src/main/res/**/*.xml"]),
src_library_name = "testing_tests",
srcs = srcs,
custom_package = "org.oppia.testing",
test_class = test_class,
test_manifest = "src/test/AndroidManifest.xml",
deps = deps,
)
6 changes: 1 addition & 5 deletions utility/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
# TODO(#1532): Rename file to 'BUILD' post-Gradle.
'''
This library contains utilities that all other modules, minus model, depend on.
It also contains Robolectric and JUnit tests for it's utilities.
In Bazel, Kotlin source files are built into a library using the kt_android_library() rule.
Kotlin test files must be built in their own kt_android_library() rule and added as a dependency to
an android_local_test() rule which configures instrumentation tests in Bazel.
'''

load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_android_library")
Expand All @@ -31,8 +27,8 @@ kt_android_library(
visibility = ["//visibility:public"],
)

# TODO(#59): Write a kt_android_library() rule to build test files and an android_local_test() rule.
'''
TODO(#59): Write a kt_android_library() rule to build test files and an android_local_test() rule.
Because test files depend on the testing module source files being built, these rules have been left
for a later PR.
'''
Expand Down
4 changes: 2 additions & 2 deletions utility/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.oppia.util">
<uses-sdk android:minSdkVersion="19"
android:targetSdkVersion="28" />
<uses-sdk
BenHenning marked this conversation as resolved.
Show resolved Hide resolved
android:targetSdkVersion="29" />
miaboloix marked this conversation as resolved.
Show resolved Hide resolved
</manifest>
2 changes: 1 addition & 1 deletion utility/src/test/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.oppia.util">
<uses-sdk android:minSdkVersion="19"
android:targetSdkVersion="28" />
android:targetSdkVersion="29" />
</manifest>