From 7e09cee3281b9d160cfb087a5f6b0c4dc1c76b09 Mon Sep 17 00:00:00 2001 From: Grant Oakley Date: Wed, 22 Sep 2021 16:22:13 -0700 Subject: [PATCH] Flip shareTestComponents flag to default to true. Update documentation to match. RELNOTES=Changes shareTestComponents default value. This is a breaking change for some tests due to changed visibility requirements. PiperOrigin-RevId: 398356434 --- .../processor/internal/HiltCompilerOptions.java | 3 ++- javatests/dagger/hilt/android/BUILD | 2 ++ javatests/dagger/hilt/android/ModuleTest.java | 2 +- .../dagger/hilt/android/MultiTestRoot1Test.java | 15 +++++++++------ .../dagger/hilt/android/MultiTestRoot2Test.java | 15 +++++++++------ .../android/testing/HiltAndroidRuleTestApp.java | 2 +- .../internal/root/RootFileFormatterTest.java | 1 + 7 files changed, 25 insertions(+), 15 deletions(-) diff --git a/java/dagger/hilt/processor/internal/HiltCompilerOptions.java b/java/dagger/hilt/processor/internal/HiltCompilerOptions.java index 861b3b83bd2..f92ae861587 100644 --- a/java/dagger/hilt/processor/internal/HiltCompilerOptions.java +++ b/java/dagger/hilt/processor/internal/HiltCompilerOptions.java @@ -108,7 +108,8 @@ private enum BooleanOption { DISABLE_MODULES_HAVE_INSTALL_IN_CHECK("disableModulesHaveInstallInCheck", false), - SHARE_TEST_COMPONENTS("shareTestComponents", false), + SHARE_TEST_COMPONENTS( + "shareTestComponents", true), USE_FRAGMENT_GET_CONTEXT_FIX("android.useFragmentGetContextFix", false); diff --git a/javatests/dagger/hilt/android/BUILD b/javatests/dagger/hilt/android/BUILD index abb131b66a1..a6f9399bba9 100644 --- a/javatests/dagger/hilt/android/BUILD +++ b/javatests/dagger/hilt/android/BUILD @@ -30,6 +30,7 @@ android_library( "MultiTestRootExternalModules.java", ], exports_manifest = 1, + javacopts = ["-Adagger.hilt.shareTestComponents=true"], manifest = "AndroidManifest.xml", deps = [ "//:android_local_test_exports", @@ -169,6 +170,7 @@ android_local_test( name = "EarlyEntryPointNoEntryPointsDefinedTest", size = "small", srcs = ["EarlyEntryPointNoEntryPointsDefinedTest.java"], + javacopts = ["-Adagger.hilt.shareTestComponents=false"], # TODO(b/200821875): Remove explicit flag manifest_values = { "minSdkVersion": "14", }, diff --git a/javatests/dagger/hilt/android/ModuleTest.java b/javatests/dagger/hilt/android/ModuleTest.java index 0dadfe0ec8a..2a246238434 100644 --- a/javatests/dagger/hilt/android/ModuleTest.java +++ b/javatests/dagger/hilt/android/ModuleTest.java @@ -79,7 +79,7 @@ static Dep2 provide() { // constructor exists. @Module @InstallIn(SingletonComponent.class) - static final class TestModule3 { + public static final class TestModule3 { TestModule3() { this(""); } diff --git a/javatests/dagger/hilt/android/MultiTestRoot1Test.java b/javatests/dagger/hilt/android/MultiTestRoot1Test.java index 49c03bc75d5..36719b45eac 100644 --- a/javatests/dagger/hilt/android/MultiTestRoot1Test.java +++ b/javatests/dagger/hilt/android/MultiTestRoot1Test.java @@ -150,7 +150,8 @@ static class Foo { } } - static class Bar { + // Must be public due to b/183636779 + public static class Bar { final String value; Bar(String value) { @@ -166,7 +167,8 @@ static class Baz { } } - static class Qux {} + // Must be public due to b/183636779 + public static class Qux {} @Module @InstallIn(SingletonComponent.class) @@ -277,10 +279,11 @@ public void testMissingMultiTestRoot2EntryPoint() throws Exception { ClassCastException.class, () -> EntryPoints.get(getApplicationContext(), MultiTestRoot2Test.BarEntryPoint.class)); assertThat(exception) - .hasMessageThat() - .isEqualTo( - "Cannot cast dagger.hilt.android.DaggerMultiTestRoot1Test_HiltComponents_SingletonC" - + " to dagger.hilt.android.MultiTestRoot2Test$BarEntryPoint"); + .hasMessageThat() + .isEqualTo( + "Cannot cast dagger.hilt.android.internal.testing.root." + + "DaggerMultiTestRoot1Test_HiltComponents_SingletonC" + + " to dagger.hilt.android.MultiTestRoot2Test$BarEntryPoint"); } @Test diff --git a/javatests/dagger/hilt/android/MultiTestRoot2Test.java b/javatests/dagger/hilt/android/MultiTestRoot2Test.java index 39aecfa2e95..ec660c42940 100644 --- a/javatests/dagger/hilt/android/MultiTestRoot2Test.java +++ b/javatests/dagger/hilt/android/MultiTestRoot2Test.java @@ -121,7 +121,8 @@ static class Foo { } } - static class Bar { + // Must be public due to b/183636779 + public static class Bar { final String value; Bar(String value) { @@ -137,7 +138,8 @@ static class Baz { } } - static class Qux {} + // Must be public due to b/183636779 + public static class Qux {} @Module @InstallIn(SingletonComponent.class) @@ -255,10 +257,11 @@ public void testMissingMultiTestRoot1EntryPoint() throws Exception { ClassCastException.class, () -> EntryPoints.get(getApplicationContext(), MultiTestRoot1Test.BarEntryPoint.class)); assertThat(exception) - .hasMessageThat() - .isEqualTo( - "Cannot cast dagger.hilt.android.DaggerMultiTestRoot2Test_HiltComponents_SingletonC" - + " to dagger.hilt.android.MultiTestRoot1Test$BarEntryPoint"); + .hasMessageThat() + .isEqualTo( + "Cannot cast dagger.hilt.android.internal.testing.root." + + "DaggerMultiTestRoot2Test_HiltComponents_SingletonC" + + " to dagger.hilt.android.MultiTestRoot1Test$BarEntryPoint"); } @Test diff --git a/javatests/dagger/hilt/android/testing/HiltAndroidRuleTestApp.java b/javatests/dagger/hilt/android/testing/HiltAndroidRuleTestApp.java index 9ec7d0869f7..9ec5d751a92 100644 --- a/javatests/dagger/hilt/android/testing/HiltAndroidRuleTestApp.java +++ b/javatests/dagger/hilt/android/testing/HiltAndroidRuleTestApp.java @@ -21,4 +21,4 @@ /** A Hilt application used to test errors in {@link HiltAndroidRuleTest}. */ @HiltAndroidApp(Application.class) -final class HiltAndroidRuleTestApp extends Hilt_HiltAndroidRuleTestApp {} +public final class HiltAndroidRuleTestApp extends Hilt_HiltAndroidRuleTestApp {} diff --git a/javatests/dagger/hilt/processor/internal/root/RootFileFormatterTest.java b/javatests/dagger/hilt/processor/internal/root/RootFileFormatterTest.java index 57d69d6a50c..53ef42c9c96 100644 --- a/javatests/dagger/hilt/processor/internal/root/RootFileFormatterTest.java +++ b/javatests/dagger/hilt/processor/internal/root/RootFileFormatterTest.java @@ -83,6 +83,7 @@ public void testProdComponents() { public void testTestComponents() { Compilation compilation = compiler() + .withOptions("-Adagger.hilt.shareTestComponents=false") .compile( JavaFileObjects.forSourceLines( "test.MyTest",