aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java
Commit message (Collapse)AuthorAge
* Headers specified in cc_library.textual_hdrs are passed through objc_libraryGravatar cpeyser2018-04-30
| | | | | | targets to upstream cc_library targets. PiperOrigin-RevId: 194816009
* 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
* C++: Fixes broken objc_library targets in nightlyGravatar plf2018-04-09
| | | | | | Errors are related to missing headers from C++ dependencies. PiperOrigin-RevId: 192132907
* C++: Introduce provider that wraps C++ compilation providers.Gravatar plf2018-04-06
| | | | | | | For now, only CcCompilationContextInfo is wrapped. CcCompilationContextInfo will be renamed CcCompilationContext since the *Info suffix is used for providers. This will be done in a follow-up CL. RELNOTES:none PiperOrigin-RevId: 191876504
* Fix strict module map propagation for j2objc.Gravatar allevato2018-04-05
| | | | | | J2Objc needs special consideration to implement strict Swift-ObjC deps. The module maps for the generated Objective-C code are associated with their originating java_library targets (via the J2Objc aspect), which a swift_library cannot directly depend on. So those deeper down module maps need to be propagated transitively *until* a j2objc_library is reached; at that point, the j2objc_library should propagate all of its Java deps module maps, but *not* any of its j2objc_library deps (because that would be non-strict). PiperOrigin-RevId: 191754811
* C++: Rename CcCompilationInfo to CcCompilationContextInfo.Gravatar plf2018-04-03
| | | | | | | | | This is done so that the name CcCompilationInfo can be used for the C++ provider that will wrap all providers for compilation, similar to JavaInfo in Java. RELNOTES:none PiperOrigin-RevId: 191445120
* 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
* Add --incompatible_strict_objc_module_maps.Gravatar allevato2018-02-27
| | | | | | This flag changes the behavior of objc_library module map propagation so that module maps are only propagated to direct dependents, not transitive dependents. swift_library targets that import Objective-C code must then list those dependencies directly in its deps instead of depending on them being transitively present. PiperOrigin-RevId: 187184692
* C++: Migrate CcCompilationInfo to NativeInfoGravatar plf2018-02-21
| | | | | | | | The old TransitiveInfoProvider is deprecated. Providers used from Skylark should use NativeInfo as specified in[] RELNOTES:none PiperOrigin-RevId: 186447814
* C++: Renames CppCompilationContext to CcCompilationInfoGravatar plf2018-02-21
| | | | | | | This is in preparation for migrating to the new way of specifying providers as described in[] RELNOTES:none PiperOrigin-RevId: 186436462
* 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
* Changes cc_library to consume headers specified in the "hdrs" attribute of anGravatar cpeyser2018-02-12
| | | | | | | | objc_library that it depends on. See https://github.com/bazelbuild/bazel/issues/3352 PiperOrigin-RevId: 185371993
* Inline rarely used PathFragment methods that do not deserve to be on a core ↵Gravatar tomlu2018-01-19
| | | | | | path class. PiperOrigin-RevId: 182526427
* Eliminate STATIC_FRAMEWORK_DIR as a separate field of ObjcProvider.Gravatar cparsons2017-11-28
| | | | | | | | | Infer those values from STATIC_FRAMEWORK_FILE. This correctly dedupes static frameworks between an app and its dylibs. RELNOTES: None. PiperOrigin-RevId: 177214770
* Replace all usages of Blaze's Preconditions class with guava.Gravatar tomlu2017-11-09
| | | | | | | | Blaze had its own class to avoid GC from varargs array creation for the precondition happy path. Guava now (mostly) implements these, making it unnecessary to maintain our own. This change was almost entirely automated by search-and-replace. A few BUILD files needed fixing up since I removed an export of preconditions from lib:util, which was all done by add_deps. There was one incorrect usage of Preconditions that was caught by error prone (which checks Guava's version of Preconditions) that I had to change manually. PiperOrigin-RevId: 175033526
* Move expansion functionality to a new classGravatar ulfjack2017-09-29
| | | | | | Progress on #2475. PiperOrigin-RevId: 170473111
* 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 TODO regarding removal of a couple ObjcProvider keys.Gravatar cparsons2017-08-30
| | | | | | | it turns out these keys are still used by objc_framework, so cannot be removed. RELNOTES: None. PiperOrigin-RevId: 166895085
* Blaze exports a feature for actions with objective c source in their transitiveGravatar cpeyser2017-08-22
| | | | | | closure. PiperOrigin-RevId: 165934905
* Rename some of native declared providers according to the new naming scheme.Gravatar dslomov2017-08-21
| | | | | RELNOTES: None PiperOrigin-RevId: 165910455
* Delete unused ObjcProvider keys.Gravatar schmitt2017-08-16
| | | | | RELNOTES: Removing a few unused objc_provider keys. PiperOrigin-RevId: 165230824
* 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
* Better names for declared providers-related classes.Gravatar dslomov2017-08-01
| | | | | | | | Follows https://docs.google.com/document/d/1aAIVWvHPERDz2cv_PCFGwr8dvh5FcAkENFoRsNS4clk/. RELNOTES: None. PiperOrigin-RevId: 163728291
* 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
* Make native declared providers not implement TransitiveInfoCollection.Gravatar dslomov2017-07-12
| | | | | | | | | | | | (Almost) all native declared providers are accessed as such and not as native non-declared providers (inheritors of TransitiveInfoCollaction). There are still three providers that use TransitiveInfoCollection.WithLegacySkylarkName mechanism, I'll address them in the follow-up CL. RELNOTES: None. PiperOrigin-RevId: 161655315
* Remove unused method shouldUseObjcModulesGravatar cparsons2017-07-03
| | | | | RELNOTES: None. PiperOrigin-RevId: 160675033
* Inline AttributeContainer.ATTRIBUTE_CONTAINER_FACTORY and ↵Gravatar laurentlb2017-07-03
| | | | | | | PathFragment.TO_PATH_FRAGMENT RELNOTES: None. PiperOrigin-RevId: 160668541
* Remove Xcodege integration from Blaze.Gravatar schmitt2017-06-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 157857216
* Remove userHeaderSearchPaths from ObjcCommon - it is not used.Gravatar cpeyser2017-05-10
| | | | PiperOrigin-RevId: 155562588
* Handle labels with explicit repositories correctly in objc rules.Gravatar allevato2017-05-09
| | | | | | | | | | | | | | The `structured_resources` path stemming used by `objc_library` and `objc_bundle_library` no longer breaks if one of these rules tries to reference a label with an explicit repository prefix. Previously, using "@foo//bar:baz" in such a rule would fail because the individual files would retain their "external/foo/" prefix but the owner path against which those files were relativized would not have it because of the use of getPackageFragment() instead of getPackageIdentifier().getSourceRoot(). RELNOTES: None. PiperOrigin-RevId: 155409464
* Roll forward of ↵Gravatar Googler2017-05-02
| | | | | | | | | | | | | | | | | | | | | | | | https://github.com/bazelbuild/bazel/commit/5f31944b8942818aaf53571c76f5c6a9a9dafc72: Custom module map for j2objc_library Automated g4 rollback of commit e7fe50aa727df9ef0a3d37fa258d017971035515. *** Reason for rollback *** Roll forward. The bzl change is removed because it has to be submitted after next Blaze release. *** Original change description *** Automated g4 rollback of commit 5f31944b8942818aaf53571c76f5c6a9a9dafc72. *** Reason for rollback *** This caused some build breaks. *** Original change description *** Custom module map for j2objc_library PiperOrigin-RevId: 154726197
* Automated g4 rollback of commit a83a5df53ca184ad59a4a46cd9dfa747bf08007a.Gravatar Googler2017-04-30
| | | | | | | | | | | | *** Reason for rollback *** This caused some build breaks. *** Original change description *** Custom module map for j2objc_library PiperOrigin-RevId: 154608761
* Custom module map for j2objc_libraryGravatar Googler2017-04-30
| | | | PiperOrigin-RevId: 154606005
* Refactor all ctor callsites of PathFragment to instead call a static ↵Gravatar nharmata2017-04-05
| | | | | | | | | | | | 'create' method. This paves the way for changing PathFragment to e.g. an abstract class with multiple subclasses. This way we can split out the windows-specific stuff into one of these concrete classes, making the code more readable and also saving memory (since the shallow heap size of the NonWindowsPathFragment subclass will hopefully be smaller than that of the current PathFragment). This also lets us pursue gc churn optimizations. We can now do interning in PathFragment#create and can also get rid of unnecessary intermediate PathFragment allocations. RELNOTES: None PiperOrigin-RevId: 152145768
* Generated files directory is passed to dependers as a user header search ↵Gravatar Cal Peyser2017-02-09
| | | | | | | | path. In the process, rename and replace the incorrectly named ObjcCommon.Builder#addUserHeaderSearchPaths -- PiperOrigin-RevId: 147038434 MOS_MIGRATED_REVID=147038434
* Directory headers are filtered out of header inputs to objc compilation.Gravatar Cal Peyser2017-02-08
| | | | | | -- PiperOrigin-RevId: 146813606 MOS_MIGRATED_REVID=146813606
* Rollback filtering of objc headersGravatar Cal Peyser2017-02-06
| | | | | | -- PiperOrigin-RevId: 146612144 MOS_MIGRATED_REVID=146612144
* Directory headers are filtered out of header inputs to objc compilation.Gravatar Cal Peyser2017-02-06
| | | | | | -- PiperOrigin-RevId: 146487282 MOS_MIGRATED_REVID=146487282
* Cast to ConfiguredTarget instead of AbstractConfiguredTarget for obtaining ↵Gravatar Chris Parsons2016-12-21
| | | | | | | | | | the target type This allows us to correctly analyze the type of alias targets -- PiperOrigin-RevId: 142582188 MOS_MIGRATED_REVID=142582188
* Rollforward of "Split ObjcProvider.framework_dir into static and dynamic ↵Gravatar Chris Parsons2016-12-06
| | | | | | | | | | framework directories." This is a rollforward of the first attempt, which broke swift rules. -- PiperOrigin-RevId: 141210876 MOS_MIGRATED_REVID=141210876
* Rollback of commit 7a668370e350f602ec863eb4169729885e1c7c93.Gravatar Damien Martin-Guillerez2016-12-05
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Fails test_swift_import_objc_framework of //src/test/shell/bazel/apple:bazel_apple_test Tested on: https://cr.bazel.build/7611/ Fixes #2179. *** Original change description *** Split ObjcProvider.framework_dir into static and dynamic framework directories. *** -- Change-Id: I10db5e14b219bc921bff72c45fab1455be8fa25a Reviewed-on: https://cr.bazel.build/7311 PiperOrigin-RevId: 141043141 MOS_MIGRATED_REVID=141043141
* Split ObjcProvider.framework_dir into static and dynamic framework directories.Gravatar Chris Parsons2016-12-05
| | | | | | | | | | | Previously there was no difference between static and dynamic framework directories in how they affected link actions. However, there will be a difference moving forward: Dynamic framework files and their directories will be propagated up dynamic library edges, and static frameworks will not. (If an app A depends on a dylib B which depends on a dylib C, A should not link any static framework dependencies of C, but should link against C itself.) -- PiperOrigin-RevId: 140869357 MOS_MIGRATED_REVID=140869357
* Remove Swift support from native rulesGravatar Dmitry Shevchenko2016-11-24
| | | | | -- MOS_MIGRATED_REVID=140068224
* Propagate defines through objc -> cc deps.Gravatar Cal Peyser2016-08-23
| | | | | -- MOS_MIGRATED_REVID=131055419