aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
Commit message (Collapse)AuthorAge
* Remove duplicate CppHelper.getCcToolchainType method.Gravatar John Cater2017-12-06
| | | | | Change-Id: I3248af31f9f6f3669177015c9f19ecd49165b191 PiperOrigin-RevId: 178096631
* 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
* Set --objc_debug_with_GLIBCXX=false by default in the Bazel binary.Gravatar cpeyser2017-11-30
| | | | PiperOrigin-RevId: 177452571
* 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
* Remove dead code from CompilationSupportGravatar cparsons2017-11-28
| | | | | RELNOTES: None. PiperOrigin-RevId: 177165649
* Remove useless abstractions in C++ rules after internal cleanupGravatar hlopko2017-11-24
| | | | | RELNOTES: PiperOrigin-RevId: 176844836
* 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
* objc_bundle_library uses the single-arch platform type instead of ↵Gravatar cparsons2017-11-13
| | | | | | | incorrectly using multi-arch iOS RELNOTES: None. PiperOrigin-RevId: 175579695
* Allow an action_config to be activated by default.Gravatar cpeyser2017-11-13
| | | | PiperOrigin-RevId: 175531318
* Update documentation on sdk_frameworks for objc_library.Gravatar kaipi2017-11-10
| | | | PiperOrigin-RevId: 175218074
* Config feature flags for apple_binary and apple_static_libraryGravatar cparsons2017-11-10
| | | | | | | This feature is experimental, and thus left mostly undocumented. RELNOTES: None. PiperOrigin-RevId: 175187791
* 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
* Remove CppConfiguration#getFeatures in favor ofGravatar cpeyser2017-11-06
| | | | | | CcToolchainProvider#getFeatures. PiperOrigin-RevId: 174492427
* Remove legacy implementation of objc compilation/archiving/linking.Gravatar cpeyser2017-11-06
| | | | PiperOrigin-RevId: 174481563
* 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
* Expose Apple Multi-architecture Split Transition to Skylark.Gravatar cparsons2017-11-02
| | | | | | | This omits validation for this transition, which will follow in a future change. RELNOTES: None. PiperOrigin-RevId: 174183651
* Remove CppConfiguration#getFeatures in favor ofGravatar cpeyser2017-10-30
| | | | | | CcToolchainProvider#getFeatures. PiperOrigin-RevId: 173702792
* Automated rollback of commit e9b10399f6a148a3d20442f2c5020b05fa891873.Gravatar twerth2017-10-24
| | | | | | | | | | | | *** Reason for rollback *** Breaks ~2k ios targets, see b/68179560 *** Original change description *** Move hard-coded compilation-mode-specific flags in ObjcConfiguration. PiperOrigin-RevId: 173239463
* Move hard-coded compilation-mode-specific flags in ObjcConfiguration.Gravatar cpeyser2017-10-23
| | | | PiperOrigin-RevId: 172932367
* Actions now have the option of returning an ActionResult, containing a ↵Gravatar ruperts2017-10-18
| | | | | | | (possibly empty) set of SpawnResults created during execution of the Action. RELNOTES: None. PiperOrigin-RevId: 172529328
* Relax SplitTransitionProvider interface to use AttributeMapGravatar cparsons2017-10-18
| | | | | RELNOTES: None. PiperOrigin-RevId: 172394552
* Export apple_host_system_env and target_apple_env through apple_common (as ↵Gravatar lberki2017-10-16
| | | | | | | | | opposed to only through ctx.fragments.apple) Progress towards #3424. RELNOTES: None. PiperOrigin-RevId: 172299240
* Remove the uses_protobuf attribute from objc_proto_library.Gravatar kaipi2017-10-16
| | | | PiperOrigin-RevId: 172199420
* Update documentation on objc_proto_library rule, and disable the passing of ↵Gravatar kaipi2017-10-16
| | | | | | direct files into the deps attribute, only proto_library and objc_proto_library targets are allowed. PiperOrigin-RevId: 172107133
* SplitTransitionProvider no longer requires the attributes it uses are "Non ↵Gravatar cparsons2017-10-11
| | | | | | | Configurable" RELNOTES: None. PiperOrigin-RevId: 171751391
* Return JavaInfo providers only once in Java rules.Gravatar elenairina2017-10-11
| | | | | | | Previously the java rules returned some providers twice: once as regular providers and once wrapped in JavaInfo (e.g. JavaCompilationArgsProvider). This is unnecessary, inefficient and error prone. JavaInfo should be the only way of returning these providers. RELNOTES: None. PiperOrigin-RevId: 171663550
* Remove the unused class ReleaseBundlingSupport.SplitArchTransition .Gravatar lberki2017-10-10
| | | | | | | Progress towards #3424. RELNOTES: None. PiperOrigin-RevId: 171648540
* Move the MakeVariableExpander to a new packageGravatar ulfjack2017-10-10
| | | | | | | Rename it to TemplateExpander and start rewriting the documentation to refer to template variables. PiperOrigin-RevId: 171648255
* Remove an unused argument.Gravatar lberki2017-10-06
| | | | | RELNOTES: None. PiperOrigin-RevId: 171113424
* Categorize build options for BuildConfiguration.Gravatar gregce2017-10-06
| | | | PiperOrigin-RevId: 171017483
* Remove support for ProtocolBuffers2.Gravatar kaipi2017-10-06
| | | | PiperOrigin-RevId: 171013687
* Documentation fix for 'minimum_os_version' attributeGravatar cparsons2017-10-06
| | | | | RELNOTES: None. PiperOrigin-RevId: 170722989
* Move expansion functionality to a new classGravatar ulfjack2017-09-29
| | | | | | Progress on #2475. PiperOrigin-RevId: 170473111
* Pass CppSemantics down to the CppLinkActionBuilderGravatar hlopko2017-09-29
| | | | | | | | | Currently CppLinkActionBuilder is not using CppSemantics, but it will when we use full CppCompileAction for linkstamp compiles. This cl is a preparation for that. RELNOTES: None. PiperOrigin-RevId: 170467826
* 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
* Remove the null lipo context collector from the objc rules, which do not use ↵Gravatar cpeyser2017-09-29
| | | | | | LIPO. Remove the check that requires a context collector to be present. PiperOrigin-RevId: 170341259
* Polish the interface of CppCompileActionBuilderGravatar hlopko2017-09-28
| | | | | | | Some of the setters didn't return the builder, this cl fixes that. RELNOTES: None. PiperOrigin-RevId: 170313892
* Contingent on a flag --experimental_objc_provider_from_linked, apple_binary ↵Gravatar cparsons2017-09-25
| | | | | | | and apple_static_library no longer propagate ObjcProvider. RELNOTES: None. PiperOrigin-RevId: 169690934
* Delete ios_application, ios_extension(_binary), objc_binary.Gravatar allevato2017-09-21
| | | | PiperOrigin-RevId: 169428146
* Drop 32-bit architectures from builds with ios_mimimum_os > 11.0.Gravatar cparsons2017-09-21
| | | | | | | This change misses the corner case of builds which are entirely 32-bit (as opposed to mixed 32&64 bit) due to no legitimate place to report the error of such a build; execution will fail for such builds at the action level. RELNOTES: None. PiperOrigin-RevId: 169397354
* Introduce --enabled_toolchain_types, which when set to the cpp toolchain ↵Gravatar cpeyser2017-09-20
| | | | | | causes the cc_toolchain dependency of cc targets to be selected using the platforms/toolchains constraint solving system. PiperOrigin-RevId: 169250621
* LateBoundDefault: enforce access to a single fragment (or none).Gravatar mstaib2017-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, there is no way to enforce that LateBoundDefaults only access the fragments that they declare. This means that LateBoundDefaults can fail to declare fragments at all, or declare the wrong ones, and still have no troubles. But when trimming, these fragments must be declared, because otherwise they will not necessarily be available. This change refactors LateBoundDefault to declare a single fragment type, not a set. All existing LateBoundDefaults use sets with a single element or no elements at all for their set of fragment classes, so this does not limit anything being done currently. To account for LateBoundDefaults which do not use configuration at all, typically those which only want to access the configured attribute map, it is possible for Void to be the fragment class which is requested. To account for LateBoundDefaults which need to access methods of the BuildConfiguration instance itself, it is possible for BuildConfiguration to be the fragment class which is requested; however, this is unsafe, so it is only a temporary state until a way to do this without also giving access to all of the fragments can be added. Drive-by refactoring: LateBoundDefaults' values are now typed. All actual production LateBoundDefaults were Label or List<Label> typed, through the LateBoundLabel and LateBoundLabelList subclasses. These subclasses have been removed, and LateBoundDefault has two type parameters, one for the type of its input, and one for the type of its output. RELNOTES: None. PiperOrigin-RevId: 169242278
* Move RuleConfiguredTarget to lib.analysis.configuredtargets.Gravatar gregce2017-09-19
| | | | | | This is a trivial change with a large file footprint. PiperOrigin-RevId: 169169864
* Project reorg: move *ConfiguredTarget to new configuredtargets/ pathGravatar gregce2017-09-18
| | | | | | | Exempt RuleConfiguredTarget in this change because that's liable to touch a billion files. PiperOrigin-RevId: 168929827
* Every rule class that uses a cc_toolchain also has knowledge of the label forGravatar cpeyser2017-09-18
| | | | | | the c++ toolchain type through an implicit attribute. PiperOrigin-RevId: 168864540
* Automated rollback of commit f26e8694ae78599b3e2004e3360eaf3443fa53a6.Gravatar hlopko2017-09-18
| | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks clang_tidy. *** Original change description *** Introduce -c source_file -o output_file build variables Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and -o flags. This cl removes this logic and relies on crosstool to emit these flags. This is another small step towards platform independent C++ rules. Memory use is not affected, since the build variables used by this cl are already exposed, this cl just forces crosstools to use it. RELNOTES: None. PiperOrigin-RevId: 168834576
* Automatic code cleanup.Gravatar cushon2017-09-15
| | | | PiperOrigin-RevId: 168802886
* Support multiple command lines / params files in SpawnAction.Gravatar tomlu2017-09-15
| | | | | | This is necessary for the upcoming Skylark implementation of param files. PiperOrigin-RevId: 168744486
* Introduce -c source_file -o output_file build variablesGravatar hlopko2017-09-14
| | | | | | | | | | | | Prior to this cl CompileCommandLine would (almost) unconditionally emit -c and -o flags. This cl removes this logic and relies on crosstool to emit these flags. This is another small step towards platform independent C++ rules. Memory use is not affected, since the build variables used by this cl are already exposed, this cl just forces crosstools to use it. RELNOTES: None. PiperOrigin-RevId: 168671507