Abhimanyu
08/25/2025, 11:29 AMmbonnin
08/25/2025, 11:40 AMmbonnin
08/25/2025, 11:40 AMkotlinx.serializationmbonnin
08/25/2025, 11:41 AMinternal package if you can)Abhimanyu
08/25/2025, 12:08 PMMyAnalytics
internal interface MyAnalytics {
fun track()
}
MyAnalyticsImpl
internal class MyAnalyticsImpl: MyAnalytics {
fun track() {
// tracking code
}
}
MyActivity
public class MyActivity: AppCompatActivity() {
@Inject
internal lateinit var analytics: MyAnalytics
// Other code
}
MyAnalyticsModule
@Module
internal object MyAnalyticsModule {
@Provides
fun providesMyAnalytics(): MyAnalytics {
return MyAnalyticsImpl()
}
}
I have classes like these in my library.
Though all are marked internal - Interface , Implementation class , Dagger Module , still the generated Dagger code is using public and so they are added to the API dump from Binary compatibility validator.
So, what is the recommended way to skip these from the API dump given the clients cannot use these.
From what I could see, apiValidation config for BCV does not support wildcard for ignoredPackages .Dan Rusu
08/25/2025, 5:49 PM