19 Commits
Author SHA1 Message Date
psteiger 4282ac47f7 Add explicit visibility to Android libraries. 2024-10-14 06:43:21 -04:00
Patrick Steiger 27d8eba3fc Make use of convention plugins and version catalogs 2023-05-18 14:54:39 -03:00
Patrick Steiger 5b9b66e54d Make use of jvmToolchain for compiling the project.
This allows for a more repeatable, predictable build between different local configurations.
2023-05-16 18:01:40 -03:00
Patrick Steiger 0338455764 Expose lifecycle: SharedFlow for mocking and finalize LifecycleScopeProvider methods that use lifecycle. 2023-05-04 20:39:14 -03:00
Patrick Steiger 2d77205544 Bump Kotlin, Gradle, and other dependencies versions.
Kotlin 1.7.10 -> 1.8.20
Gradle 7.3.3 -> 8.1.1
AndroidX Lifecycle ViewModel Compose 1.0.0-alpha05 -> 2.5.1
AndroidX Activity 1.3.0-alpha08 -> 1.7.0
AndroidX Activity KTX 1.3.0-beta02 -> 1.7.0
AndroidX Activity Compose 1.3.0-beta02 -> 1.7.0
Compose compiler 1.3.0 -> 1.4.6
Compose libraries 1.2.1 -> 1.4.0
Java version 1.8 -> 11
IntelliJ plugin 1.11.0 -> 1.13.1 (1.13.2 onwards fails test `ribGenerators_shouldGenerateClassesThatCompiler` for reasons beyond my understanding)
AGP 7.2.2 -> 7.4.2 (8.0 not supported in IJ 2023.1 bundled Android plugin)
gradle-maven-publish 0.18.0 -> 0.25.2

### Additional changes

- Move package string from manifests to `android.namespace` in Gradle build scripts.
- Remove `targetSdk` from Android libraries (only applications should provide it)
- Remove `buildToolsVersion`.
- `compileSdkVersion`, `minSdkVersion`, `targetSdkVersion` swapped to `compileSdk`, `minSdk`, `targetSdk`.
- Disablement of `buildConfig` is now done by `buildFeatures.buildConfig = false` instead of in the project `build.gradle`.
- Added `exported="true"` in demo Android projects activities.
- `-Xfriend-paths` `kotlinc` option seemingly only works now if we use `@file:Suppress("invisible_reference", "invisible_member")` in files that access internal components.
- `androidx.lifecycle.ViewTreeLifecycleOwner(View, LifecycleOwner)` has been replaced with `View.setViewTreeLifecycleOwner(LifecycleOwner)`.
- Removed unnecessary dependencies on Kotlin stdlib, as the Kotlin JVM plugin automatically adds it. For reasons beyond my understanding, removing it from `android/libraries/rib-test` fails gradle sync with the following error, so it's the only place it's still kept.
```
com.intellij.openapi.externalSystem.model.ExternalSystemException: Could not resolve all dependencies for configuration ':libraries:rib-coroutines:testCompileClasspath'.
Cannot change dependencies of dependency configuration ':libraries:rib-test:api' after it has been included in dependency resolution.
```
2023-04-28 20:32:40 -03:00
sergey.smykovskyi e696898c9f Update formatters versions:
`gjf` 1.7 -> 1.16.0
`ktfmt` 0.23 -> 0.43
`ktlint` 0.41.0 -> 0.48.2
`spotless` 5.11.0 -> 6.18.0

Manual changes :
 Renamed `logged_in` package -> `loggedIn`
 Renamed `logged_out` package -> `loggedOut`
 Renamed `off_game` package -> `offGame`
 Renamed `tic_tac_toe` package -> `ticTacToe`
2023-04-26 11:10:08 -07:00
davissuber a32142834d Enable explicit api mode for Kotlin libraries (#561)
This commit follows the example of #548 and satisfies #545 by enabling the explicit api mode for the following library modules:

- rib-debug-utils
- rib-router-navigator
- rib-test
- rib-compiler-app
- rib-android-compose
- rib-android-code
- rib-android
- rib-screen-stack-base
- rib-workflow-test
- rib-workflow
2023-04-25 17:42:43 -03:00
tys 1015f2f460 Moved all behavior relays and publish relays to Flow in non test code. Preserving all public APIs for now 2023-03-24 17:03:28 -07:00
Mathieu Brousse 7be85d071f Add "open" modifier to allow override in implementation 2022-07-19 14:45:17 +02:00
James Barr beb5ccd149 Migrate gradle-maven-push to gradle-maven-publish-plugin (#477) 2021-09-17 11:06:06 -07:00
James Barr 9b375511f9 Open methods to fix binary incompatibility 2021-04-02 16:04:33 -07:00
James Barr 429b6a2ff1 Convert rib-screen-stack-base to Kotlin 2021-04-02 15:58:38 -07:00
James Barr fa177c91c2 Cleanup kotlin srcs in build.gradle files 2021-04-02 15:34:02 -07:00
James Barr 0a4a6e0d5f Rename rib-screen-stack-base files to .kt in kotlin srcs 2021-04-02 15:27:16 -07:00
James Barr cb51d73da2 Integrate Spotless into build (#415)
* Integrate Spotless in build

* Update CONTRIBUTING.md

* Move improperly placed copyright comments

* Update copyright indent

* Don't format test fixtures

* Run spotlessApply over the whole repo

* Remove checkstyle configs

* Run spotlessCheck on CI
2021-03-24 18:45:35 -07:00
fegol b586fbf024 Migration to AndroidX #324 (#334)
* Migration to AndroidX #324

* Divided versions for androidx libraries and renamed dependencies #324

* Upgrade target sdk version for travis #324

* Migration to androidx part 2 #324

* Fixed spaces #324
2019-06-19 22:48:18 +02:00
SeungHun Choe 94d8293316 Fix gradle sync and compilation error on Android Studio 3.4 2019-05-24 10:08:25 +09:00
Brian Attwell c27c6bcae6 add gradle-mvn-push to desired modules 2017-11-04 09:00:32 -07:00
Brian Attwell 46bd2247bb Add ScreenStackBase interface
Uber's implementation of screenstack is quite complicated. It includes analytics and various forms of (infrequently used) animation customization. I don't want to open source the full implementation because (1) that would be difficult (2) a lot of the functionality doesn't make sense as a general utility.
2017-11-03 10:44:40 -07:00