//! # rustls-platform-verifier-android
//!
//! This crate is an implementation detail of the actual [rustls-platform-verifier](https://github.com/rustls/rustls-platform-verifier) crate.
//!
//! It contains no Rust code and is solely intended as a convenient delivery mechanism for the supporting Kotlin code that the main crate
//! requires to perform TLS certificate validation using Android's APIs.
//!
//! Other crates should not directly depend on this crate in any way, as nothing about it is considered stable and it is probably useless elsewhere.
//!
//! ## Details
//!
//! Note: Everything in this section is subject to change at any time. Semver may not be followed.
//!
//! ### Why?
//!
//! It was the best middle ground between several tradeoffs. The important ones, in priority order, are:
//! - Automatically keeping component versions in sync
//! - Allowing well-tested and well-known `cargo` dependency management patterns to apply everywhere
//! - Providing a smooth developer experience as an Android consumer of `rustls-platform-verifier`
//!
//! Firstly, what alternatives are available for distributing the component? The other two known are source distribution in some form (here, it will be through crates.io)
//! and Maven Central. Starting with the first, its become infeasible due to toolchain syncing requirements. If the Android component is
//! built as part of the host app's Gradle build, then it becomes subject to any Gradle or Android Gradle Plugin incompatibilities/requirements. In practice this means
//! the AGP version between this project and the main application have to match all the time. Sometimes this works, but it becomes challenging/unfeasible
//! during yearly toolchain/SDK upgrades and is not maintainable long term. Note that this is the _only_ option in this section which retains compatibility
