aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
Commit message (Collapse)AuthorAge
* Create injectable semantics for include validation, to allow it to be turnedGravatar Cal Peyser2016-09-01
| | | | | | | off in the objc case. -- MOS_MIGRATED_REVID=131943500
* experimental_objc_library can compile assembly.Gravatar Cal Peyser2016-09-01
| | | | | -- MOS_MIGRATED_REVID=131830446
* Add resource support to experimental_objc_library.Gravatar Cal Peyser2016-08-31
| | | | | -- MOS_MIGRATED_REVID=131827507
* Remove the "cc_*.includes attribute must refer to the third_party directory" ↵Gravatar Lukacs Berki2016-08-31
| | | | | | | | | | | warning from Bazel. This behavior doesn't really make sense except within Google. Fixes #1286. -- MOS_MIGRATED_REVID=131813322
* Remove experimental_ios_test from allowed deps of objc_xcodeproj.Gravatar Cal Peyser2016-08-31
| | | | | -- MOS_MIGRATED_REVID=131754938
* Use correct platform for Swift stdlib actions.Gravatar Dmitry Shevchenko2016-08-30
| | | | | -- MOS_MIGRATED_REVID=131625616
* apple_binary propagates appropriate dSYM information, and ↵Gravatar Chris Parsons2016-08-30
| | | | | | | apple_watch2_extension generates a dSYM bundle when --apple_generate_dsym is specified. -- MOS_MIGRATED_REVID=131617351
* Appropriately set platform environment variables in release bundle plists.Gravatar Chris Parsons2016-08-30
| | | | | | | Previously, iphonesimulator / iphoneos platform information was being set even for watchos extensions. -- MOS_MIGRATED_REVID=131607183
* Instead of using the smallest group as the inputs for the generation ↵Gravatar Sergio Campama2016-08-27
| | | | | | | actions, use instead the intersection of all the groups in which each proto appears. This further minimizes the average number of inputs per generation/compilation action. -- MOS_MIGRATED_REVID=131434027
* Add propagated headers to experimental_objc_library compile action to enableGravatar Cal Peyser2016-08-27
| | | | | | | dependence on objc_import targets. -- MOS_MIGRATED_REVID=131424927
* Expose some values needed for Apple code signing to Skylark.Gravatar Googler2016-08-25
| | | | | -- MOS_MIGRATED_REVID=131302341
* Rollback of commit 0545788b86c8ff58f22ac62e51d096e876e7feea.Gravatar Sergio Campama2016-08-23
| | | | | | | | | | | | | *** Reason for rollback *** Breaks tachyon because of the fact that it has duplicate symbol errors but they get discarded when compiled into the same archive, which is not the case anymore as we are being more clever with dependencies.... *** Original change description *** Instead of using the smallest group as the inputs for the generation actions, use instead the intersection of all the groups in which each proto appears. This further minimizes the average number of inputs per generation/compilation action. -- MOS_MIGRATED_REVID=131099657
* Removes the generation of modulemaps per proto group, and only adds one per ↵Gravatar Sergio Campama2016-08-23
| | | | | | | | | proto target. Removes module map generation for binary targets. Filter well known protos from ProtocolBuffers2 as there may be some proto_library targets including them. -- MOS_MIGRATED_REVID=131093115
* Adds a flag to generate LLVM coverage symbols.Gravatar Erik Abair2016-08-23
| | | | | | | | | This change adds a new --experimental_use_llvm_covmap flag which may be used in conjunction with the --collect_code_coverage flag to generate LLVM style coverage symbols instead of gcov. -- MOS_MIGRATED_REVID=131065609
* Propagate defines through objc -> cc deps.Gravatar Cal Peyser2016-08-23
| | | | | -- MOS_MIGRATED_REVID=131055419
* Avoid setting CFBundleExecutable on objc_bundle_library plistsGravatar Chris Parsons2016-08-23
| | | | | -- MOS_MIGRATED_REVID=130971534
* Move $swiftstdlibtoolwrapper to ReleaseBundlingToolsRule, the accurate place ↵Gravatar Chris Parsons2016-08-23
| | | | | | | | | for rules to inherit from which require it. This fixes a apple_watch2_extension bug in which this swift tool is unavailable (because it is undefined). -- MOS_MIGRATED_REVID=130961298
* Enables objc_proto_library to depend on other objc_proto_libraries. This ↵Gravatar Sergio Campama2016-08-23
| | | | | | | only works when using the new version of objc_proto_library by adding the portable_proto_filters attribute. -- MOS_MIGRATED_REVID=130952647
* Add a switch to treat any objc_library like an experimental_objc_library. ThisGravatar Cal Peyser2016-08-23
| | | | | | | will be used to perform tests of the changeover. -- MOS_MIGRATED_REVID=130943982
* Instead of using the smallest group as the inputs for the generation ↵Gravatar Sergio Campama2016-08-22
| | | | | | | actions, use instead the intersection of all the groups in which each proto appears. This further minimizes the average number of inputs per generation/compilation action. -- MOS_MIGRATED_REVID=130867114
* When building protos on a linking target, propagate the protos header search ↵Gravatar Sergio Campama2016-08-22
| | | | | | | paths so that ios_test targets can access them without the need to use non_propagate_deps for protos. -- MOS_MIGRATED_REVID=130796608
* Enables support for compiling generated proto files (as in genrules).Gravatar Sergio Campama2016-08-22
| | | | | -- MOS_MIGRATED_REVID=130755375
* Implement the fully link action in the OSX crosstool.Gravatar Cal Peyser2016-08-18
| | | | | -- MOS_MIGRATED_REVID=130547971
* Restore objc -> cc_inc_library deps, add regression test.Gravatar Cal Peyser2016-08-18
| | | | | -- MOS_MIGRATED_REVID=130546999
* Propagate DEVELOPER_DIR environment variable to the apple release bundling ↵Gravatar Chris Parsons2016-08-18
| | | | | | | codesign action. -- MOS_MIGRATED_REVID=130530871
* Add defines to experimental_objc_library.Gravatar Cal Peyser2016-08-17
| | | | | -- MOS_MIGRATED_REVID=130424806
* Add a more robust test for cc_library deps that is not confused by anGravatar Cal Peyser2016-08-17
| | | | | | | experimental_objc_library, which may export cc providers. -- MOS_MIGRATED_REVID=130415669
* Make the proto bundling behavior the default when using the new library. Take 2Gravatar Sergio Campama2016-08-17
| | | | | -- MOS_MIGRATED_REVID=130406840
* Adds proto grouping behavior so that generation and compilation actions are ↵Gravatar Sergio Campama2016-08-16
| | | | | | | much smaller. This adds more granularity and helps prevent excessive compilation by minimizing the number of inputs for each action. -- MOS_MIGRATED_REVID=130359288
* Fix binary attribute documentation for apple1 and apple2 extension rules.Gravatar Chris Parsons2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130330900
* Allow Skyframe graph lookups and value retrievals to throw InterruptedException.Gravatar Janak Ramakrishnan2016-08-16
| | | | | | | The only place we now don't handle InterruptedException is in the action graph created after analysis, since I'm not sure that will be around for that much longer. -- MOS_MIGRATED_REVID=130327770
* Support xcode project generation in experimental_objc_library.Gravatar Cal Peyser2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130123926
* Add copts and objccopts to experimental_objc_library.Gravatar Cal Peyser2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130114142
* Implement objc archiving in the crosstool. This involves a few steps:Gravatar Cal Peyser2016-08-12
| | | | | | | | | | | 1) In ExperimentalObjcLibrary, if static linking is required, signal CcLibraryHelper to create a static link action and pass in the necessary variables/link action input. 2) Add a new link type (Link.LinkTargetType.OBJC_STATIC_LIBRARY). This involves changes to Link and LinkCommandLine. 3) For this new link type, implement static linking the OSX CROSSTOOL. Also add tools in the crosstool package that point at libtool, which performs the archiving. -- MOS_MIGRATED_REVID=130022410
* Adds propagation of protobuf's headers and search paths through ↵Gravatar Sergio Campama2016-08-12
| | | | | | | ObjcProtoProvider and ObjcProtoAspect. -- MOS_MIGRATED_REVID=129997369
* Record the category of the artifact to be linked in LinkerInput.Gravatar Lukacs Berki2016-08-12
| | | | | | | | | It's currently only used for sanity checks, but the idea is that we'll use this field to decide what to do with a given linker input instead of inferring things from its file name. Also make artifact name creation a bit simpler by using the same set of variables for compiler and linker outputs. -- MOS_MIGRATED_REVID=129990944
* Add the repository name as a parameter to the output path functionsGravatar Kristina Chodorow2016-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't do anything yet, it's in preparation for the execroot rearranging change. The execroot will have one bazel-out per repo, so it'll look like: execroot/ repo1/ bazel-out/ local-fastbuild/ bin/ repo2/ bazel-out/ local-fastbuild/ bin/ genfiles/ repo3/ bazel-out/ local-fastbuild/ testlogs/ and so on. Thus, any output path (getBinDirectory() & friends) needs to know what the repo name is. This changes so many places in the code I thought it would be good to do separately, then just flip the functionality in the execroot-rearranging commit. While I was poking around, I changed all of the refs I could from getPackageRelativeArtifact() to getBin/GenfilesArtifact(), so that 1) rule implementation don't have to know as much about roots and 2) they'll be more isolated from other output dir changes. `bazel info` and similar just return roots for the main repository. The only "change" is passing around a target label in the Java rules. Continues work on #1262. -- MOS_MIGRATED_REVID=129985336
* Refactors out ProtocolBuffers2 related code into it's own class. This is the ↵Gravatar Sergio Campama2016-08-11
| | | | | | | | | first step into integrating the grouping behavior for proto targets using the new library. There's no change in functionality, only restructuring of code. -- MOS_MIGRATED_REVID=129903574
* Rephrase tests so that they can be shared between objc_library andGravatar Cal Peyser2016-08-10
| | | | | | | | | | | experimental_objc_library. Do this by introducing CommandAction, which contains the common interface of SpawnAction and CppCompileAction needed for testing. This change will allow compilation, linking, and archiving tests to be copied over into the experimental tests. -- MOS_MIGRATED_REVID=129749930
* Refactor C++ rules so that CcLinkingOutputs.libraryIdentifierOf() gets ↵Gravatar Lukacs Berki2016-08-09
| | | | | | | called at places where a CcToolchainProvider is near so that we can use information in it to infer how each input file is linked. -- MOS_MIGRATED_REVID=129729628
* Add SkylarkClassObjectConstructor - a future return value of "provider" ↵Gravatar Dmitry Lomov2016-08-09
| | | | | | | function. -- MOS_MIGRATED_REVID=129726780
* Make SkylarkClassObject "Bazel-specific".Gravatar Dmitry Lomov2016-08-05
| | | | | | | This in preparation to DeclaredProviders implementation. -- MOS_MIGRATED_REVID=129420617
* Introduce apple_watch2_extension rule for bundling watchOS2 extensions.Gravatar Chris Parsons2016-08-03
| | | | | | | | | | | This can be used in conjunction with apple_binary to add watchOS2 extensions to an ios application bundle. This is the majority of the native work for this bundling logic. Before announcing general availability of this feature, we will want to: 1. Iterate with teams who have existing watchOS2 apps to catch any corner-case bugs 2. Introduce a skylark macro to wrap apple_watch2_extension and apple_binary into a single rule; this will both serve as a convenience and ensure users set the appropriate linkopts and platformtype on their apple_binary target. -- MOS_MIGRATED_REVID=129122855
* Allow objc rule deps to include any rule that exports an "objc" provider.Gravatar Googler2016-08-01
| | | | | | | | | | | This change was motivated by a need to write pure Skylark rules that expose their own objc providers so they can be used as deps to other libraries/application targets (e.g., SceneKit/SpriteKit compiled resources, []) without having to whitelist them and wait for a Blaze release. This CL fixes what seems to be a bug in validateRuleDependency, where the behavior in the doc comment implies that it will accept a whitelisted rule name *or* a list of mandatory providers, but as implemented today it seems to require the rule to be whitelisted even if the mandatory native providers matched. RELNOTES: objc_* rules can now depend on any target that returns an "objc" provider. -- MOS_MIGRATED_REVID=128835096
* Replace calls to SpawnAction$Builder#addInputs(NestedSet) with ↵Gravatar Liam Miller-Cushon2016-07-29
| | | | | | | addTransitiveInputs -- MOS_MIGRATED_REVID=128820723
* Rollforward of change that broke #1579 with test fix (need to specify ↵Gravatar Chris Parsons2016-07-29
| | | | | | | | | | | | | ios_sdk_version and xcode_version for our CI macs) *** Original change description *** Remove apple_binary's implicit output _lipo.a. This also removes the restriction that apple_binary targets must have at least one src file specified. -- MOS_MIGRATED_REVID=128721251
* Roll forward of commit 05c0bd286b3802ad3d7faf48bc19e86929a9cf6d:Gravatar Dmitry Shevchenko2016-07-29
| | | | | | | | | Include SwiftSupport directory into the IPA when an app contains Swift. * To pass App Store validation, an app that contains Swift code must have a SwiftSupport directory at the root of the IPA. -- MOS_MIGRATED_REVID=128706028
* Rollback of commit 8643954b818547339e8055d0aa4867c1286ebca1.Gravatar Damien Martin-Guillerez2016-07-29
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Broke //src/test/shell/bazel:bazel_apple_test Fixes #1579 *** Original change description *** Remove apple_binary's implicit output _lipo.a. This also removes the restriction that apple_binary targets must have at least one src file specified. -- MOS_MIGRATED_REVID=128698089
* --Gravatar Carmi Grushko2016-07-28
| | | | MOS_MIGRATED_REVID=128663072
* Remove apple_binary's implicit output _lipo.a.Gravatar Chris Parsons2016-07-28
| | | | | | | This also removes the restriction that apple_binary targets must have at least one src file specified. -- MOS_MIGRATED_REVID=128633173