From ffd9edda01f12541178efac621c248caf4705ecd Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Wed, 21 Nov 2018 21:17:40 -0800 Subject: [PATCH 1/3] Opportunistic fix package for error prone artifacts This has been bothering me, and moving while we're at it. Not breaking since it's expected to be pick up via ServiceLoader and not a dependency --- .../prone/checker => errorprone}/UseAutoDispose.java | 2 +- .../ComponentWithLifecycle.java} | 4 ++-- .../prone/checker => errorprone}/UseAutoDisposeTest.java | 8 ++++---- .../UseAutoDisposeCustomClassPositiveCases.java | 5 +++-- .../UseAutoDisposeDefaultClassPositiveCases.java | 3 ++- .../UseAutoDisposeNegativeCases.java | 3 ++- 6 files changed, 14 insertions(+), 11 deletions(-) rename static-analysis/autodispose-error-prone-checker/src/main/java/com/uber/autodispose/{error/prone/checker => errorprone}/UseAutoDispose.java (99%) rename static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/{error/prone/checker/ComponentWithLifeCycle.java => errorprone/ComponentWithLifecycle.java} (87%) rename static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/{error/prone/checker => errorprone}/UseAutoDisposeTest.java (87%) rename static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/{error/prone/checker => errorprone}/UseAutoDisposeCustomClassPositiveCases.java (94%) rename static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/{error/prone/checker => errorprone}/UseAutoDisposeDefaultClassPositiveCases.java (97%) rename static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/{error/prone/checker => errorprone}/UseAutoDisposeNegativeCases.java (97%) diff --git a/static-analysis/autodispose-error-prone-checker/src/main/java/com/uber/autodispose/error/prone/checker/UseAutoDispose.java b/static-analysis/autodispose-error-prone-checker/src/main/java/com/uber/autodispose/errorprone/UseAutoDispose.java similarity index 99% rename from static-analysis/autodispose-error-prone-checker/src/main/java/com/uber/autodispose/error/prone/checker/UseAutoDispose.java rename to static-analysis/autodispose-error-prone-checker/src/main/java/com/uber/autodispose/errorprone/UseAutoDispose.java index edc83f144..0a55a66c7 100644 --- a/static-analysis/autodispose-error-prone-checker/src/main/java/com/uber/autodispose/error/prone/checker/UseAutoDispose.java +++ b/static-analysis/autodispose-error-prone-checker/src/main/java/com/uber/autodispose/errorprone/UseAutoDispose.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.uber.autodispose.error.prone.checker; +package com.uber.autodispose.errorprone; import com.google.auto.service.AutoService; import com.google.common.collect.ImmutableList; diff --git a/static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/error/prone/checker/ComponentWithLifeCycle.java b/static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/errorprone/ComponentWithLifecycle.java similarity index 87% rename from static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/error/prone/checker/ComponentWithLifeCycle.java rename to static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/errorprone/ComponentWithLifecycle.java index 673ff6475..742fc6142 100644 --- a/static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/error/prone/checker/ComponentWithLifeCycle.java +++ b/static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/errorprone/ComponentWithLifecycle.java @@ -14,6 +14,6 @@ * limitations under the License. */ -package com.uber.autodispose.error.prone.checker; +package com.uber.autodispose.errorprone; -public class ComponentWithLifeCycle {} +public class ComponentWithLifecycle {} diff --git a/static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/error/prone/checker/UseAutoDisposeTest.java b/static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/errorprone/UseAutoDisposeTest.java similarity index 87% rename from static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/error/prone/checker/UseAutoDisposeTest.java rename to static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/errorprone/UseAutoDisposeTest.java index b76d13058..0dc61c703 100644 --- a/static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/error/prone/checker/UseAutoDisposeTest.java +++ b/static-analysis/autodispose-error-prone-checker/src/test/java/com/uber/autodispose/errorprone/UseAutoDisposeTest.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.uber.autodispose.error.prone.checker; +package com.uber.autodispose.errorprone; +import com.google.common.collect.ImmutableList; import com.google.errorprone.CompilationTestHelper; -import java.util.Collections; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -42,8 +42,8 @@ public class UseAutoDisposeTest { } @Test public void test_autodisposePositiveCaseswithCustomClass() { - compilationHelper.setArgs(Collections.singletonList( - "-XepOpt:ClassesWithScope" + "=com.uber.autodispose.error.prone.checker.ComponentWithLifeCycle")); + compilationHelper.setArgs(ImmutableList.of("-XepOpt:ClassesWithScope" + + "=com.uber.autodispose.errorprone.ComponentWithLifecycle")); compilationHelper.addSourceFile("UseAutoDisposeCustomClassPositiveCases.java") .doTest(); } diff --git a/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/error/prone/checker/UseAutoDisposeCustomClassPositiveCases.java b/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeCustomClassPositiveCases.java similarity index 94% rename from static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/error/prone/checker/UseAutoDisposeCustomClassPositiveCases.java rename to static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeCustomClassPositiveCases.java index a1ef8cd3e..e3302fb3f 100644 --- a/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/error/prone/checker/UseAutoDisposeCustomClassPositiveCases.java +++ b/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeCustomClassPositiveCases.java @@ -14,8 +14,9 @@ * limitations under the License. */ -package com.uber.autodispose.error.prone.checker; +package com.uber.autodispose.errorprone; +import com.uber.autodispose.errorprone.ComponentWithLifecycle; import io.reactivex.Completable; import io.reactivex.Flowable; import io.reactivex.Maybe; @@ -23,7 +24,7 @@ import io.reactivex.Single; import org.reactivestreams.Subscriber; -public class UseAutoDisposeCustomClassPositiveCases extends ComponentWithLifeCycle { +public class UseAutoDisposeCustomClassPositiveCases extends ComponentWithLifecycle { public void observable_subscribeWithoutAutoDispose() { Observable.empty() // BUG: Diagnostic contains: Always apply an AutoDispose scope before subscribing within defined scoped elements. diff --git a/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/error/prone/checker/UseAutoDisposeDefaultClassPositiveCases.java b/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCases.java similarity index 97% rename from static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/error/prone/checker/UseAutoDisposeDefaultClassPositiveCases.java rename to static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCases.java index e3743b02b..035aa60b6 100644 --- a/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/error/prone/checker/UseAutoDisposeDefaultClassPositiveCases.java +++ b/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeDefaultClassPositiveCases.java @@ -14,8 +14,9 @@ * limitations under the License. */ -package com.uber.autodispose.error.prone.checker; +package com.uber.autodispose.errorprone; +import com.uber.autodispose.errorprone.UseAutoDispose; import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; diff --git a/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/error/prone/checker/UseAutoDisposeNegativeCases.java b/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCases.java similarity index 97% rename from static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/error/prone/checker/UseAutoDisposeNegativeCases.java rename to static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCases.java index 220903e41..eb6a5ec16 100644 --- a/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/error/prone/checker/UseAutoDisposeNegativeCases.java +++ b/static-analysis/autodispose-error-prone-checker/src/test/resources/com/uber/autodispose/errorprone/UseAutoDisposeNegativeCases.java @@ -14,9 +14,10 @@ * limitations under the License. */ -package com.uber.autodispose.error.prone.checker; +package com.uber.autodispose.errorprone; import com.uber.autodispose.AutoDispose; +import com.uber.autodispose.errorprone.UseAutoDispose; import com.uber.autodispose.lifecycle.CorrespondingEventsFunction; import com.uber.autodispose.lifecycle.LifecycleEndedException; import com.uber.autodispose.lifecycle.LifecycleScopeProvider; From 61076db7dc11ab20a5ab1b7842c34e6045fdba3b Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Wed, 21 Nov 2018 21:17:58 -0800 Subject: [PATCH 2/3] Add support for AUTOMATIC_MODULE_NAME in mvn-gradle-push --- gradle/gradle-mvn-push.gradle | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gradle/gradle-mvn-push.gradle b/gradle/gradle-mvn-push.gradle index 1803ed30e..dcfea8e6c 100755 --- a/gradle/gradle-mvn-push.gradle +++ b/gradle/gradle-mvn-push.gradle @@ -193,6 +193,14 @@ afterEvaluate { project -> sign configurations.archives } + if (hasProperty("AUTOMATIC_MODULE_NAME")) { + jar { + manifest { + attributes('Automatic-Module-Name': properties.get("AUTOMATIC_MODULE_NAME")) + } + } + } + if (project.getPlugins().hasPlugin('com.android.application') || project.getPlugins(). hasPlugin('com.android.library')) { task install(type: Upload, dependsOn: assemble) { From 1fb632c1d23aff2db6d9a462cdd223c656f3041f Mon Sep 17 00:00:00 2001 From: Zac Sweers Date: Wed, 21 Nov 2018 21:18:21 -0800 Subject: [PATCH 3/3] Add AUTOMATIC_MODULE_NAME to java artifacts --- .../autodispose-android-archcomponents-test/gradle.properties | 1 + android/autodispose-android-archcomponents/gradle.properties | 1 + android/autodispose-android/gradle.properties | 1 + autodispose-rxlifecycle/gradle.properties | 1 + autodispose/gradle.properties | 1 + lifecycle/autodispose-lifecycle-jdk8/gradle.properties | 1 + lifecycle/autodispose-lifecycle/gradle.properties | 1 + .../autodispose-error-prone-checker/gradle.properties | 1 + 8 files changed, 8 insertions(+) diff --git a/android/autodispose-android-archcomponents-test/gradle.properties b/android/autodispose-android-archcomponents-test/gradle.properties index c23c23b9f..2059f89a5 100755 --- a/android/autodispose-android-archcomponents-test/gradle.properties +++ b/android/autodispose-android-archcomponents-test/gradle.properties @@ -17,3 +17,4 @@ POM_NAME=AutoDispose (Android Architecture Components Test Extensions) POM_ARTIFACT_ID=autodispose-android-archcomponents-test POM_PACKAGING=aar +AUTOMATIC_MODULE_NAME=com.uber.autodispose.android.lifecycle.test diff --git a/android/autodispose-android-archcomponents/gradle.properties b/android/autodispose-android-archcomponents/gradle.properties index 3a7ddbafc..ea80adcfe 100755 --- a/android/autodispose-android-archcomponents/gradle.properties +++ b/android/autodispose-android-archcomponents/gradle.properties @@ -17,3 +17,4 @@ POM_NAME=AutoDispose (Android Architecture Components Extensions) POM_ARTIFACT_ID=autodispose-android-archcomponents POM_PACKAGING=aar +AUTOMATIC_MODULE_NAME=com.uber.autodispose.android.lifecycle diff --git a/android/autodispose-android/gradle.properties b/android/autodispose-android/gradle.properties index 44ef39235..e2ee72930 100755 --- a/android/autodispose-android/gradle.properties +++ b/android/autodispose-android/gradle.properties @@ -17,3 +17,4 @@ POM_NAME=AutoDispose (Android Extensions) POM_ARTIFACT_ID=autodispose-android POM_PACKAGING=aar +AUTOMATIC_MODULE_NAME=com.uber.autodispose.android diff --git a/autodispose-rxlifecycle/gradle.properties b/autodispose-rxlifecycle/gradle.properties index d1f035f8d..73e23760e 100755 --- a/autodispose-rxlifecycle/gradle.properties +++ b/autodispose-rxlifecycle/gradle.properties @@ -17,3 +17,4 @@ POM_NAME=AutoDispose (RxLifecycle Interop) POM_ARTIFACT_ID=autodispose-rxlifecycle POM_PACKAGING=jar +AUTOMATIC_MODULE_NAME=com.uber.autodispose.rxlifecycle diff --git a/autodispose/gradle.properties b/autodispose/gradle.properties index dec62429b..d0be7b585 100755 --- a/autodispose/gradle.properties +++ b/autodispose/gradle.properties @@ -17,3 +17,4 @@ POM_NAME=AutoDispose POM_ARTIFACT_ID=autodispose POM_PACKAGING=jar +AUTOMATIC_MODULE_NAME=com.uber.autodispose diff --git a/lifecycle/autodispose-lifecycle-jdk8/gradle.properties b/lifecycle/autodispose-lifecycle-jdk8/gradle.properties index 2be8b0507..1e4d59f79 100755 --- a/lifecycle/autodispose-lifecycle-jdk8/gradle.properties +++ b/lifecycle/autodispose-lifecycle-jdk8/gradle.properties @@ -17,3 +17,4 @@ POM_NAME=AutoDispose (Lifecycle JDK8 Extensions) POM_ARTIFACT_ID=autodispose-lifecycle-jdk8 POM_PACKAGING=jar +AUTOMATIC_MODULE_NAME=com.uber.autodispose.lifecycle.jdk8 diff --git a/lifecycle/autodispose-lifecycle/gradle.properties b/lifecycle/autodispose-lifecycle/gradle.properties index 2a83d9711..b1aa4fb50 100755 --- a/lifecycle/autodispose-lifecycle/gradle.properties +++ b/lifecycle/autodispose-lifecycle/gradle.properties @@ -17,3 +17,4 @@ POM_NAME=AutoDispose (Lifecycle) POM_ARTIFACT_ID=autodispose-lifecycle POM_PACKAGING=jar +AUTOMATIC_MODULE_NAME=com.uber.autodispose.lifecycle diff --git a/static-analysis/autodispose-error-prone-checker/gradle.properties b/static-analysis/autodispose-error-prone-checker/gradle.properties index e254e1781..9480fcc04 100644 --- a/static-analysis/autodispose-error-prone-checker/gradle.properties +++ b/static-analysis/autodispose-error-prone-checker/gradle.properties @@ -17,3 +17,4 @@ POM_NAME=AutoDispose Error-Prone Checker POM_ARTIFACT_ID=autodispose-error-prone-checker POM_PACKAGING=jar +AUTOMATIC_MODULE_NAME=com.uber.autodispose.errorprone