23 Commits

Author SHA1 Message Date
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 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
tys 5a8d44afe0 Gradle 7.2 upgrade 2022-04-24 13:20:50 -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
James Barr b86d7ffee3 Align rib-android with internal version (#405)
* 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
2021-02-27 10:01:12 -08:00
James Barr 0fa0b46839 Align rib-test with internal version (#400)
* Align rib-test with internal version

* Rename rib-test-utils to rib-test

* Bump Mockito version
2021-02-19 11:53:21 -08:00
James Barr 676f742436 Migrate from uava to guava (#393)
* Delete rib-uava
* Use Guava classes instead of Uava
* Add Guava dependencies and be explicit about Android or JRE
2021-02-12 13:46:29 -08: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
Manu Sridharan 08d42cce56 no NullAway config for tests 2018-02-07 18:11:52 -08:00
Manu Sridharan 8e2ce27ecd wire up EP / NullAway for tutorial1 and tutorial2 2018-02-07 18:11:52 -08:00
Tuomas Artman 2059061ad9 Renames Android tutorial folders to "tutorial<x>" so that it matches wiki documentation (#109) 2017-11-07 10:12:49 +01:00
Brian Attwell 9fe20aa0b5 Rename tutorial1 to tutorial1-create-a-rib 2017-10-19 13:03:17 -07:00
Brian Attwell db65c48c68 Starter code for tutorial2.
This is just completed tutorial 1.
2017-10-19 13:01:42 -07:00
Brian Attwell 0eba02df93 Readme update: reason for LoggedOutPresenter 2017-10-19 11:40:54 -07:00
Brian Attwell 05bdc08283 Fleshing out tutorial1 2017-10-17 10:53:17 -07:00
Brian Attwell e76fe04ebb router-navigator, intellij-plugin
* 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
2017-10-17 10:53:17 -07:00
Brian Attwell 1a7f49d435 Update tutorial1 readme 2017-10-17 10:53:16 -07:00
Brian Attwell a7e56c5315 Rough draft of tutorial1 in markup. Trying out markup.
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.
2017-10-17 10:53:16 -07:00
Brian Attwell db442a21b0 Fix RIB plugin icon 2017-10-17 10:53:16 -07:00
Brian Attwell 7c7a91608b Set Java version to 1.7 in all modules
This allows us to build, install and run the tutorial1 app.
2017-10-17 10:53:16 -07:00
Brian Attwell 02605770c7 Include tutorial1.
Minimal changes have been made so far. Just removed references to uviews.
2017-10-17 10:53:15 -07:00