summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-30Migrate //tools/base/build-system:studio_repo to manifest formatmirror-goog-studio-master-devRuiqi Mao
Bug: 148081564 Test: Existing tests pass Change-Id: Ia65fe9e08fcfcaada5c3a4b90942062195a6f72f
2021-04-13Avoid StackOverflow in code generation by dispatching a real errorYigit Boyar
When a callback expression returns void but it is expected to return a value, data binding goes into an infinite loop because it tries to find a value but cannot because void cannot be a assigned to a variable. The right fix here would be to check for assignability and throw a better error message but it might break some existing apps because i don't trust our assignability checks. Instead, this CL covers the void return type case to fix this one bug without taking a bigger risk. Fixes: 123260053 Test: SimpleCompilationTest.testCallbackReturnTypeMismatch Change-Id: Ie9b4d03e0e2d818a0613f4cdefc470e1f7221b27
2021-04-12Extend data-binding resource typesIzabela Orlowska
In DB expressions users can use different key words for resource types, which are later converted to R class field references, e.g. "text" for "string". Extend the resource types based on these rules. Fixes: 184833062 Test: verified with user's project + added and updated unit tests + MultiModuleTestApp Change-Id: I62f6caf2badddbcb47cafc4fa3251373ccd4f057
2021-04-08Delete obsolete marker from plugin.xmlJoe Baker-Malone
We used to need to remove some plugin.xmls while running tests through ant, but since we don't do that anymore the markers can be removed. Test: This is a test change. Existing tests should pass. Fixes: 160306232 Change-Id: Ic57f8d02c9538e56461f4de79deb9eb2ff8f4c24
2021-04-07Add namespace to ViewBindingTestApp's test moduleScott Pollom
Bug: 170945282 Test: existing Change-Id: I1087da89ab9504d9330fe206de17ddd587be03de
2021-04-01DB: Accept merged dependency resources listsIzabela Orlowska
... as a workaround for kapt resolving files at configuration time. Fixes: 183423660 Test: SymbolTableUtilTests Change-Id: I72d9e9dfa99f2b478b0d7d6f25600d63a4041c7b
2021-03-29Fix dynamic feature manifestsScott Pollom
activity elements must be direct children of the application element. Bug: 178810169 Test: existing Change-Id: I886b1a22dcda1fb5eaa0fdf63f8f2035f61869a5
2021-03-17Extend data binding tests for non-transitive R classesIzabela Orlowska
Verify that the previous changes work in a case that was failing before. Fixes: 170302244 Test: DataBindingExternalArtifactDependencyTest Change-Id: I9e7112ee1c4e4c1d9e91e6725154a17c8e4c543d
2021-03-01Add support for non-transitive R in data-bindingIzabela Orlowska
Test: SymbolTableUtilTest, DataBindingExternalArtifactDependencyTest Bug: 170302244 Change-Id: I77893919bd05f1177ddeb5f2b7f11a2c54249c7c
2021-02-24Fix hashcode in AnnotationFieldYigit Boyar
Bug: 180537631 Test: n/a Change-Id: I32aaca95a5d32faceae18a8ca0ba11bcd28fd265
2021-02-22Suppress existing errorprone warningTom Renn
Bug: 180537631 Test: NA Change-Id: Ia153153a948c1682513382294fef107a178950b7
2021-02-17Namespace R references in MultiModuleTestAppIzabela Orlowska
...it doesn't break current references, and will make it easier to test non-transitive R classes support in data-binding. Test: MultiModuleTestApp Bug: 170302244 Change-Id: I095777370493e78d4a4520e23797d2fe6939af9d
2021-02-12Use ProviderFactory to access sys properties and env variablesIvan Gavrilovic
This is to make our build compatible with configuration caching. Bug: n/a Test: existing Change-Id: I88f03c96d2e32ad71f0f588aee647be0f8671099
2021-02-11Move usage of project from task actionIvan Gavrilovic
This is to allow using Gradle configuration cache in AGP build. Bug: n/a Test: gradle build Change-Id: If4fe977d029377a8befca3a70794861b346be3c3
2021-02-09Disable compilationTests on WindowsTom Renn
Currently these tests are failing very often after exceeding the bazel timeout. Bug: 177936851 Test: NA Change-Id: I6386d118afbc5c2c1195f55251e2d403679497f4
2021-02-09Revert "Set --max-workers=1 to reduce DB tests' flakiness on Windows"Hung Nguyen
This reverts commit 671bd2ffb1d3209632c4817dd8e97ce9ac0cdb6a. Reason for revert: Failure rate increased from 7% to 30% on studio_win (http://b/177936851#comment12) Change-Id: I3b89f684dcbc4d08adcdcec7ff7e943bd7fd2771
2021-02-06Moves bundled dependencies to plugin defEsteban de la Canal
This change moves the bundled library dependencies from being defined on each module to the plugin definition. Additionally this change introduces the same check for libraries than the one we have for modules: If a module needs a library dependency, then plugin layout is used to verify that the dependency is satisfied in production. Test: Added check at build time Bug: 179064916 Change-Id: I992d0856e29a53f59b9bd627838f4279a340663e
2021-02-05Remove kotlin-sdtlib-jdk8 libraryEsteban de la Canal
This library is provided by the IntelliJ platform, and we should not be using our own. Test: existing tests should cover this Bug: 179064916 Change-Id: Ib16df0477248616c957e750193617ec88d088244
2021-02-06fix databinding docsYigit Boyar
Bug: n/a Test: n/a Change-Id: I6aa1559ae783248d1cdc7c4993486bd1078860ce
2021-02-05Set --max-workers=1 to reduce DB tests' flakiness on WindowsHung Nguyen
Limit the number of Gradle workers to reduce the chance that the Gradle build process hangs. We do this on Windows only as the tests do not flake as frequently on other OS's. Also, we will be collecting the thread dump (Issue 179482828), so that the next time the tests hang, we will have some data to analyze. Bug: 177936851 Test: Existing tests Change-Id: Ic75c6797efea25243fb98db148920eda7aa17d3f
2021-02-01Removes Guava libraryEsteban de la Canal
This change removes the Guava library from the tools/adt/idea project. Guava is provided by the IntelliJ platform instead. Currently we use a custom Guava as a dependency but then we don't bundle it and use what is provided by the platform. In fact both Guava libraries are in the class path when running tests. Bug: 179064916 Test: Removing a library, existing tests should pass with the other one Change-Id: I68cf532964f09c20fa6a44cc12069f5e0e842157
2021-01-22Disable compilationTests no macPeter Xu
Bug: 178123368 Test: n/a Change-Id: Ief489c007fa3927598ba3e63e3c2b024311c80ea
2021-01-21Remove run_compilation_tests.sh scriptPeter Xu
Since compilationTests can now be run in bazel and the IDE. Test: n/a Bug: 173134729 Change-Id: I907dbc27280d4d281683fb968fba25ddf4614a49
2021-01-21Fix compilationTests on macPeter Xu
By redirecting ANDROID_PREFS_ROOT to a temporarily created directory, since tests on mac can't access user directory. Test: this is it. Fixes: 177948569 Change-Id: I3f14e8aaaf82d01eaa0fd04417472865eae80ed2
2021-01-20Remove Maven plugin from databinding publishingIvan Gavrilovic
Use Gradle maven-publish plugin instead, as the maven plugin is removed in Gradle 7.0 Bug: n/a Test: testing with Gradle&Bazel Change-Id: I8ab1f0f18f44aedd415614261d056109c2537f89
2021-01-14Remove compiler-test symlinkPeter Xu
It doesn't seem to be used by any tests. Test: n/a Bug: 173134729 Change-Id: I325e07dc3a35420bd67a3a50b74ce145b5df2886
2021-01-14Update README and bash scriptPeter Xu
The bash script can be deleted once the presubmit configuration in android build is removed. Test: n/a Bug: 173134729 Change-Id: I18a1bec1909c96fe6881bfbf52193c31fc195f51
2021-01-14Clean up compilationTests modulePeter Xu
Clean up by moving files back to their original packages. Delete leftover resources. Test: n/a Bug: 173134729 Change-Id: Ie54ed34f89f74979882459da82fa378a3cbb0426
2021-01-14Convert rest of compilationTestsPeter Xu
Test: this is it. Bug: 173134729 Change-Id: I8792771d0706d951fdf47c90e0f0eee015f5178e
2021-01-14Correct testData directory structurePeter Xu
I made a mistake thinking intellij will convert java package syntax a.b.c to directories, but instead it just created a directory named a.b.c. This change corrects that. Test: n/a Bug: 173134729 Change-Id: I10276bd925c0eb37f713fc7faee6049a3b999406
2021-01-14Move test files out of the test jarPeter Xu
And move them into testData. Some test files are duplicated but they will be removed as soon as the tests that depend on them are migrated. Test: this is it. Bug: 173134729 Change-Id: I0f83527514fa5b6a57586f9446a3460bbc58a384
2021-01-14Increase compilationTests test shard countPeter Xu
We may need to further increase the shard count after all of the tests are converted. Test: this is it. Bug: 173134729 Change-Id: I4b1e042624b023289fca98054c60cdf1704df509
2021-01-14Skip root view while finding child viewsYigit Boyar
When a layout binding is included inside another layout, the include tag might be setting a different id. If that id conflicts with one of the children in the included binding, it breaks the generated Binding class as it finds the root view instead of finding a child when calling findVewById. This CL adds a helper class to run find view by id only on children. We don't need it for the root view as we already use the argument that was passed in. Bug: 177013456 Test: IncludeIdCollusionTest Change-Id: I9e0739936d99f96d0396f2ea34b3df91fa609752
2021-01-13Finish converting SimpleCompilationTestPeter Xu
Test: this is it. Bug: 173134729 Change-Id: I64bd3f56e6ef34122fe7cfeff40b837c35e67e80
2021-01-13Convert more compilation testsPeter Xu
Update DataBindingCompilationTestCase to support extraction of stdout and stderr, which is not supported by the AndroidGradleTestCase API. Test: this is it. Bug: 173134729 Change-Id: I9fd482b3893b28b448ab7d19dea60a13ac48d646
2021-01-12Groundwork CL - migrate compilation tests to bazelPeter Xu
This change introduces DataBindingCompilationTestCase which is based on AndroidGradleTestCase. All of the compilation tests will be converted to use it because it's how we run gradle tests on bazel presubmit. This change converts a couple of simple compilation tests over to bazel just to demonstrate how it will look. Test: covered by this change. Bug: 173134729 Change-Id: I86a037093d8c227d7c8c81e41b43800afedcf5b3
2021-01-11Refactor copy function to separate utilityPeter Xu
This paves the way for future changes that will need to use this functionality. Test: n/a Bug: 173134729 Change-Id: Iee6ccbd40c2f6ef83271eb2a0ebe2486d9294c69
2021-01-11Add db-compilationTests iml modulePeter Xu
Test: n/a Bug: 173134729 Change-Id: I1d66579bca601f205c202c1bf2e02a23ca7bcd27
2021-01-11Fix test errors when run in the IDEPeter Xu
Test: this is it. Bug: 173134729 Change-Id: I970d385ed4e4e4702f4a1350b31fe90c764a815e
2021-01-07Keep a weak reference to LifecycleOwner in observersYigit Boyar
WeakListeners in data binding are designed to hold on a strong reference to the observed object but weak reference to the binding it self so that we don't leak the binding. Unfortunately, live data observers were keeping a strong reference to the lifecycle owner, which meant that if binding is GC'ed and we don't get a chance to process weak references, we might leak the lifecycleowner. Ideally, we wouldn't want to use this ReferenceQueue that cleans up weak listeners but aside from that queue, we don't have a good notification (on the main thread) that the binding can never be used anymore so I decided to keep it for now. Bug: 176886060 Test: existing tests, also adding tests that clear lifecycle Change-Id: Ia72639571cf6aef2769de20383ee400ea20f67ba
2020-12-29Move databinding connected test to RBEJean-Luc Coelho
Some changes had to be made to the build files for the databinding test to work. The databinding test projects had to be updated to use the new maven-publish plugin to be compatible with gradle 7 The extensions build file had to be changed to allow a null library variant. Bug: 77903319 Test: Existing Change-Id: If787f7fdab02306bd66cdd3ff8a79c777eb09dce
2020-12-21Use bundledKotlinVersion defined in //tool/buildSrc/baseJuan Chen
Change-Id: I5cbb85bcfdaf0ac0ef4c7134429bd7bb4ca863ad
2020-12-15Remove direct references to Kotlin versionsJuan Chen
Change-Id: I91782411e4a3cb9ef1e48a6a7017d9d7795e887d
2020-12-11Apply @Ignore to failing SafeUnboxingTestDana Dahlstrom
Change-Id: I42ee71f0513cf96a9d1f13c5e697679b42ca046c Issue: 175036746
2020-12-10Fix databinding compilation testsPeter Xu
This change updates all occurrences of 'compile' to 'implementation' in gradle files. The recent version of gradle rejects 'compile'. Test: this is it. Fixes: 175341077 Change-Id: I0acdc2df771b18ac9f93eb83e7beaade703e4f29
2020-12-05Update Kotlin dependencies to 1.4.21Juan Chen
Change-Id: Ia7eb46b5a6d2165539a9521710376ba023d2d4a3
2020-12-04Update Kotlin dependencies to 1.4.20Juan Chen
Change-Id: If18fdfedabaa43568c8b37ba1faa909689d95c0c
2020-12-03Adds StateFlow support to data bindingYigit Boyar
Bug: 162839058 Test: KotlinTestApp Change-Id: I835d768cbc6d8bf44566bb15aae8fe786a005ed0
2020-12-02editorconfig fixesChristophe Rhodes
- apply the same formatting for *.kts as for *.kt - make line length 72 for COMMIT_EDITMSG Bug: n/a Test: diff <(editorconfig $(pwd)/a.kt) <(editorconfig $(pwd)/a.kts) Change-Id: I025f4f7eb1cfcdce8a7af4d04534a82e110cec32
2020-11-25Update tests to not use compile.Xavier Ducrohet
This is going away in AGP 7.0 Bug: N/A Test: these are automated tests Change-Id: I6aaf02b3de6bd908610fb5475f61cb0fe76e7abd