-
Notifications
You must be signed in to change notification settings - Fork 526
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @miaboloix! Does this build without issues? I realized that this module doesn't actually have any UI resources unfortunately, so the potential Android resource building issues will need to wait until we start building the app module.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @miaboloix --generally LGTM, but I have some concerns about the min version issue. Let's make sure that gets resolved before merging this PR in.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thanks @miaboloix
Yes, you are correct. Earlier I think I am missing some file from my side, not fetched properly I guess. It's perfect now. Tried building and running test cases, all are working perfectly correct now. |
… stage1_bazel_utility
…-android into stage1_bazel_testing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
… stage1_bazel_testing
…y module [BLOCKED: #1488] (#1495) * Working on having one module build with bazel * Created initial app-level WORKSPACE file * Added proto_library rule to build model app module * Added newline at end of WORKSPACE file * Created macro to process proto files * Both Bazel and Gradle now build /model successfully * Fixed typo in BUILD * Added missing end of file empty lines * Added Robolectric dependencies and general build rule * Source files building in both systems - added a TODO for test files * Turned two kt_android_library rules into one * Added dependencies for test files * Created kt_android_library rule for source files * Add TODO for android_local_test rule * Added a test manifest for android_local_test() * Added Firebase dependencies and git_repository for tools_android * Refactored google-services.json, imported new dependencies * Fixed Bens nits * Fixed space in WORKSPACE comment * Got a demo test working in both Java and Kotlin * Added rules_java dependencies for protocol buffers * Added java_proto_library rules, each proto file now has its own rule * Remove unnecessary srcs attribute for android_library * Rename bzl file macro * Added Robolectric dependencies and general build rule * Source files building in both systems - added a TODO for test files * Turned two kt_android_library rules into one * Added dependencies for test files * Created kt_android_library rule for source files * Add TODO for android_local_test rule * Changed model visability, added model and util dependencies to testing * Added dependencies to testing_main_lib * Testing source files now build * Test files are building * Changed to java_lite * Added EOF newlines * Each library now has its own build rule * Utility is now one rule * Changed visibility for utility_lib * Added duplicate google-services.json file to please Gradle * Utility tests are building and passing (except in_memory_blocking_cache_test) * Added android_local_test() rules for testing, building but not passing * Added a test manifest for testing module * Oppia_android_test is working * Utility_test is now working * Testing_test.bzl is now working * changed all android_local_test rules to utility_test rules * Named test rules correctly * Added missing dependency, all tests now pass * Removed all unused dependencies * Changed event_logger.proto to oppia_logger.proto * Added missing EOF newlines * Fixed visibility * Remove addressed TODOs * Fixed bug in import statements for exploration.proto, topic.proto, and question.proto * Deleted DemoJava * CHanged rules_kotlin version * Added Firebase dependencies * Removed AsyncResultTest example * Removed AsynchResultTest example * Firebase dependencies added * Removed unnecessary comments in WORKSPACE and moved rules_kotlin * Added re-naming TODOs * Renamed java_proto rules java_proto_lite * Added doc comments to model/BUILD.bazel and format_import_proto_library * Added comments to WORKSPACE file * Fixed nits * Added comment to kt_android_library() rule * Fixed more nits * Added Firebase comment * Fixed merge conflicts and nits * Deleted unused dependencies from testing_main_lib * Fixed nits and error with testing lib dependencies * Changed library name to model * Formatted WORKSPACE comment * Formatted TODO statement * Changed format_import_proto_library comment * Added EOF newline * Created Issue and linked TODO in WORKSPACE * Edited model BUILD file top comment * Addressed nits * Fixed nits and added comments * Fixing nits * Deleted unnecessary dependencies and testing example file * Fixed manifest issues * Move google json file * Restore app version of json * Edit TODO * Deleted TODO * Changed Firebase comment * Added testing functionality from later PR * Added comments to bzl files * Added targetSDK to manifests * Changed crashlytics_lib to crashlytics * Changed testing_tests visibility * Added comment to utility_test.bzl * Changed type of comment ticks * Fixed typos and all tests pass * Removed empty line * Fixed nits and added TODOs * Added Args to document comment * Changed targetSDK to 29 * Formatted TODO * Added root BUILD file * Moved google-services.json * Added gogle-services.json back to app * Trying to remove combined testing library * Changed targetSDK to 29 * Tests pass now with deps passed in. * Created TEST_DEPS list to avoid duplicate list of dependencies * Removed unused resources and manifest * Updated comments to reflect changes * Changed deps to be a parameter, changed targetSDK back to 28 because tests do not pass at 29 * Fixed indentation in utility/BUILD * Updated comment for utility_test.bzl * Updated comment for testing_test * Formatted dependencies and removed unused dependency * Updated dependency list * Header for oppia_android_test now fits on one line * Edited documentation for oppia_android_test * Updated documentation for utility and testing BUILD files * Changed src to srcs * Changed src to srcs * Fixed the duplicate google-services.json issue * Created Issue and added TODO * Added minSDK back * Alphabetized dependencies * Fixed firebase target * Changed targetSdk to 28
…ting [BLOCKED: #1488] (#1514) * Working on having one module build with bazel * Created initial app-level WORKSPACE file * Added proto_library rule to build model app module * Added newline at end of WORKSPACE file * Created macro to process proto files * Both Bazel and Gradle now build /model successfully * Fixed typo in BUILD * Added missing end of file empty lines * Added Robolectric dependencies and general build rule * Source files building in both systems - added a TODO for test files * Turned two kt_android_library rules into one * Added dependencies for test files * Created kt_android_library rule for source files * Add TODO for android_local_test rule * Added a test manifest for android_local_test() * Added Firebase dependencies and git_repository for tools_android * Refactored google-services.json, imported new dependencies * Fixed Bens nits * Fixed space in WORKSPACE comment * Got a demo test working in both Java and Kotlin * Added rules_java dependencies for protocol buffers * Added java_proto_library rules, each proto file now has its own rule * Remove unnecessary srcs attribute for android_library * Rename bzl file macro * Added Robolectric dependencies and general build rule * Source files building in both systems - added a TODO for test files * Turned two kt_android_library rules into one * Added dependencies for test files * Created kt_android_library rule for source files * Add TODO for android_local_test rule * Changed model visability, added model and util dependencies to testing * Added dependencies to testing_main_lib * Testing source files now build * Test files are building * Changed to java_lite * Added EOF newlines * Each library now has its own build rule * Utility is now one rule * Changed visibility for utility_lib * Added duplicate google-services.json file to please Gradle * Utility tests are building and passing (except in_memory_blocking_cache_test) * Added android_local_test() rules for testing, building but not passing * Added a test manifest for testing module * Oppia_android_test is working * Utility_test is now working * Testing_test.bzl is now working * changed all android_local_test rules to utility_test rules * Named test rules correctly * Added missing dependency, all tests now pass * Removed all unused dependencies * Changed event_logger.proto to oppia_logger.proto * Added missing EOF newlines * Fixed visibility * Initial BUILD file added * Remove addressed TODOs * Started writing build rule * Fixed bug in import statements for exploration.proto, topic.proto, and question.proto * Deleted DemoJava * Removed unused dependencies in domain_lib * Working on building domain test files * Added a test manifest * Test files now build * Added test rules, some tests not building or passing * Added data attribute to test macros * All tests now build, some do not pass * CHanged rules_kotlin version * All tests now pass * Firebase dependency errors have been resolved * Save firebase dependency fixes for new PR * Fixed typo * Added Firebase dependencies * Removed AsyncResultTest example * Removed AsynchResultTest example * Firebase dependencies added * Removed unnecessary comments in WORKSPACE and moved rules_kotlin * Added re-naming TODOs * Renamed java_proto rules java_proto_lite * Added doc comments to model/BUILD.bazel and format_import_proto_library * Added comments to WORKSPACE file * Fixed nits * Added comment to kt_android_library() rule * Fixed more nits * Added Firebase comment * Fixed merge conflicts and nits * Deleted unused dependencies from testing_main_lib * Fixed nits and error with testing lib dependencies * Removed printStackTrace() * Removed addressed TODOs, all tests pass * Removed redundant public modifier * Changed library name to model * Formatted WORKSPACE comment * Formatted TODO statement * Changed format_import_proto_library comment * Added EOF newline * Created Issue and linked TODO in WORKSPACE * Edited model BUILD file top comment * Addressed nits * Fixed nits and added comments * Fixing nits * Deleted unnecessary dependencies and testing example file * Fixed manifest issues * Move google json file * Restore app version of json * Edit TODO * Deleted TODO * Changed Firebase comment * Added testing functionality from later PR * Added comments to bzl files * Added targetSDK to manifests * Changed crashlytics_lib to crashlytics * Changed testing_tests visibility * Added comment to utility_test.bzl * Changed type of comment ticks * Fixed typos and all tests pass * Removed empty line * Fixed errors from merge * Added comments to data and domain BUILD files * Fixed indentation in domain_test * Removed commented-out dependencies * Fixed nits and added TODOs * Added Args to document comment * Changed targetSDK to 29 * Formatted TODO * Added root BUILD file * Moved google-services.json * Added gogle-services.json back to app * Trying to remove combined testing library * Changed targetSDK to 29 * Tests pass now with deps passed in. * Created TEST_DEPS list to avoid duplicate list of dependencies * Removed unused resources and manifest * Updated comments to reflect changes * Changed deps to be a parameter, changed targetSDK back to 28 because tests do not pass at 29 * Fixed indentation in utility/BUILD * Updated comment for utility_test.bzl * Updated comment for testing_test * Formatted dependencies and removed unused dependency * Updated dependency list * Header for oppia_android_test now fits on one line * Simplifies comment on domain/BUILD file * Changed cache_store to persistent_cache_store * Removed glob() from data BUILD file * Edited documentation for oppia_android_test * Updated documentation for utility and testing BUILD files * Changed src to srcs * Changed src to srcs * All dragAndDrop tests now pass, stateRetreiverTest fails * Fixed the duplicate google-services.json issue * Created Issue and added TODO * Added minSDK back * Alphabetized dependencies * Fixed firebase target * Trying to fix StateRetreiverTest * Fixed ktlint violation * Changed targetSdk to 28 * Created Issue and added TODOs for re-restricitng access * Added min and target SDK to domain manifest * Removed unused domain)tests library * Added documentation, created an issue, added a TODO * Added assets * Testing module tests now pass, all domain tests pass except StateRetreiver * Added TODO for StateRetreiver Tes * Removed unnecessary data attribute * StateRetrieverTest now passes
Explanation
Fixes part of #59: Testing module builds with both Bazel + Gradle
I added the
/testing
module BUILD file and wrote akt_android_library()
rule that builds the source files in/testing
. I also configured Robolectric testing for this module using custom macrosoppia_android_testing()
andtesting_tests()
.To build the
/testing
app module in Bazel:bazel build //testing
To run all tests in the module:
bazel test //testing/...
Notes:
bazel clean
Checklist