diff --git a/autodispose-lifecycle/build.gradle b/autodispose-lifecycle/build.gradle index d53faa0b8..f76b40d5e 100644 --- a/autodispose-lifecycle/build.gradle +++ b/autodispose-lifecycle/build.gradle @@ -21,6 +21,7 @@ plugins { dependencies { api project(":autodispose") + compileOnly deps.build.errorProneAnnotations signature deps.build.animalSniffer diff --git a/autodispose-lifecycle/src/main/java/autodispose2/lifecycle/LifecycleScopeProvider.java b/autodispose-lifecycle/src/main/java/autodispose2/lifecycle/LifecycleScopeProvider.java index d7d4e2e6f..875aa9328 100644 --- a/autodispose-lifecycle/src/main/java/autodispose2/lifecycle/LifecycleScopeProvider.java +++ b/autodispose-lifecycle/src/main/java/autodispose2/lifecycle/LifecycleScopeProvider.java @@ -16,7 +16,7 @@ package autodispose2.lifecycle; import autodispose2.ScopeProvider; -import autodispose2.internal.DoNotMock; +import com.google.errorprone.annotations.DoNotMock; import io.reactivex.rxjava3.annotations.CheckReturnValue; import io.reactivex.rxjava3.annotations.NonNull; import io.reactivex.rxjava3.annotations.Nullable; diff --git a/autodispose/api/autodispose.api b/autodispose/api/autodispose.api index 7afd7986b..d3f944b9d 100644 --- a/autodispose/api/autodispose.api +++ b/autodispose/api/autodispose.api @@ -134,10 +134,6 @@ public final class autodispose2/TestScopeProvider : autodispose2/ScopeProvider { public fun requestScope ()Lio/reactivex/rxjava3/core/CompletableSource; } -public abstract interface annotation class autodispose2/internal/DoNotMock : java/lang/annotation/Annotation { - public abstract fun value ()Ljava/lang/String; -} - public abstract interface class autodispose2/observers/AutoDisposingCompletableObserver : io/reactivex/rxjava3/core/CompletableObserver, io/reactivex/rxjava3/disposables/Disposable { public abstract fun delegateObserver ()Lio/reactivex/rxjava3/core/CompletableObserver; } diff --git a/autodispose/build.gradle b/autodispose/build.gradle index b1e5346c3..04d0437e5 100644 --- a/autodispose/build.gradle +++ b/autodispose/build.gradle @@ -27,6 +27,7 @@ lintOptions { dependencies { api deps.rx.java + compileOnly deps.build.errorProneAnnotations signature deps.build.animalSniffer lintChecks project(':static-analysis:autodispose-lint') diff --git a/autodispose/src/main/java/autodispose2/ScopeProvider.java b/autodispose/src/main/java/autodispose2/ScopeProvider.java index c3d8d8e1a..5c78a8a11 100644 --- a/autodispose/src/main/java/autodispose2/ScopeProvider.java +++ b/autodispose/src/main/java/autodispose2/ScopeProvider.java @@ -15,7 +15,7 @@ */ package autodispose2; -import autodispose2.internal.DoNotMock; +import com.google.errorprone.annotations.DoNotMock; import io.reactivex.rxjava3.annotations.CheckReturnValue; import io.reactivex.rxjava3.core.Completable; import io.reactivex.rxjava3.core.CompletableSource; diff --git a/autodispose/src/main/java/autodispose2/internal/DoNotMock.java b/autodispose/src/main/java/autodispose2/internal/DoNotMock.java deleted file mode 100644 index a5ee30dcd..000000000 --- a/autodispose/src/main/java/autodispose2/internal/DoNotMock.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2019. Uber Technologies - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package autodispose2.internal; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * This annotation indicates that a given type should not be mocked. This is a copy of what was in - * Error-Prone's annotations artifact before it was removed, but left for documentation purposes. - * - *

This has been modified to have CLASS retention and is only applicable to TYPE targets. - */ -@Inherited -@Documented -@Retention(RetentionPolicy.CLASS) -@Target(ElementType.TYPE) -public @interface DoNotMock { - /** - * The reason why the annotated type should not be mocked. - * - *

This should suggest alternative APIs to use for testing objects of this type. - */ - String value() default "Create a real instance instead"; -} diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 8dadcf17d..e6f851558 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -41,6 +41,7 @@ def build = [ javaVersion: JavaVersion.VERSION_1_8, errorProne: "com.google.errorprone:error_prone_core:${versions.errorProne}", + errorProneAnnotations: "com.google.errorprone:error_prone_annotations:${versions.errorProne}", errorProneJavac: "com.google.errorprone:javac:9+181-r4173-1", errorProneCheckApi: "com.google.errorprone:error_prone_check_api:${versions.errorProne}", errorProneTestHelpers: "com.google.errorprone:error_prone_test_helpers:${versions.errorProne}",