Target Kinds
Once ships target kinds for supported languages and platforms. Each target kind defines its accepted attributes and dependencies, the providers it emits, and the capabilities it exposes. Its reference page also lists known limitations and a copyable declaration when one is available.
Use once query schema to inspect the same contract from the command line. See Ecosystems for help choosing between typed target kinds and scripted automation.
Apple target kinds
apple_library: Swift, Objective-C, C, and C++ static libraryswift_macro: Swift compiler-plugin dynamic library loaded byapple_librarydependenciesapple_framework: dynamic Apple framework bundleapple_application: Apple application bundleapple_test_bundle: XCTest bundle assembled for an external runner
Android target kinds
android_resource: Android resources and assets compiled into a static resource packageandroid_library: Android Java library packaged as a Java archive and Android library archiveandroid_local_test: Android Java and Kotlin local tests run on the host Java virtual machineandroid_instrumentation_test: Android instrumentation tests run on a device or emulatorandroid_binary: Android application package built from Java sources, resources, native libraries, Android resource dependencies, and Android library dependencies
Swift target kinds
swift_android_library: Swift shared library compiled for Android and packaged through Android native-library providers
Kotlin target kinds
kotlin_apple_framework: Kotlin/Native framework bundle consumed by Apple application and test targets
Elixir target kinds
elixir_library: Elixir code compiled into cacheable bytecode with a target-level compiler actionelixir_test: ExUnit tests run against an already compiled Elixir application
Rust target kinds
cargo_dependencies: cacheable Cargo dependency set consumed by Rust targetsrust_library: Rust library artifact consumed by downstream Rust targets, or native static or shared libraries consumed by Apple and Android targetsrust_mobile_library: Rust native library materialized by Apple and Android consumers under one target labelrust_binary: Rust executable built from a main crate and Rust deps, with build and run capabilitiesrust_test: Rust test crate compiled withrustc --testand run through Once's test capabilityrust_crate: resolved third-party Cargo package lowered into a Rust library targetrust_proc_macro: Rust procedural macro compiled for Rust targets
C target kinds
c_library: C and C++ static library provider consumed by native target kinds
Zig target kinds
zig_library: Zig module provider compiled at the use site by downstream Zig targetszig_c_library: Zig module generated from C provider headerszig_binary: Zig executable built from a root module, Zig module dependencies, and C provider dependencieszig_static_library: Zig static library exposed to native linkerszig_shared_library: Zig shared library exposed to native linkers and Android packagingzig_test: Zig test target compiled and run through Once's test capabilityzig_configure: configured Zig library target using Once-native target attributeszig_configure_binary: configured Zig executable target using Once-native target attributeszig_configure_test: configured Zig test target using Once-native target attributes
