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.
```
* 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
* Bump buildTools and compileSdk to 30
* Remove component type parameter from ViewRouter
* Xray updates
* Add support for onUserLeaveHint, onTrimMemory, and onPIPModeChanged callbacks
* Update build tools for Travis CI
* 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
* Add comment explaining why lifecycled presenters exist
* Fix package name for rib debug utils
* Rename rib-assert -> rib-test-utils
* Delete orphaned files
* Refactor router-navigator into its own module. Fix some gradle dependencies
* Update the rib intellij template readme
* Include prebuilt plugin.jar
* Include link to plugin.jar in readme
* Add link to plugin inside tutorial1 readme
* Add license
At this stage I'm not convinced it makes sense to create detailed tutorials like this. Or if it makes sense to write them in markup. Just trying things out.