aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java
Commit message (Collapse)AuthorAge
* Remove the non_propagated_deps attribute from objc_library and apple_binary. ↵Gravatar kaipi2018-05-30
| | | | | | | This was a workaround created to deal with duplicated symbol errors, but there are now better ways to avoid them than using this attribute. RELNOTES: non_propagated_deps has been removed from objc_library and apple_binary. PiperOrigin-RevId: 198620886
* C++: Wrap CcLinkParamsInfo with CcLinkingInfo.Gravatar plf2018-04-16
| | | | | | | CcLinkingInfo will eventually wrap all C++ linking providers. CcLinkParamsInfo is no longer a provider and will be renamed in a later CL. RELNOTES:none PiperOrigin-RevId: 193011702
* Make deprecated ObjcProvider fields return empty sets when ↵Gravatar cparsons2018-03-28
| | | | | | | | | --incompatible_disable_objc_provider_resources is true. This involves propagating SkylarkSemantics to all ObjcProvider constructors. RELNOTES: Introduce --incompatible_disable_objc_provider_resources to turn off all resource-related fields of the Objc provider. PiperOrigin-RevId: 190778491
* Add BuildConfiguration to ConfiguredTargetAndTarget and rename it to ↵Gravatar janakr2018-03-10
| | | | | | ConfiguredTargetAndData. We want to get BuildConfiguration out of ConfiguredTarget because it uses >800K when serialized. PiperOrigin-RevId: 188600002
* Thread ConfiguredTargetAndTarget through objC classes to get rid of referencesGravatar mjhalupka2018-02-12
| | | | | | | | to ConfiguredTarget.GetTarget(). Also remove equivalence requirements for the ConfiguredTarget's target and the stored Target since there will soon no longer be a Target in ConfiguredTarget. PiperOrigin-RevId: 185417468
* Migrate Apple providers to abide by Native Declared Provider best practices.Gravatar cparsons2018-01-17
| | | | | | | This has the effect of documenting exposed struct fields on these providers. RELNOTES: None. PiperOrigin-RevId: 182221042
* Expose apple_common.link_multi_arch_binary to Skylark.Gravatar cparsons2018-01-08
| | | | | | | | This API mimics the linking logic of apple_binary, and is a step to migrating apple_binary to skylark. This API is *highly experimental* and subject to change. RELNOTES: None. PiperOrigin-RevId: 181215275
* From apple_binary, receive AppleExecutableBinaryProvider from the ↵Gravatar cparsons2017-12-04
| | | | | | | | | bundle_loader attribute Prior to this change, apple_binary relied on bundle_loader targets (which are themselves apple_binary) to propagate an unwrapped ObjcProvider. That is deprecated, is disabled by --noexperimental_objc_provider_from_linked, and will be killed off shortly. RELNOTES: None. PiperOrigin-RevId: 177862573
* Expose ObjcProtoProvider as a Skylark object.Gravatar cparsons2017-12-04
| | | | | | | | | This does not provide any meaningful API to interact with ObjcProtoProvider from a skylark context -- it simply allows ObjcProtoProvider to be passed between skylark API calls as an opaque object. This helps facilitate exposure of an Apple Linking API to Skylark which will take place in future changes. RELNOTES: None. PiperOrigin-RevId: 177844029
* Remove a redundant parameter from MultiArchBinarySupport API, and remove ↵Gravatar cparsons2017-11-21
| | | | | | | | | uses of attribute-name string literals from MultiArchBinarySupport This cleanup is a step in the right direction for exposing the apple linking API to Skylark -- supports must avoid calling ruleContext.getPrerequisites with attribute-name string literals; providers and TransitiveInfoCollections should come as inputs to the API. RELNOTES: None. PiperOrigin-RevId: 176525071
* Remove CppConfiguration#getFeatures in favor ofGravatar cpeyser2017-11-06
| | | | | | CcToolchainProvider#getFeatures. PiperOrigin-RevId: 174492427
* Automated rollback of commit 5d42ae10195cd1acb9612df3a3d520f09b0c3e39.Gravatar cpeyser2017-11-03
| | | | | | | | | | | | | *** Reason for rollback *** Breaks alphago targets. *** Original change description *** Remove CppConfiguration#getFeatures in favor of CcToolchainProvider#getFeatures. PiperOrigin-RevId: 174373331
* Remove CppConfiguration#getFeatures in favor ofGravatar cpeyser2017-10-30
| | | | | | CcToolchainProvider#getFeatures. PiperOrigin-RevId: 173702792
* Remove compilation and bundling attributes from apple_binary and ↵Gravatar cparsons2017-09-29
| | | | | | | apple_static_library. RELNOTES: apple_binary and apple_static_library no longer support compilation attributes such as 'srcs'. If this breaks any existing targets, you may migrate all such attributes to a new objc_library target and depend on that objc_library target via the 'deps' attribute of apple_binary or apple_static_library. PiperOrigin-RevId: 170373794
* Move RuleConfiguredTarget to lib.analysis.configuredtargets.Gravatar gregce2017-09-19
| | | | | | This is a trivial change with a large file footprint. PiperOrigin-RevId: 169169864
* Automated rollback of commit fc41c430e4de4594a1d699f573d191cbad52a2fb.Gravatar plf2017-09-01
| | | | PiperOrigin-RevId: 167154793
* Move ObjcProvider FLAG into a new provider type (TransitiveSourcesProvider) ↵Gravatar cpeyser2017-08-30
| | | | | | that is accessible to the c++ rules. PiperOrigin-RevId: 166934390
* Remove an obsolete TODOGravatar dmishe2017-08-30
| | | | PiperOrigin-RevId: 166889783
* Automated rollback of commit 1af9b1e2238c3b43a2b66233495ecf7b6ef4dcab.Gravatar Googler2017-08-25
| | | | | | | | | | | | *** Reason for rollback *** Reason for previous rollback was identified as being a memory regression causing some cases to hit java heap limit. Proposal is to increase java heap limit to compensate and just go with the original change. *** Original change description *** Automated rollback of commit 6cfffdf37e11018c7e6e2cabc90440d6d29c819b. PiperOrigin-RevId: 166426608
* Rename some of native declared providers according to the new naming scheme.Gravatar dslomov2017-08-21
| | | | | RELNOTES: None PiperOrigin-RevId: 165910455
* Make CcToolchainProvider subclass ToolchainInfo. This is required for use ↵Gravatar cpeyser2017-08-16
| | | | | | of CcToolchainProvider as a "toolchain" in platform-based toolchain resolution. PiperOrigin-RevId: 165185303
* Rollback of ↵Gravatar ajmichael2017-08-14
| | | | | | | | | https://github.com/bazelbuild/bazel/commit/21436e062a12b64c8bee665b0cf79dfe48cff114. That change broke module maps that depended on the transitive headers from ObjC protos. RELNOTES: None PiperOrigin-RevId: 165010275
* Stop transitively propagating headers transitively for ObjC protos.Gravatar kaipi2017-08-09
| | | | PiperOrigin-RevId: 164590595
* Automated rollback of commit 6cfffdf37e11018c7e6e2cabc90440d6d29c819b.Gravatar cpeyser2017-08-02
| | | | PiperOrigin-RevId: 163889699
* Assert that declared providers are not TransitiveInfoProviders.Gravatar dslomov2017-07-28
| | | | | | | Also fix the remaining violations. RELNOTES: None. PiperOrigin-RevId: 163391215
* Make all WithLegacySkylarkName providers declared providers.Gravatar dslomov2017-07-28
| | | | | RELNOTES: None. PiperOrigin-RevId: 163343931
* Automated rollback of commit 6d884afa8da1b08288cb0108e8bbf6c22ec63393.Gravatar dslomov2017-07-25
| | | | | | | | | | | | | *** Reason for rollback *** Broke bazel_apple_rules *** Original change description *** Make all WithLegacySkylarkName providers declared providers. RELNOTES: None PiperOrigin-RevId: 163054821
* Make all WithLegacySkylarkName providers declared providers.Gravatar dslomov2017-07-25
| | | | | RELNOTES: None PiperOrigin-RevId: 163042362
* Platform -> ApplePlatform, to avoid ambiguity with the newly introducedGravatar cpeyser2017-07-07
| | | | | | Platform rule. PiperOrigin-RevId: 161203491
* Automated rollback of commit 9000e61fc1737444392ffe251727e8331fab3cf2.Gravatar Googler2017-07-07
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Fixed handling of pch, so this should work again *** Original change description *** Automated rollback of commit 29ec1b89989db411d2038e2df8657b6435f80403. *** Reason for rollback *** Breaks the classroom_ios TAP project [1] in the presence of --experimental_objc_crosstool=all, which was added to the global .blazerc last week. [1] [] *** Original change description *** Change ProtobufSupport to use CrosstoolCompilationSupport if experimental_objc_crosstool=all PiperOrigin-RevId: 161159846
* Automated g4 rollback of commit 29ec1b89989db411d2038e2df8657b6435f80403.Gravatar fwe2017-06-13
| | | | | | | | | | | | | | *** Reason for rollback *** Breaks the classroom_ios TAP project [1] in the presence of --experimental_objc_crosstool=all, which was added to the global .blazerc last week. [1] [] *** Original change description *** Change ProtobufSupport to use CrosstoolCompilationSupport if experimental_objc_crosstool=all PiperOrigin-RevId: 158727100
* apple_binary provides information about its dylibs' symbols in its nested ↵Gravatar cparsons2017-06-06
| | | | | | | | | | | | | ObjcProvider This facilitates app->dylib->dylib dependencies, as the app needs to avoid linking in symbols contained in any *transitive* dylibs, not just in any direct dylibs. This also removes a test which verified the previous, incorrect functionality (not propagating information about dylibs up the tree). RELNOTES: None. PiperOrigin-RevId: 158070381
* Change ProtobufSupport to use CrosstoolCompilationSupport if ↵Gravatar Googler2017-05-30
| | | | | | experimental_objc_crosstool=all PiperOrigin-RevId: 157421008
* apple_static_library passes the correct crosstool to platform-specific compileGravatar cpeyser2017-05-02
| | | | | | and fully linke actions. PiperOrigin-RevId: 154733524
* Refactor to extract the collection of portable proto filters.Gravatar kaipi2017-04-30
| | | | PiperOrigin-RevId: 154549379
* Export the FILES_TO_COMPILE output group from the objc rules. Add a builder ↵Gravatar cpeyser2017-04-25
| | | | | | to CompilationSupport to clean up that expanding API. PiperOrigin-RevId: 154077775
* Fix ProtobufSupport.java to use the build configuration when being called ↵Gravatar kaipi2017-04-13
| | | | | | from an apple_binary split transition context. Refactors ProtobufSupport to not rely on ruleContext for dependencies. PiperOrigin-RevId: 152939984
* Slightly improve efficiency of apple_binary dylib-proto-dependency subtractionGravatar cparsons2017-04-06
| | | | | | | | (Pull NestedSet creation outside of a loop) RELNOTES: None. PiperOrigin-RevId: 152253535
* Apple binary configures actions not just with it's child's config and provider,Gravatar Cal Peyser2017-03-28
| | | | | | | | but also its toolchain. -- PiperOrigin-RevId: 151444602 MOS_MIGRATED_REVID=151444602
* Avoid linking direct cc_library dependencies (and their transitive deps) if ↵Gravatar Chris Parsons2017-02-03
| | | | | | | | in "avoid_deps" or "dylibs" -- PiperOrigin-RevId: 146402388 MOS_MIGRATED_REVID=146402388
* Renames the BundleLoaderProvider to AppleExecutableBinaryProvider, and uses ↵Gravatar Sergio Campama2017-01-23
| | | | | | | | | | that provider to retrieve the executable binary to act as the bundle_loader. Also passes the bundle loader's ObjcProvider and ObjcProtoProviders to the dylib deduping mechanism to avoid dual linking of symbols into the tests. -- PiperOrigin-RevId: 145284598 MOS_MIGRATED_REVID=145284598
* Introduce --experimental_objc_crosstool, which replacesGravatar Cal Peyser2017-01-19
| | | | | | | | | | --experimental_objc_library and --experimental_objc_use_crosstool_for_binary. This flag will allow testing of the complete (compilation and linking) rollout of the objc crosstool. -- PiperOrigin-RevId: 144864301 MOS_MIGRATED_REVID=144864301
* Avoid linking objc protos that are transitively in the "dylibs" attributeGravatar Chris Parsons2017-01-05
| | | | | | -- PiperOrigin-RevId: 143601292 MOS_MIGRATED_REVID=143601292
* Creates a new BundleLoaderProvider that propagates necessary artifacts, ↵Gravatar Sergio Campama2016-12-15
| | | | | | | | paths, etc, for test binaries (bundle binaries) to compile successfully against a bundle loader artifact. -- PiperOrigin-RevId: 142063256 MOS_MIGRATED_REVID=142063256
* "deps" attribute avoids linking libraries transitively included in "dylibs" ↵Gravatar Chris Parsons2016-12-09
| | | | | | | | | | attribute This prevents duplicate symbol errors for objects that would otherwise be linked both in the application binary and a dylib the binary is linked against. -- PiperOrigin-RevId: 141478238 MOS_MIGRATED_REVID=141478238
* Add support for bundle binaries in apple_binary.Gravatar Sergio Campama2016-11-24
| | | | | -- MOS_MIGRATED_REVID=140094935
* Refactor new compilation, archiving, and fully linking logic into a subclass ofGravatar Cal Peyser2016-11-04
| | | | | | | CompilationSupport. -- MOS_MIGRATED_REVID=138185198
* Adds flag to enable/disable apple_binary from generating and linking ObjC ↵Gravatar Sergio Campama2016-11-03
| | | | | | | protos natively. -- MOS_MIGRATED_REVID=137980688
* Initial implementation of "dylib" attribute for apple_binary and ↵Gravatar Chris Parsons2016-11-02
| | | | | | | | | | | | apple_dynamic_library rules Provided values propagated from "dylib" dependencies will be compiled against the srcs of the rule, and linked together with the dependencies. It is worth noting that "dylibs" differs from "deps" in that there is no configuration transition along this edge. There is more work to be done on this attribute, so it remains undocumented. Namely, symbol deduping between dylib and statically-linked dependencies needs to be addressed. -- MOS_MIGRATED_REVID=137721599
* Initial checkin of apple_dynamic_libraryGravatar Chris Parsons2016-10-12
This is at this point mostly an exercise in refactoring, as this initial implementation of apple_dynamic_library mirrors apple_binary exactly, except for the output extension and the -dynamiclib linker arg. There will be additional followup to deal with significant differences between these two rules. -- MOS_MIGRATED_REVID=135822476