diff --git a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
index 5c12e771e79..46433de733e 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/AndroidXImplPlugin.kt
@@ -736,7 +736,6 @@ abstract class AndroidXImplPlugin @Inject constructor() : Plugin<Project> {
             project.addToBuildOnServer("lint")
             // Created to be consumed by docs-tip-of-tree
             project.configurations.register("androidIntermediates") {
-                it.isVisible = false
                 it.isCanBeResolved = false
                 it.attributes.attribute(
                     Usage.USAGE_ATTRIBUTE,
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt b/buildSrc/private/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt
index 7dc2038514e..ca9119d7916 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/ErrorProneConfiguration.kt
@@ -102,7 +102,6 @@ class CommandLineArgumentProviderAdapter(@get:Input val arguments: Provider<Map<
 private fun Project.createErrorProneConfiguration(): Configuration =
     configurations.findByName(ERROR_PRONE_CONFIGURATION)
         ?: configurations.create(ERROR_PRONE_CONFIGURATION).apply {
-            isVisible = false
             isCanBeConsumed = false
             isCanBeResolved = true
             exclude(group = "com.google.errorprone", module = "javac")
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/Samples.kt b/buildSrc/private/src/main/kotlin/androidx/build/Samples.kt
index 7e79c6847e3..b4b3a4181d1 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/Samples.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/Samples.kt
@@ -63,7 +63,6 @@ internal fun Project.configureSamplesProject() {
 
     val samplesConfiguration =
         project.configurations.register("samples") {
-            it.isVisible = false
             it.isCanBeConsumed = false
             it.isCanBeResolved = true
             it.setResolveSources()
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiLevels.kt b/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiLevels.kt
index 394b666b21d..292ec6240aa 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiLevels.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/metalava/GenerateApiLevels.kt
@@ -94,7 +94,6 @@ internal fun Project.registerVersionMetadataComponent(
     // which has an enforced timing when we are allowed to add new artifacts
     // https://github.com/gradle/gradle/issues/34570
     configurations.create("libraryVersionMetadata") { configuration ->
-        configuration.isVisible = false
         configuration.isCanBeResolved = false
 
         configuration.attributes.attribute(Usage.USAGE_ATTRIBUTE, project.versionMetadataUsage)
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/sources/SourceJarTaskHelper.kt b/buildSrc/private/src/main/kotlin/androidx/build/sources/SourceJarTaskHelper.kt
index ef2719f3304..5da7c2498b0 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/sources/SourceJarTaskHelper.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/sources/SourceJarTaskHelper.kt
@@ -196,7 +196,6 @@ private fun Project.registerSourcesVariant(
     usage: Usage,
 ) =
     configurations.create(configurationName) { gradleVariant ->
-        gradleVariant.isVisible = false
         gradleVariant.isCanBeResolved = false
         gradleVariant.attributes.attribute(Usage.USAGE_ATTRIBUTE, usage)
         gradleVariant.attributes.attribute(
