* [Temp] Remove all modules
* Remove references to Store 4
* Update CHANGELOG
* Update README
* Add Store 5 foundation
Co-authored-by: Andre Claßen <aclassen@users.noreply.github.com>
Co-authored-by: Mike Nakhimovich <mnakhimovich@Mikes-MBP.localdomain>
* Update sample app to use latest stable version 4.0.5.
* Update README to point to latest version 4.0.5
* Updated CHANGELOG to call out support for older Kotlin versions.
Co-authored-by: Sam Edwards <samedwards@dropbox.com>
* Update RELEASING.md
Needed to improve documentation about handling PRs for release versions
* Prepare for release 4.0.0-beta01
Co-authored-by: William Clausen <wclausen@dropbox.com>
* Move Fetcher factories into companion
Fetcher factories were global methods, which made them hard
to discover since IDE cannot easily auto-complete.
This PR moves them into the companion of Fetcher while also
making Fetcher a real interface instead of a typealias.
Even though it is a bit more code for the developer, now they
can easily discover how to create a Fetcher by typing Fetcher.
Fixes: #167
* make rx methods start w/ from too for consistency
* Rename fether factories to be more clear, hopefully :/
* remove fetch method, use invoke instead
* Make Fetcher.from the one that receives a suspend fun.
Create Fetcher.fromFlow for the flowing version.
Rename both SourceOfTruth builder methods to . Rely on param names to disambiguate
* use .of instead, this seems better to me.
We should probably get rid of StoreBuilder.from and make it
Store.builder()
* fix jvm name for SourceOfTruth.of with flow function
* fix RxSourceOfTruth name to match original class
* specify bounds for FactoryFetcher
* updates per PR review
* update graph per SoT rename
* update rxjava3 APIs as well
These appeared after i rebased, missed them completely.
Also fixed some tests, appearantly IJ parameter name refactor does
not always work
* supress wrong unnecessary cast warning
without this, multicaster cannot resolve to the base StoreResponse type
* upgade gradle, try to fix build by disabling caching
* split subscribers
* resubscribe
Co-authored-by: miken <miken@dropbox.com>
Co-authored-by: miken <miken@dropbox.com>
* Support non exception errors from fetcher
* revert parital changes to store builder to reduce noise
* finish off diff
* Allow to create a FetcherResult.Error without a Throwable. Add tests
* Add missing funcion and more tests
* lint
* unflake RxFlowableStoreTest
* try to rename FakeFetcher to FakeRxFetcher to (maybe) solve missing codcov
* move SourceOfTruth out of impl package
* Rename accidental change of RxStoreBuilder.fromMaybe back to formSingle
* Introduce Fetcher from #139
* fix Rx artifact
* delete legacy presistor factory
* fix api file
* move fetcher to be a typealias
* code review comments + clean up documentation
* code review comments
* Update store/src/main/java/com/dropbox/android/external/store4/Fetcher.kt
Co-Authored-By: Yigit Boyar <yboyar@google.com>
* Revert "Update sample app's build.gradle to refer to the externally released version of Store (#159)"
This reverts commit fc8da86f63.
* update releasing.md
Co-authored-by: Yigit Boyar <yboyar@google.com>
* Contain @ExperimentalStdlibApi within relevant scope.
The alpha04 release of Store caused the requirement of the @ExperimentalStdlibApi annotation for client code. I looked into it, and the only thing in Store that required the annotation was the Kotlin ArrayDeque used in the BufferImpl class. That class is private in the ChannelManager.kt file, so I opted that file into the annotation and removed all other occurences of the annotation.
Code compiles, all 208 tests pass.
* update to correct git glitch in /build.gradle
* update to address 'needless blank line' linter
* Prepare for release 4.0.0-alpha05
* Prepare for next development version.
Co-authored-by: Dave Parker <davidp@dropbox.com>
* Migrate cache library to use kotlin.time APIs
* Fix docs and inline durations in tests
* Migrate cache library to use kotlin.time APIs
* Only require ExperimentalTime when setting cache expiration
* Set ExperimentalTime on RealStore to use it on MemoryPolicy
* Set ExperimentalTime on Cache interface and not on functions
* Avoid ExperimentalTime annotation in filesystem module
* Remove unneeded ExpirationTime annotation
* Remove unneeded ExpirationTime annotation
* Revert "Prepare next development version."
This reverts commit 4397b4390d.
* Revert "Prepare for release 4.0.0-alpha04"
This reverts commit 671bfeaf26.
* Fix typos.
* Gradle 6.1, AGP 4.0.0-alpha09, lifecycle 2.2.0.
* Add experimental invalidateAll() support and @ExperimentalStoreAPI annotation.
* Update sample with deleteAll function.
* Update README.md with deleteAll function.
* Add a section to README.md on clearing store entries.
* Rewrite tests without mocking. Move test utils / helpers to a single package.
* Code formatting and cleanups.
* Use StoreResponse.Data instead of DataWithOrigin in ClearAllStoreTest and ClearStoreByKeyTest.
* Simplified samples. Refactor tests.
* Gradle 6.1.1.
* Prepare for release 4.0.0-alpha01
* Prepare next development version
* Update build.gradle
Co-Authored-By: Mike Nakhimovich <digitalbuddha@users.noreply.github.com>
Co-authored-by: Mike Nakhimovich <digitalbuddha@users.noreply.github.com>
The artifact id `store4`, so the current included example dependency line doesn't locate the library. Changing it to `store4` correctly finds the library in the local repository.