Extensions > API reference > ObjcProvider

ObjcProvider

A provider for compilation and linking of objc.

direct_headers

sequence ObjcProvider.direct_headers

Public header files from this target directly (no transitive headers). These are mostly headers from the 'hdrs' attribute.

direct_module_maps

sequence ObjcProvider.direct_module_maps

Module map files from this target directly (no transitive module maps). Used to enforce proper use of private header files and for Swift compilation.

direct_sources

sequence ObjcProvider.direct_sources

All direct source files from this target (no transitive files), including any headers in the 'srcs' attribute.

dynamic_framework_file

depset ObjcProvider.dynamic_framework_file

The library files in .framework directories belonging to a dynamically linked framework.

dynamic_framework_names

depset ObjcProvider.dynamic_framework_names

Returns all names of dynamic frameworks in this provider.

dynamic_framework_paths

depset ObjcProvider.dynamic_framework_paths

Returns all framework paths to dynamic frameworks in this provider.

exported_debug_artifacts

depset ObjcProvider.exported_debug_artifacts

Debug files that should be exported by the top-level target.

force_load_library

depset ObjcProvider.force_load_library

Libraries to load with -force_load.

imported_library

depset ObjcProvider.imported_library

Imported precompiled static libraries (.a files) to be linked into the binary.

j2objc_library

depset ObjcProvider.j2objc_library

Static libraries that are built from J2ObjC-translated Java code.

jre_library

depset ObjcProvider.jre_library

J2ObjC JRE emulation libraries and their dependencies.

library

depset ObjcProvider.library

Library (.a) files compiled by dependencies of the current target.

depset ObjcProvider.link_inputs

Link time artifacts from dependencies that do not fall into any other category such as libraries or archives. This catch-all provides a way to add arbitrary data (e.g. Swift AST files) to the linker. The rule that adds these is also responsible to add the necessary linker flags to 'linkopt'.

linked_binary

depset ObjcProvider.linked_binary

Single-architecture linked binaries to be combined for the final multi-architecture binary.

linkmap_file

depset ObjcProvider.linkmap_file

Single-architecture link map for a binary.

linkopt

depset ObjcProvider.linkopt

Linking options.

module_map

depset ObjcProvider.module_map

Clang module maps, used to enforce proper use of private header files.

multi_arch_dynamic_libraries

depset ObjcProvider.multi_arch_dynamic_libraries

Combined-architecture dynamic libraries to include in the final bundle.

multi_arch_linked_archives

depset ObjcProvider.multi_arch_linked_archives

Combined-architecture archives to include in the final bundle.

multi_arch_linked_binaries

depset ObjcProvider.multi_arch_linked_binaries

Combined-architecture binaries to include in the final bundle.

sdk_dylib

depset ObjcProvider.sdk_dylib

Names of SDK .dylib libraries to link with. For instance, 'libz' or 'libarchive'.

sdk_framework

depset ObjcProvider.sdk_framework

Names of SDK frameworks to link with (e.g. 'AddressBook', 'QuartzCore').

source

depset ObjcProvider.source

All transitive source files.

static_framework_file

depset ObjcProvider.static_framework_file

The library files in .framework directories that should be statically linked.

static_framework_names

depset ObjcProvider.static_framework_names

Returns all names of static frameworks in this provider.

static_framework_paths

depset ObjcProvider.static_framework_paths

Returns all framework paths to static frameworks in this provider.

strict_include

depset ObjcProvider.strict_include

Non-propagated include search paths specified with '-I' on the command line. Also known as header search paths (and distinct from user header search paths).

umbrella_header

depset ObjcProvider.umbrella_header

Clang umbrella header. Public headers are #included in umbrella headers to be compatible with J2ObjC segmented headers.

weak_sdk_framework

depset ObjcProvider.weak_sdk_framework

Names of SDK frameworks to weakly link with. For instance, 'MediaAccessibility'. In difference to regularly linked SDK frameworks, symbols from weakly linked frameworks do not cause an error if they are not present at runtime.