Skip to content

Commit f33c185

Browse files
authored
Misc updates (#438)
* Gradle 6.8 * Update misc dependencies * Gradle plugin-related changes * Final dokka bits * Use new buildFeature tools * Use configureEach * Update more deps * Nix comment * Kotlin visibility + java doc fixes * More doc fixes * Integrate ABI validator * Spotless * Update actions * More fixes * Fix another * minSdk 21 * More * Use multidex * AGP 4.1.2 * Update deps again * Gradle 7.1.1 * Use toolchains, start using JDK 11 exclusively * Update dependencies again * Spotless fixes from main merge * Compatibility fixes for build * Android 12 fixes * These are the defaults when no filter is set * Update publishing and binary validator * More JDK 16 compat * Modernize dokka bits * Apparently this behavior changed * More updates * Fix test for apparent new behavior * Update dependencies and deprecations * Don't fail fast * More misc and downgrade lint again Lint has problems with 30.0.0 * Set lint API verison too * Gate android again * Remove redundant cast * Suppress warning * Remove 17-ea for now
1 parent a6944c9 commit f33c185

File tree

79 files changed

+1577
-1195
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+1577
-1195
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,22 @@ jobs:
77
name: JDK ${{ matrix.java_version }}
88
runs-on: macOS-latest
99
strategy:
10+
fail-fast: false
1011
matrix:
11-
# TODO Add 9, 10, 11, 12, and 13 after Kotlin 1.3.60
12-
java_version: [1.8]
12+
java_version: [11, 12, 13, 14, 15, 16]
1313
steps:
14-
# In order to have sha256sum on macOS, we need to install coreutils first
15-
# Use this until coreutils or sha256sum are natively included in macOS on actions https://github.com/actions/virtual-environments/issues/90
16-
- name: Install coreutils for macOS
17-
run: brew install coreutils
1814
- name: Checkout
1915
uses: actions/checkout@v1
20-
- name: Check Gradle checksum
21-
run: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ZacSweers/check-gradle-checksums/master/check-gradle-checksums.sh)"
16+
- name: Gradle Wrapper Validation
17+
uses: gradle/wrapper-validation-action@v1
2218
- name: Install JDK ${{ matrix.java_version }}
23-
uses: actions/setup-java@v1
19+
uses: actions/setup-java@v2
2420
with:
21+
distribution: 'adopt'
2522
java-version: ${{ matrix.java_version }}
2623
- name: Install Android SDK
27-
uses: malinskiy/action-android/install-sdk@release/0.1.1
24+
uses: malinskiy/action-android/install-sdk@release/0.1.2
25+
- run: sdkmanager platform-tools
2826
# TODO Caching disabled for now due to the size of Gradle's cache rendering this super slow
2927
# - name: Cache build .gradle dir
3028
# uses: actions/[email protected]
@@ -40,8 +38,6 @@ jobs:
4038
# key: ${{ runner.os }}-gradleuser-${{ hashFiles('**/*.gradle') }}
4139
# restore-keys: |
4240
# ${{ runner.os }}-gradleuser-
43-
- name: Gradle Wrapper Validation
44-
uses: gradle/wrapper-validation-action@v1
4541
- name: Configure Gradle
4642
# Initial gradle configuration, install dependencies, etc
4743
run: ./gradlew help
@@ -54,7 +50,7 @@ jobs:
5450
- name: Run tests
5551
run: ./gradlew test --stacktrace
5652
- name: Run instrumentation tests
57-
uses: malinskiy/action-android/emulator-run-cmd@release/0.1.1
53+
uses: malinskiy/action-android/emulator-run-cmd@release/0.1.2
5854
with:
5955
cmd: ./gradlew connectedCheck --stacktrace
6056
api: 18
@@ -65,7 +61,7 @@ jobs:
6561
- name: Final checks
6662
run: ./gradlew check --stacktrace
6763
- name: Upload snapshot (main only)
68-
run: ./gradlew uploadArchives -PSONATYPE_NEXUS_USERNAME="$SONATYPE_NEXUS_USERNAME" -PSONATYPE_NEXUS_PASSWORD="$SONATYPE_NEXUS_PASSWORD"
64+
run: ./gradlew publishAllPublicationsToMavenCentralRepository -PmavenCentralUsername="$SONATYPE_NEXUS_USERNAME" -PmavenCentralPassword="$SONATYPE_NEXUS_PASSWORD"
6965
env:
7066
SONATYPE_NEXUS_USERNAME: ${{ secrets.SonatypeUsername }}
7167
SONATYPE_NEXUS_PASSWORD: ${{ secrets.SonatypePassword }}

RELEASING.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,11 @@ Releasing
55
2. Update the `CHANGELOG.md` for the impending release.
66
3. `git commit -am "Prepare for release X.Y.Z."` (where X.Y.Z is the new version)
77
4. `git tag -a X.Y.Z -m "Version X.Y.Z"` (where X.Y.Z is the new version)
8-
5. `./gradlew clean uploadArchives --no-parallel`
8+
5. `./gradlew clean publishAllPublicationsToMavenCentralRepository --no-daemon --no-parallel && ./gradlew closeAndReleaseRepository`
99
6. Update the `gradle.properties` to the next SNAPSHOT version.
1010
7. `git commit -am "Prepare next development version."`
1111
8. `git push && git push --tags`
12-
9. Visit [Sonatype Nexus](https://oss.sonatype.org/) and promote the artifact.
13-
- Select the artifact, click `close`, wait for it to close, then select again and click
14-
`release`.
15-
10. After release propagates (wait ~1 hour), update Javadocs/KDocs via [Osstrich](https://github.com/square/osstrich)
12+
9. After release propagates (wait ~30 minutes), update Javadocs/KDocs via [Osstrich](https://github.com/square/osstrich)
1613
- Make sure you have push access
1714
- `./gradlew publishDocs`
18-
11. Deploy the updated website with the new docs. This can be done by running the script `./deploy_website.sh`
15+
10. Deploy the updated website with the new docs. This can be done by running the script `./deploy_website.sh`
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
public final class autodispose2/android/AutoDisposeAndroidPlugins {
2+
public static fun isLockdown ()Z
3+
public static fun lockdown ()V
4+
public static fun onCheckMainThread (Lio/reactivex/rxjava3/functions/BooleanSupplier;)Z
5+
public static fun reset ()V
6+
public static fun setOnCheckMainThread (Lio/reactivex/rxjava3/functions/BooleanSupplier;)V
7+
}
8+
9+
public final class autodispose2/android/KotlinExtensionsKt {
10+
public static final fun autoDispose (Lio/reactivex/rxjava3/core/Completable;Landroid/view/View;)Lautodispose2/CompletableSubscribeProxy;
11+
public static final fun autoDispose (Lio/reactivex/rxjava3/core/Flowable;Landroid/view/View;)Lautodispose2/FlowableSubscribeProxy;
12+
public static final fun autoDispose (Lio/reactivex/rxjava3/core/Maybe;Landroid/view/View;)Lautodispose2/MaybeSubscribeProxy;
13+
public static final fun autoDispose (Lio/reactivex/rxjava3/core/Observable;Landroid/view/View;)Lautodispose2/ObservableSubscribeProxy;
14+
public static final fun autoDispose (Lio/reactivex/rxjava3/core/Single;Landroid/view/View;)Lautodispose2/SingleSubscribeProxy;
15+
public static final fun autoDispose (Lio/reactivex/rxjava3/parallel/ParallelFlowable;Landroid/view/View;)Lautodispose2/ParallelFlowableSubscribeProxy;
16+
public static final fun scope (Landroid/view/View;)Lautodispose2/ScopeProvider;
17+
}
18+
19+
public final class autodispose2/android/ViewScopeProvider : autodispose2/ScopeProvider {
20+
public static fun from (Landroid/view/View;)Lautodispose2/ScopeProvider;
21+
public fun requestScope ()Lio/reactivex/rxjava3/core/CompletableSource;
22+
}
23+
24+
public class autodispose2/android/internal/AutoDisposeAndroidUtil {
25+
public static fun isMainThread ()Z
26+
}
27+
28+
public abstract class autodispose2/android/internal/MainThreadDisposable : io/reactivex/rxjava3/disposables/Disposable {
29+
public fun <init> ()V
30+
public final fun dispose ()V
31+
public final fun isDisposed ()Z
32+
protected abstract fun onDispose ()V
33+
}
34+

android/autodispose-android/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
* limitations under the License.
1515
*/
1616

17+
plugins {
18+
id "com.vanniktech.maven.publish"
19+
}
20+
1721
dependencies {
1822
api project(':autodispose')
1923
api deps.rx.java
@@ -32,5 +36,3 @@ dependencies {
3236
androidTestImplementation deps.test.androidRules
3337
androidTestUtil deps.test.androidOrchestrator
3438
}
35-
36-
apply from: rootProject.file('gradle/gradle-mvn-push.gradle')

android/autodispose-android/src/androidTest/java/autodispose2/android/ViewScopeProviderTest.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
import android.util.Log;
2323
import android.view.View;
2424
import android.widget.FrameLayout;
25-
import androidx.test.InstrumentationRegistry;
25+
import androidx.test.ext.junit.rules.ActivityScenarioRule;
2626
import androidx.test.ext.junit.runners.AndroidJUnit4;
27-
import androidx.test.rule.ActivityTestRule;
27+
import androidx.test.platform.app.InstrumentationRegistry;
2828
import autodispose2.OutsideScopeException;
2929
import autodispose2.test.RecordingObserver;
3030
import io.reactivex.rxjava3.disposables.Disposable;
@@ -34,25 +34,30 @@
3434
import org.junit.Test;
3535
import org.junit.runner.RunWith;
3636

37+
@SuppressWarnings("NullAway") // NullAway is confused about onActivity
3738
@RunWith(AndroidJUnit4.class)
3839
public final class ViewScopeProviderTest {
3940

4041
private static final RecordingObserver.Logger LOGGER =
4142
message -> Log.d(ViewScopeProviderTest.class.getSimpleName(), message);
4243

4344
@Rule
44-
public final ActivityTestRule<AutoDisposeTestActivity> activityRule =
45-
new ActivityTestRule<>(AutoDisposeTestActivity.class);
45+
public final ActivityScenarioRule<AutoDisposeTestActivity> activityRule =
46+
new ActivityScenarioRule<>(AutoDisposeTestActivity.class);
4647

4748
private final Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
4849
private FrameLayout parent;
4950
private View child;
5051

5152
@Before
5253
public void setUp() {
53-
AutoDisposeTestActivity activity = activityRule.getActivity();
54-
parent = activity.parent;
55-
child = activity.child;
54+
activityRule
55+
.getScenario()
56+
.onActivity(
57+
activity -> {
58+
parent = activity.parent;
59+
child = activity.child;
60+
});
5661
}
5762

5863
@Test

android/autodispose-android/src/main/java/autodispose2/android/KotlinExtensions.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ inline fun View.scope(): ScopeProvider = ViewScopeProvider.from(this)
4747
inline fun <T> Flowable<T>.autoDispose(
4848
view: View
4949
): FlowableSubscribeProxy<T> =
50-
this.to(AutoDispose.autoDisposable(ViewScopeProvider.from(view)))
50+
this.to(AutoDispose.autoDisposable(ViewScopeProvider.from(view)))
5151

5252
/**
5353
* Extension that proxies to [Observable.as] + [AutoDispose.autoDisposable]
@@ -56,7 +56,7 @@ inline fun <T> Flowable<T>.autoDispose(
5656
inline fun <T> Observable<T>.autoDispose(
5757
view: View
5858
): ObservableSubscribeProxy<T> =
59-
this.to(AutoDispose.autoDisposable(ViewScopeProvider.from(view)))
59+
this.to(AutoDispose.autoDisposable(ViewScopeProvider.from(view)))
6060

6161
/**
6262
* Extension that proxies to [Single.as] + [AutoDispose.autoDisposable]
@@ -65,7 +65,7 @@ inline fun <T> Observable<T>.autoDispose(
6565
inline fun <T> Single<T>.autoDispose(
6666
view: View
6767
): SingleSubscribeProxy<T> =
68-
this.to(AutoDispose.autoDisposable(ViewScopeProvider.from(view)))
68+
this.to(AutoDispose.autoDisposable(ViewScopeProvider.from(view)))
6969

7070
/**
7171
* Extension that proxies to [Maybe.as] + [AutoDispose.autoDisposable]
@@ -74,7 +74,7 @@ inline fun <T> Single<T>.autoDispose(
7474
inline fun <T> Maybe<T>.autoDispose(
7575
view: View
7676
): MaybeSubscribeProxy<T> =
77-
this.to(AutoDispose.autoDisposable(ViewScopeProvider.from(view)))
77+
this.to(AutoDispose.autoDisposable(ViewScopeProvider.from(view)))
7878

7979
/**
8080
* Extension that proxies to [Completable.as] + [AutoDispose.autoDisposable]
@@ -83,7 +83,7 @@ inline fun <T> Maybe<T>.autoDispose(
8383
inline fun Completable.autoDispose(
8484
view: View
8585
): CompletableSubscribeProxy =
86-
this.to(AutoDispose.autoDisposable<Any>(ViewScopeProvider.from(view)))
86+
this.to(AutoDispose.autoDisposable<Any>(ViewScopeProvider.from(view)))
8787

8888
/**
8989
* Extension that proxies to [ParallelFlowable.as] + [AutoDispose.autoDisposable]
@@ -92,4 +92,4 @@ inline fun Completable.autoDispose(
9292
inline fun <T> ParallelFlowable<T>.autoDispose(
9393
view: View
9494
): ParallelFlowableSubscribeProxy<T> =
95-
this.to(AutoDispose.autoDisposable(ViewScopeProvider.from(view)))
95+
this.to(AutoDispose.autoDisposable(ViewScopeProvider.from(view)))
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
public final class autodispose2/androidx/lifecycle/test/KotlinExtensionsKt {
2+
public static final fun test (Landroidx/lifecycle/LifecycleRegistry;)Lautodispose2/androidx/lifecycle/test/TestLifecycleOwner;
3+
}
4+
5+
public final class autodispose2/androidx/lifecycle/test/TestLifecycleOwner : androidx/lifecycle/LifecycleOwner {
6+
public static fun create ()Lautodispose2/androidx/lifecycle/test/TestLifecycleOwner;
7+
public static fun create (Landroidx/lifecycle/LifecycleRegistry;)Lautodispose2/androidx/lifecycle/test/TestLifecycleOwner;
8+
public fun emit (Landroidx/lifecycle/Lifecycle$Event;)V
9+
public synthetic fun getLifecycle ()Landroidx/lifecycle/Lifecycle;
10+
public fun getLifecycle ()Landroidx/lifecycle/LifecycleRegistry;
11+
}
12+

android/autodispose-androidx-lifecycle-test/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@
1414
* limitations under the License.
1515
*/
1616

17+
plugins {
18+
id "com.vanniktech.maven.publish"
19+
}
20+
1721
dependencies {
1822
api project(':autodispose')
1923
api deps.androidx.annotations
2024
api deps.androidx.lifecycle.common
2125
api deps.androidx.lifecycle.runtime
2226
}
23-
24-
apply from: rootProject.file('gradle/gradle-mvn-push.gradle')
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
public final class autodispose2/androidx/lifecycle/AndroidLifecycleScopeProvider : autodispose2/lifecycle/LifecycleScopeProvider {
2+
public fun correspondingEvents ()Lautodispose2/lifecycle/CorrespondingEventsFunction;
3+
public static fun from (Landroidx/lifecycle/Lifecycle;)Lautodispose2/androidx/lifecycle/AndroidLifecycleScopeProvider;
4+
public static fun from (Landroidx/lifecycle/Lifecycle;Landroidx/lifecycle/Lifecycle$Event;)Lautodispose2/androidx/lifecycle/AndroidLifecycleScopeProvider;
5+
public static fun from (Landroidx/lifecycle/Lifecycle;Lautodispose2/lifecycle/CorrespondingEventsFunction;)Lautodispose2/androidx/lifecycle/AndroidLifecycleScopeProvider;
6+
public static fun from (Landroidx/lifecycle/LifecycleOwner;)Lautodispose2/androidx/lifecycle/AndroidLifecycleScopeProvider;
7+
public static fun from (Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)Lautodispose2/androidx/lifecycle/AndroidLifecycleScopeProvider;
8+
public static fun from (Landroidx/lifecycle/LifecycleOwner;Lautodispose2/lifecycle/CorrespondingEventsFunction;)Lautodispose2/androidx/lifecycle/AndroidLifecycleScopeProvider;
9+
public fun lifecycle ()Lio/reactivex/rxjava3/core/Observable;
10+
public fun peekLifecycle ()Landroidx/lifecycle/Lifecycle$Event;
11+
public synthetic fun peekLifecycle ()Ljava/lang/Object;
12+
public fun requestScope ()Lio/reactivex/rxjava3/core/CompletableSource;
13+
}
14+
15+
public final class autodispose2/androidx/lifecycle/KotlinExtensionsKt {
16+
public static final fun autoDispose (Lio/reactivex/rxjava3/core/Completable;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)Lautodispose2/CompletableSubscribeProxy;
17+
public static final fun autoDispose (Lio/reactivex/rxjava3/core/Flowable;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)Lautodispose2/FlowableSubscribeProxy;
18+
public static final fun autoDispose (Lio/reactivex/rxjava3/core/Maybe;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)Lautodispose2/MaybeSubscribeProxy;
19+
public static final fun autoDispose (Lio/reactivex/rxjava3/core/Observable;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)Lautodispose2/ObservableSubscribeProxy;
20+
public static final fun autoDispose (Lio/reactivex/rxjava3/core/Single;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)Lautodispose2/SingleSubscribeProxy;
21+
public static final fun autoDispose (Lio/reactivex/rxjava3/parallel/ParallelFlowable;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)Lautodispose2/ParallelFlowableSubscribeProxy;
22+
public static synthetic fun autoDispose$default (Lio/reactivex/rxjava3/core/Completable;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;ILjava/lang/Object;)Lautodispose2/CompletableSubscribeProxy;
23+
public static synthetic fun autoDispose$default (Lio/reactivex/rxjava3/core/Flowable;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;ILjava/lang/Object;)Lautodispose2/FlowableSubscribeProxy;
24+
public static synthetic fun autoDispose$default (Lio/reactivex/rxjava3/core/Maybe;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;ILjava/lang/Object;)Lautodispose2/MaybeSubscribeProxy;
25+
public static synthetic fun autoDispose$default (Lio/reactivex/rxjava3/core/Observable;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;ILjava/lang/Object;)Lautodispose2/ObservableSubscribeProxy;
26+
public static synthetic fun autoDispose$default (Lio/reactivex/rxjava3/core/Single;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;ILjava/lang/Object;)Lautodispose2/SingleSubscribeProxy;
27+
public static synthetic fun autoDispose$default (Lio/reactivex/rxjava3/parallel/ParallelFlowable;Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;ILjava/lang/Object;)Lautodispose2/ParallelFlowableSubscribeProxy;
28+
public static final fun scope (Landroidx/lifecycle/Lifecycle;)Lautodispose2/ScopeProvider;
29+
public static final fun scope (Landroidx/lifecycle/Lifecycle;Landroidx/lifecycle/Lifecycle$Event;)Lautodispose2/ScopeProvider;
30+
public static final fun scope (Landroidx/lifecycle/Lifecycle;Lautodispose2/lifecycle/CorrespondingEventsFunction;)Lautodispose2/ScopeProvider;
31+
public static final fun scope (Landroidx/lifecycle/LifecycleOwner;)Lautodispose2/ScopeProvider;
32+
public static final fun scope (Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;)Lautodispose2/ScopeProvider;
33+
public static final fun scope (Landroidx/lifecycle/LifecycleOwner;Lautodispose2/lifecycle/CorrespondingEventsFunction;)Lautodispose2/ScopeProvider;
34+
}
35+
36+
public class autodispose2/androidx/lifecycle/LifecycleEventsObservable_AutoDisposeLifecycleObserver_LifecycleAdapter : androidx/lifecycle/GeneratedAdapter {
37+
public fun callMethods (Landroidx/lifecycle/LifecycleOwner;Landroidx/lifecycle/Lifecycle$Event;ZLandroidx/lifecycle/MethodCallsLogger;)V
38+
}
39+

android/autodispose-androidx-lifecycle/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
* limitations under the License.
1515
*/
1616

17+
plugins {
18+
id "com.vanniktech.maven.publish"
19+
}
20+
1721
dependencies {
1822
annotationProcessor deps.androidx.lifecycle.compiler
1923

@@ -34,5 +38,3 @@ dependencies {
3438
androidTestImplementation deps.test.androidRules
3539
androidTestUtil deps.test.androidOrchestrator
3640
}
37-
38-
apply from: rootProject.file('gradle/gradle-mvn-push.gradle')

0 commit comments

Comments
 (0)