Package classes annotated with GeneratedPublicApi
Test: ./gradlew :privacysandbox:tools:tools-{apigenerator,apicompiler,apipackager,core}:test
Bug: 259253793
Change-Id: I01ce2fd792336ed1e415ec8951c16bec7c8f1866
diff --git a/privacysandbox/tools/tools-apipackager/src/main/java/androidx/privacysandbox/tools/apipackager/AnnotationInspector.kt b/privacysandbox/tools/tools-apipackager/src/main/java/androidx/privacysandbox/tools/apipackager/AnnotationInspector.kt
index 5d8437f..c7020f3 100644
--- a/privacysandbox/tools/tools-apipackager/src/main/java/androidx/privacysandbox/tools/apipackager/AnnotationInspector.kt
+++ b/privacysandbox/tools/tools-apipackager/src/main/java/androidx/privacysandbox/tools/apipackager/AnnotationInspector.kt
@@ -20,6 +20,7 @@
import androidx.privacysandbox.tools.PrivacySandboxInterface
import androidx.privacysandbox.tools.PrivacySandboxService
import androidx.privacysandbox.tools.PrivacySandboxValue
+import androidx.privacysandbox.tools.core.GeneratedPublicApi
import java.nio.file.Path
import kotlin.io.path.readBytes
import org.objectweb.asm.AnnotationVisitor
@@ -34,6 +35,7 @@
PrivacySandboxInterface::class,
PrivacySandboxService::class,
PrivacySandboxValue::class,
+ GeneratedPublicApi::class,
)
fun hasPrivacySandboxAnnotation(classFile: Path): Boolean {
diff --git a/privacysandbox/tools/tools-apipackager/src/test/java/androidx/privacysandbox/tools/apipackager/PrivacySandboxApiPackagerTest.kt b/privacysandbox/tools/tools-apipackager/src/test/java/androidx/privacysandbox/tools/apipackager/PrivacySandboxApiPackagerTest.kt
index d29527c..bd3cc87 100644
--- a/privacysandbox/tools/tools-apipackager/src/test/java/androidx/privacysandbox/tools/apipackager/PrivacySandboxApiPackagerTest.kt
+++ b/privacysandbox/tools/tools-apipackager/src/test/java/androidx/privacysandbox/tools/apipackager/PrivacySandboxApiPackagerTest.kt
@@ -90,6 +90,7 @@
|import androidx.privacysandbox.tools.PrivacySandboxCallback
|import androidx.privacysandbox.tools.PrivacySandboxService
|import androidx.privacysandbox.tools.PrivacySandboxValue
+ |import androidx.privacysandbox.tools.core.GeneratedPublicApi
|
|@PrivacySandboxService
|interface MySdk
@@ -99,6 +100,11 @@
|
|@PrivacySandboxCallback
|interface MySdkCallback
+ |
+ |@GeneratedPublicApi
+ |object MySdkFactory {
+ | fun wrapToMySdk(): MySdk = throw RuntimeException("Stub!")
+ |}
""".trimMargin()
)
)
@@ -111,9 +117,10 @@
|import com.mysdk.MySdk
|import com.mysdk.Value
|import com.mysdk.MySdkCallback
+ |import com.mysdk.MySdkFactory.wrapToMySdk
|
|class App(
- | val sdk: MySdk,
+ | val sdk: MySdk = wrapToMySdk(),
| val sdkValue: Value,
| val callback: MySdkCallback,
|)