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.
```
* Update RIB hierarchy IntelliJ plugin
- Update IntelliJ gradle plugin to v1.5.3
- Fix compilation issues with IJ 2022
- Add missing modules to plugin.xml to make the plugin compatible with recent IJ versions
* IntelliJ RIB plugin version 0.1.4
- Cleanup plugin.xml
- Add description
- Remove "Plugin" from the name as suggested by the verifyPlugin task
* Native Android support for IntelliJ RIB tree plugin
* Demo application for IntelliJ RIB tree plugin
* IntelliJ RIB tree plugin implementation
* Fix spotless errors
* 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
* Remove Component type parameter from Router
* Add RibEvents and related classes for tooling
* Minor differences to align with internal version of rib-base
* Extended WorkerBinder functionality to allow for binding a worker to a presenter's lifecycle
* Minor differences & new tests to align with internal version of rib-base
* 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
* Updated Java and Kotlin templates to use 2 spaces instead of 4
* Updated java codes to use 2 spaces instead of 4
* Updated plugin.xml to add 0.1.3 entry
* Updated intellij jar file
* Updated UI to show "Kotlin (experimental support)"
Following the approach with tutorials, moving the documentation over to
the Wiki as well. The wiki pages are already in place.
In this commit, also removing assets from the android folder.
Previously I needed to disable the intellij build in order to make travis green. This was necessary because the `com.uber.intellij:xxx` dependencies didn't exist in the oss world.
Realized that I could avoid using the `com.uber.intellij:xxx` dependencies if I simply applyied the intellij plugin. Granted this makes the regular build & gradle sync a lot slower.