Restructure buildSrc libraries

Make public library a real library to make IJ happy.

Test: Gradle sync in studio, buildSrc/private/ now resolves
Bug: 202177757
Change-Id: I98242e4c3c398d3350b45570a2556a25bc8662bb
diff --git a/buildSrc-tests/build.gradle b/buildSrc-tests/build.gradle
index 7c9ca1e..bcab956 100644
--- a/buildSrc-tests/build.gradle
+++ b/buildSrc-tests/build.gradle
@@ -28,6 +28,7 @@
     implementation(gradleApi())
     testImplementation(libs.junit)
     implementation(project.files(new File(BuildServerConfigurationKt.getRootOutDirectory(project), "buildSrc/private/build/libs/private.jar")))
+    implementation(project.files(new File(BuildServerConfigurationKt.getRootOutDirectory(project), "buildSrc/public/build/libs/public.jar")))
 }
 
 // Also do style checking of the buildSrc project from within this project too
diff --git a/buildSrc/plugins/build.gradle b/buildSrc/plugins/build.gradle
index 6779c30..21d6482 100644
--- a/buildSrc/plugins/build.gradle
+++ b/buildSrc/plugins/build.gradle
@@ -1 +1,7 @@
+apply plugin: "kotlin"
+
+dependencies {
+    implementation(project(":public"))
+}
+
 apply from: "../shared.gradle"
diff --git a/buildSrc/private/build.gradle b/buildSrc/private/build.gradle
index 6779c30..21d6482 100644
--- a/buildSrc/private/build.gradle
+++ b/buildSrc/private/build.gradle
@@ -1 +1,7 @@
+apply plugin: "kotlin"
+
+dependencies {
+    implementation(project(":public"))
+}
+
 apply from: "../shared.gradle"
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/checkapi/CheckApi.kt b/buildSrc/private/src/main/kotlin/androidx/build/checkapi/CheckApi.kt
index 1063c86..d451c00 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/checkapi/CheckApi.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/checkapi/CheckApi.kt
@@ -69,7 +69,7 @@
     }
     var extra = ""
     if (version.patch == 0 && version.extra != null) {
-        extra = version.extra
+        extra = version.extra!!
     }
     return Version(version.major, version.minor, 0, extra)
 }
diff --git a/buildSrc/public/build.gradle b/buildSrc/public/build.gradle
new file mode 100644
index 0000000..7ffed50
--- /dev/null
+++ b/buildSrc/public/build.gradle
@@ -0,0 +1,31 @@
+apply plugin: "java-gradle-plugin"
+
+apply from: "../shared.gradle"
+
+sourceSets {
+    main.java.srcDirs += "${supportRootFolder}/benchmark/gradle-plugin/src/main/kotlin"
+    main.resources.srcDirs += "${supportRootFolder}/benchmark/gradle-plugin/src/main/resources"
+
+    main.java.srcDirs += "${supportRootFolder}/inspection/inspection-gradle-plugin/src/main/kotlin"
+    main.resources.srcDirs += "${supportRootFolder}/inspection/inspection-gradle-plugin/src/main" +
+            "/resources"
+
+    main.java.srcDirs += "${supportRootFolder}/compose/material/material/icons/generator/src/main" +
+            "/kotlin"
+
+    main.java.srcDirs += "${supportRootFolder}/glance/glance-appwidget/glance-layout-generator/" +
+            "src/main/kotlin"
+}
+
+gradlePlugin {
+    plugins {
+        benchmark {
+            id = "androidx.benchmark"
+            implementationClass = "androidx.benchmark.gradle.BenchmarkPlugin"
+        }
+        inspection {
+            id = "androidx.inspection"
+            implementationClass = "androidx.inspection.gradle.InspectionPlugin"
+        }
+    }
+}
diff --git a/buildSrc/public/src/main/kotlin/androidx/build/dependencies/Dependencies.kt b/buildSrc/public/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
index b55ed1a..5416425 100644
--- a/buildSrc/public/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
+++ b/buildSrc/public/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
@@ -16,15 +16,15 @@
 
 package androidx.build.dependencies
 
-internal lateinit var guavaVersion: String
+lateinit var guavaVersion: String
 val GUAVA_VERSION get() = guavaVersion
 
-internal lateinit var kspVersion: String
+lateinit var kspVersion: String
 val KSP_VERSION get() = kspVersion
 
-internal lateinit var kotlinVersion: String
+lateinit var kotlinVersion: String
 val KOTLIN_VERSION get() = kotlinVersion
 val KOTLIN_STDLIB get() = "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
 
-internal lateinit var agpVersion: String
+lateinit var agpVersion: String
 val AGP_LATEST get() = "com.android.tools.build:gradle:$agpVersion"
diff --git a/buildSrc/settings.gradle b/buildSrc/settings.gradle
index 3d32906..35d9960 100644
--- a/buildSrc/settings.gradle
+++ b/buildSrc/settings.gradle
@@ -17,6 +17,7 @@
 include ":jetpad-integration"
 include ":plugins"
 include ":private"
+include ":public"
 
 enableFeaturePreview("VERSION_CATALOGS")
 
diff --git a/buildSrc/shared.gradle b/buildSrc/shared.gradle
index 5b2e9ed..9e1c0c8 100644
--- a/buildSrc/shared.gradle
+++ b/buildSrc/shared.gradle
@@ -51,40 +51,6 @@
   conf.exclude(group:"org.jetbrains.dokka", module:"dokka-core")
 }
 
-apply plugin: "java-gradle-plugin"
-
-sourceSets {
-    main.java.srcDirs += "../public/src/main/kotlin"
-    main.resources.srcDirs += "../public/src/main/resources"
-
-
-    main.java.srcDirs += "${supportRootFolder}/benchmark/gradle-plugin/src/main/kotlin"
-    main.resources.srcDirs += "${supportRootFolder}/benchmark/gradle-plugin/src/main/resources"
-
-    main.java.srcDirs += "${supportRootFolder}/inspection/inspection-gradle-plugin/src/main/kotlin"
-    main.resources.srcDirs += "${supportRootFolder}/inspection/inspection-gradle-plugin/src/main" +
-            "/resources"
-
-    main.java.srcDirs += "${supportRootFolder}/compose/material/material/icons/generator/src/main" +
-            "/kotlin"
-
-    main.java.srcDirs += "${supportRootFolder}/glance/glance-appwidget/glance-layout-generator/" +
-            "src/main/kotlin"
-}
-
-gradlePlugin {
-    plugins {
-        benchmark {
-            id = "androidx.benchmark"
-            implementationClass = "androidx.benchmark.gradle.BenchmarkPlugin"
-        }
-        inspection {
-            id = "androidx.inspection"
-            implementationClass = "androidx.inspection.gradle.InspectionPlugin"
-        }
-    }
-}
-
 // Saves configuration into destFile
 // Each line of destFile will be the absolute filepath of one of the files in configuration
 def saveConfigurationResolution(configuration, destFile) {