Ignore VisibleForTests in all test libraries
In test libraries, the lint warning that you shouldn't use code
annotated with @VisibleForTests is a false positive. While the code is
technically production code, it should only be run as test code.
This CL introduces two new library types: PUBLISHED_TEST_LIBRARY and
INTERNAL_TEST_LIBRARY. The first one has the same properties as
PUBLISHED_LIBRARY and the latter one has the same properties as UNSET.
The difference is that for these test library types, the
"VisibleForTests" lint warning is disabled instead of fatal.
I didn't change the libary type of the following libraries, mostly
because they did not have a type (so UNSET), but did have publish set to
SNAPSHOT_AND_RELEASE (with some exceptions, e.g. LINT libraries).
Setting these libraries to INTERNAL_TEST_LIBRARY would be incorrect
(they are not internal), but setting them to PUBLISHED_TEST_LIBRARY
**may** affect how they are published.
* arch/core/core-testing
* camera/camera-camera2-pipe-testing
* compose/lint/common-test
* core/core-animation-testing
* enterprise/enterprise-feedback-testing
* fragment/fragment-testing
* fragment/fragment-testing-lint
* lifecycle/lifecycle-runtime-testing
* mediarouter/mediarouter-testing
* navigation/navigation-testing
* room/room-compiler-processing-testing
* room/room-testing
* wear/wear-input-testing
* wear/tiles/tiles-testing
* work/work-testing
Fix: 207828221
Test: ./gradlew bOS
Change-Id: I3d7a1cb601bb95ebbad319b1dc739e827a8ece8f
diff --git a/testutils/testutils-appcompat/build.gradle b/testutils/testutils-appcompat/build.gradle
index ee9a25e..832c172 100644
--- a/testutils/testutils-appcompat/build.gradle
+++ b/testutils/testutils-appcompat/build.gradle
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+import androidx.build.LibraryType
+
plugins {
id("AndroidXPlugin")
id("com.android.library")
@@ -36,3 +38,7 @@
disable "InvalidPackage" // Lint is unhappy about junit package
}
}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}
diff --git a/testutils/testutils-common/build.gradle b/testutils/testutils-common/build.gradle
index dccc2a9..19480c5 100644
--- a/testutils/testutils-common/build.gradle
+++ b/testutils/testutils-common/build.gradle
@@ -16,6 +16,8 @@
* limitations under the License.
*/
+import androidx.build.LibraryType
+
plugins {
id("AndroidXPlugin")
id("kotlin")
@@ -32,3 +34,7 @@
freeCompilerArgs += ["-Xopt-in=kotlin.RequiresOptIn"]
}
}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}
diff --git a/testutils/testutils-espresso/build.gradle b/testutils/testutils-espresso/build.gradle
index 8ac3572..db5fcf70 100644
--- a/testutils/testutils-espresso/build.gradle
+++ b/testutils/testutils-espresso/build.gradle
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+import androidx.build.LibraryType
+
plugins {
id("AndroidXPlugin")
id("com.android.library")
@@ -33,3 +35,7 @@
disable "InvalidPackage" // Lint is unhappy about junit package
}
}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}
diff --git a/testutils/testutils-gradle-plugin/build.gradle b/testutils/testutils-gradle-plugin/build.gradle
index 127a4bf..e8d7ab2 100644
--- a/testutils/testutils-gradle-plugin/build.gradle
+++ b/testutils/testutils-gradle-plugin/build.gradle
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+import androidx.build.LibraryType
+
plugins {
id("AndroidXPlugin")
id("kotlin")
@@ -25,3 +27,7 @@
implementation(libs.testCore)
implementation(libs.testRules)
}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}
diff --git a/testutils/testutils-ktx/build.gradle b/testutils/testutils-ktx/build.gradle
index eda09a6..1998abd 100644
--- a/testutils/testutils-ktx/build.gradle
+++ b/testutils/testutils-ktx/build.gradle
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+import androidx.build.LibraryType
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
@@ -34,3 +35,7 @@
freeCompilerArgs += ["-Xopt-in=kotlin.RequiresOptIn"]
}
}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}
diff --git a/testutils/testutils-macrobenchmark/build.gradle b/testutils/testutils-macrobenchmark/build.gradle
index f698e9a..a239cb8 100644
--- a/testutils/testutils-macrobenchmark/build.gradle
+++ b/testutils/testutils-macrobenchmark/build.gradle
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+import androidx.build.LibraryType
+
plugins {
id("AndroidXPlugin")
id("com.android.library")
@@ -32,3 +34,7 @@
minSdkVersion 23
}
}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}
diff --git a/testutils/testutils-mockito/build.gradle b/testutils/testutils-mockito/build.gradle
index 40d784c..36831bb 100644
--- a/testutils/testutils-mockito/build.gradle
+++ b/testutils/testutils-mockito/build.gradle
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+import androidx.build.LibraryType
+
plugins {
id("AndroidXPlugin")
id("com.android.library")
@@ -30,4 +32,8 @@
lintOptions {
disable "InvalidPackage" // Lint is unhappy about java.lang.instrument package
}
-}
\ No newline at end of file
+}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}
diff --git a/testutils/testutils-navigation/build.gradle b/testutils/testutils-navigation/build.gradle
index 4123407..78d5517 100644
--- a/testutils/testutils-navigation/build.gradle
+++ b/testutils/testutils-navigation/build.gradle
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+import androidx.build.LibraryType
+
plugins {
id("AndroidXPlugin")
id("com.android.library")
@@ -35,3 +37,7 @@
androidTestImplementation(libs.espressoCore)
androidTestImplementation(libs.truth)
}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}
diff --git a/testutils/testutils-paging/build.gradle b/testutils/testutils-paging/build.gradle
index 7287ed7..3be7e842 100644
--- a/testutils/testutils-paging/build.gradle
+++ b/testutils/testutils-paging/build.gradle
@@ -15,6 +15,7 @@
*/
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
+import androidx.build.LibraryType
plugins {
id("AndroidXPlugin")
@@ -34,3 +35,7 @@
freeCompilerArgs += ["-Xopt-in=kotlin.RequiresOptIn"]
}
}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}
diff --git a/testutils/testutils-runtime/build.gradle b/testutils/testutils-runtime/build.gradle
index 795f410..310a3ab 100644
--- a/testutils/testutils-runtime/build.gradle
+++ b/testutils/testutils-runtime/build.gradle
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+import androidx.build.LibraryType
+
plugins {
id("AndroidXPlugin")
id("com.android.library")
@@ -37,3 +39,7 @@
testInstrumentationRunner "androidx.testutils.ActivityRecyclingAndroidJUnitRunner"
}
}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}
diff --git a/testutils/testutils-truth/build.gradle b/testutils/testutils-truth/build.gradle
index 2c984ec..1e46a9e 100644
--- a/testutils/testutils-truth/build.gradle
+++ b/testutils/testutils-truth/build.gradle
@@ -14,6 +14,8 @@
* limitations under the License.
*/
+import androidx.build.LibraryType
+
plugins {
id("AndroidXPlugin")
id("kotlin")
@@ -23,3 +25,7 @@
api(libs.truth)
api(libs.kotlinStdlib)
}
+
+androidx {
+ type = LibraryType.INTERNAL_TEST_LIBRARY
+}