Extensions > API reference > ObjcProvider

ObjcProvider

A provider for compilation and linking of objc.

compilation_context

CompilationContext ObjcProvider.compilation_context

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with --incompatible_objc_provider_remove_compile_info. Use this flag to verify your code is compatible with its imminent removal.
Returns the embedded CcCompilationContext that contains theprovider's compilation information.

define

depset ObjcProvider.define

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with --incompatible_objc_provider_remove_compile_info. Use this flag to verify your code is compatible with its imminent removal.
A set of strings from 'defines' attributes. These are to be passed as '-D' flags to all invocations of the compiler for this target and all depending targets.

direct_headers

sequence ObjcProvider.direct_headers

Header files from this target directly (no transitive headers). These may be either public or private headers.

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).

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.

framework_search_path_only

depset ObjcProvider.framework_search_path_only

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with --incompatible_objc_provider_remove_compile_info. Use this flag to verify your code is compatible with its imminent removal.
Exec paths of .framework directories corresponding to frameworks to include in search paths, but not to link.

depset ObjcProvider.header

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with --incompatible_objc_provider_remove_compile_info. Use this flag to verify your code is compatible with its imminent removal.
All header files. These may be either public or private headers.

imported_library

depset ObjcProvider.imported_library

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

include

depset ObjcProvider.include

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with --incompatible_objc_provider_remove_compile_info. Use this flag to verify your code is compatible with its imminent removal.
Include search paths specified with '-I' on the command line. Also known as header search paths (and distinct from user header search paths).

include_system

depset ObjcProvider.include_system

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with --incompatible_objc_provider_remove_compile_info. Use this flag to verify your code is compatible with its imminent removal.
System include search paths (typically specified with -isystem).

iquote

depset ObjcProvider.iquote

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with --incompatible_objc_provider_remove_compile_info. Use this flag to verify your code is compatible with its imminent removal.
User header search paths (typically specified with -iquote).

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.

merge_zip

depset ObjcProvider.merge_zip

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with --incompatible_objc_provider_remove_compile_info. Use this flag to verify your code is compatible with its imminent removal.
Merge zips to include in the bundle. The entries of these zip files are included in the final bundle with the same path. The entries in the merge zips should not include the bundle root path (e.g. 'Foo.app').

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.