aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java
Commit message (Collapse)AuthorAge
* Remove breakpad support from bazelGravatar Dmitry Shevchenko2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125385321
* Wrap inputs to ObjcLink (via clang) invocations in an objlist, and pass the ↵Gravatar Chris Parsons2016-06-20
| | | | | | | | | | | args as a -filelist arg. This prevents certain many-arg actions from making clang unhappy. Also ensures that no -force_load artifacts are present in the filelist. Clang seems to not dedupe artifacts present in both a filelist and -force_load, causing duplicate symbol errors. -- MOS_MIGRATED_REVID=125170226
* Rollback of commit bbab724f9c3600952a65a90febf50e1118568a96.Gravatar Peter Schmitt2016-06-14
| | | | | | | | | | | | | | *** Reason for rollback *** Breaks linking for all objc targets. *** Original change description *** Wrap inputs to ObjcLink (via clang) invocations in an objlist, and pass the args as a -filelist arg. This prevents certain many-arg actions from making clang unhappy. -- MOS_MIGRATED_REVID=124781451
* Always register module map actions.Gravatar Dmitry Shevchenko2016-06-09
| | | | | | | | | | | | | * Makes it so module map generation action will be registered for all targets that should provide module maps. This allows other rules to depend directly on modulemap artifacts without turning on --experimental_objc_enable_module_maps for all builds. * Disabled module maps for apple_binary because of a bug. * objc_proto_library targets will register module map generation even with experimental union flag so that its modules can be imported by the dependent targets (even though the compilation is happening much later in the linking target). RELNOTES: -- MOS_MIGRATED_REVID=124386048
* Wrap inputs to ObjcLink (via clang) invocations in an objlist, and pass the ↵Gravatar Chris Parsons2016-06-09
| | | | | | | | | args as a -filelist arg. This prevents certain many-arg actions from making clang unhappy. -- MOS_MIGRATED_REVID=124367172
* Add module map support to ExperimentalObjcLibrary, which contains ↵Gravatar Cal Peyser2016-06-07
| | | | | | | | | | | | | | experimental support for building objc code using the c++ crosstool. This will eventually replace the current module support in blaze. Note: This required injecting a CppModuleMap into the cc logic. The reason that objc cannot rely on standard CppModuleMap creation logic is that there is different naming semantics for module maps between cpp and objc. In particular: - In cc, module maps can be inputs to a compilation action. Thus, the module maps are given labels. - In objc, if interoping with swift, module maps are explicitly referenced in swift code. Thus, their names cannot contain illegal characters for swift source. Those, some name mangling occurs to get rid of "//" and ":". To enforce that this does not cause problems with compilation actions, the CPP_MODULE_COMPILE action has been disabled for the objc CcLibraryHelper.SourceCategory -- MOS_MIGRATED_REVID=124177067
* Refactor CompilationSupport and IntermediateArtifacts to optionally take a ↵Gravatar Chris Parsons2016-04-20
| | | | | | | BuildConfiguration that is not the current rule context's configuration. -- MOS_MIGRATED_REVID=120271518
* Do not collide intermediate and final output dsym artifacts.Gravatar Peter Schmitt2016-04-14
| | | | | -- MOS_MIGRATED_REVID=119848254
* Add 'apple_watch1_extension' and 'apple_watch_extension_binary' to support ↵Gravatar Googler2016-04-05
| | | | | | | | | building watch OS 1 apps. RELNOTES: Support apple_watch1_extension and apple_watch_extension_binary rules for creating watch OS 1 extensions. -- MOS_MIGRATED_REVID=119000703
* *_test rules now return an .xctest.dSYM bundle.Gravatar Googler2016-04-01
| | | | | -- MOS_MIGRATED_REVID=118786316
* Add support for objc_generate_linkmap argument that controls whether a link ↵Gravatar Dave MacLachlan2016-03-31
| | | | | | | | | map is generated. R_FUTURE=cparsons -- MOS_MIGRATED_REVID=118631953
* Adds the dsym files to the ios_application output when using ↵Gravatar Googler2016-03-30
| | | | | | | --objc_generate_debug_symbols. These are delivered in distinct files, with an architecture identifier. -- MOS_MIGRATED_REVID=118510432
* Add user-defined IPA post-processors.Gravatar Peter Schmitt2016-02-23
| | | | | | | RELNOTES[NEW]: iOS ipa_post_processor attribute allows for user-defined IPA edits. -- MOS_MIGRATED_REVID=115338312
* Move ObjC compilation actions for J2ObjC-translated code from binary level ↵Gravatar Rumou Duan2016-02-05
| | | | | | | | | | | | to the edges (J2ObjcAspect and J2ObjcProtoAspect). RELNOTES[INC]: ObjC compile actions for J2ObjC-translated code now only has access to headers from the java deps of the associated original java rule. These compile actions no longer takes the compiler options specified in "copts" attribute on objc_binary/ios_test rules. J2ObjC dead code removal (enabled through flag "--j2objc_dead_code_removal") now happens *after* ObjC compilation. -- MOS_MIGRATED_REVID=113910545
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Rationalize copyright headersGravatar Damien Martin-Guillerez2015-09-25
| | | | | | | | | | | The headers were modified with `find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'` And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan. The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand. -- MOS_MIGRATED_REVID=103938715
* Move Label from the lib.syntax to the lib.cmdline package so that:Gravatar Lukacs Berki2015-09-21
| | | | | | | | | | - Label parsing can be simplified - lib.syntax is only contains the code for Skylark and is reasonably independent from the problem domain of building things This change is mostly only changes to imports declarations. The rest is reversing the dependency between :cmdline and :syntax and moving a tiny amount of code between Printer and FilesetEntry and the addition of SkylarkPrintableValue that I couldn't be bothered to separate out into its own change. -- MOS_MIGRATED_REVID=103527877
* Generate module maps for each objc_* target with compilation support.Gravatar Googler2015-09-15
| | | | | | | | | This uses CppModuleMap and CppModuleMapAction to generate clang module maps for the target and its transitive dependencies. To enable this feature, you must pass -experimental_objc_enable_module_maps to bazel. For objc_* targets that need to use the "modules" language features (@import, Swift interop, etc), set the "enable_modules" attribute to 1. -- MOS_MIGRATED_REVID=103045673
* Have clang output .d dependency files during ObjcCompile.Gravatar Googler2015-09-15
| | | | | | | | | These are not currently used by anything. The next step is for bazel to read these files and use them to check the declared dependencies for correctness. RELNOTES: -- MOS_MIGRATED_REVID=103023531
* Base .entitlements (and related extension) files on the full target label as ↵Gravatar Chris Parsons2015-09-09
| | | | | | | | | opposed to treating the label name as a file (which the extension is stripped from). This prevents this functionality from breaking if the target contains what looks like an extension (e.g. test.foo) -- MOS_MIGRATED_REVID=102600479
* Fix ios debug symbol generation on Bazel.Gravatar Rumou Duan2015-09-02
| | | | | -- MOS_MIGRATED_REVID=102175026
* Link to tools/objc/dummy.c from output directory to allow xcodeproj to ↵Gravatar Chris Parsons2015-08-26
| | | | | | | resolve the file even while outside a workspace which contains it -- MOS_MIGRATED_REVID=101462428
* Remove calls to AnalysisEnvironment.getDerivedArtifact() from Objective C rules.Gravatar Lukacs Berki2015-07-30
| | | | | -- MOS_MIGRATED_REVID=99453475
* Add two binary size optimizations when --compilation_mode=opt and ↵Gravatar Rumou Duan2015-06-23
| | | | | | | | | | | | --objc_enable_binary_stripping are specified: 1. Symbol strippings. A new strip action is registered that uses Darwin tool /usr/bin/strip to remove the symbol table of the linked binary. 2. Dead-code strippings, which uses linker flag "--dead_strip" to remove unreachable code in binary link action. RELNOTES: Add a flag "objc_enable_binary_stripping" to enable symbol and dead code strippings on linked binaries generated by ObjC rules. -- MOS_MIGRATED_REVID=96587585
* Rollback of commit 6af85020b520a9dd2bd913562b16716c29c3dbc3.Gravatar Laszlo Csomor2015-06-23
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks ios_test targets. *** Original change description *** Add two binary size optimizations when --compilation_mode=opt is specified: 1. Symbol strippings. A new strip action is registered that uses Darwin tool /usr/bin/strip to remove the symbol table of the linked binary. 2. Dead-code strippings, which uses linker flag "--dead_strip" to remove unreachable code in binary link action. RELNOTES: Perform symbol and dead code strippings on linked binaries generated by ObjC rules. -- MOS_MIGRATED_REVID=96551473
* Gets rid of unused actooloribtoolzip.Gravatar Googler2015-06-18
| | | | | | | | | This has been replaced by actoolzip and ibtoolzip. Also add some documentation as to how the build process for the tools work. -- MOS_MIGRATED_REVID=96239107
* Add two binary size optimizations when --compilation_mode=opt is specified:Gravatar Rumou Duan2015-06-18
| | | | | | | | | | 1. Symbol strippings. A new strip action is registered that uses Darwin tool /usr/bin/strip to remove the symbol table of the linked binary. 2. Dead-code strippings, which uses linker flag "--dead_strip" to remove unreachable code in binary link action. RELNOTES: Perform symbol and dead code strippings on linked binaries generated by ObjC rules. -- MOS_MIGRATED_REVID=96211910
* Add ability to compile objc_binary targets with Swift sources.Gravatar Googler2015-06-17
| | | | | | | | | | | | | * Swift sources whitelisted * Swift compilation and module merging actions * Swift stdlib copying into IPA action * Special case for signing embedded swift stdlib dylibs during bundle signing * Works with mixed ObjC/Swift sources * Doesn't support working with dependencies from Swift code. * Requires Xcode 6.3.1 for swift compiler and tooling. -- MOS_MIGRATED_REVID=96141887
* Rollback of commit 162d5b276e1539b1acc44afcd4a4ccadcf99023a.Gravatar Googler2015-06-15
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks targets that have the same .m file in both srcs and hdrs. *** Original change description *** Allow private header files in the srcs attribute of objc_* rules. This uses CppModuleMap and CppModuleMapAction to generate clang module maps for the target and its transitive dependencies. clang enforces private header usage through these maps. Right now module maps are interpreted but modules aren't enabled. RELNOTES: Allow private header files in the srcs attribute of objc_* rules. -- MOS_MIGRATED_REVID=95916531
* Allow private header files in the srcs attribute of objc_* rules.Gravatar Googler2015-06-15
| | | | | | | | | This uses CppModuleMap and CppModuleMapAction to generate clang module maps for the target and its transitive dependencies. clang enforces private header usage through these maps. Right now module maps are interpreted but modules aren't enabled. RELNOTES: Allow private header files in the srcs attribute of objc_* rules. -- MOS_MIGRATED_REVID=95844137
* Support --objc_generate_debug_symbols when --ios_multi_cpus is set.Gravatar Philipp Wollermann2015-05-15
| | | | | | | | | | | | | | | | | | | | When an ios_application is built, Bazel now collects the .breakpad files for each architecture and tweaks the first line of each file to reflect the name of the app, instead of the name of the binary: MODULE mac arm64 5A70922132B738E194DDBC456F90F43F0 PrenotCalculatorBinary_bin becomes MODULE mac arm64 5A70922132B738E194DDBC456F90F43F0 PrenotCalculator Bazel also correctly renames the files to end with their architecture, so that the crash server can use them: armv7/.../PrenotCalculatorBinary.breakpad becomes PrenotCalculator_armv7.breakpad -- MOS_MIGRATED_REVID=93419816
* Ensure extension's bundle minimum OS version is at least 8.0.Gravatar Peter Schmitt2015-04-28
| | | | | | | | | | | | | | | | | This is required because Apple does not accept extensions whose plist has a minimum OS value lower than 8.0, or whose code is compiled at less than 8.0, even if it is included in an application that is compiled for, and marked compatible with, a lower OS version. Note that I didn't make this an attribute for now as there are no use cases for setting the value to anything but 8.0. If we ever need to make this user-configurable, a value can easily be set. Second submission attempt with small additional logic to distinguish xcode projects across configurations. -- MOS_MIGRATED_REVID=92267493
* Description redacted.Gravatar Peter Schmitt2015-04-24
| | | | | -- MOS_MIGRATED_REVID=91881146
* Ensure extension's bundle minimum OS version is at least 8.0.Gravatar Peter Schmitt2015-04-23
| | | | | | | | | | | | | | This is required because Apple does not accept extensions whose plist has a minimum OS value lower than 8.0, or whose code is compiled at less than 8.0, even if it is included in an application that is compiled for, and marked compatible with, a lower OS version. Note that I didn't make this an attribute for now as there are no use cases for setting the value to anything but 8.0. If we ever need to make this user-configurable, a value can easily be set. -- MOS_MIGRATED_REVID=91831415
* structured_resources allows directories in .app.Gravatar Peter Schmitt2015-03-11
| | | | | | | RELNOTES: objc_* rules can use structured_resources -- MOS_MIGRATED_REVID=88337360
* Scope the paths of objc compilation artifacts from J2Objc-generated code ↵Gravatar Googler2015-03-05
| | | | | | | using both the associated Java target label and the binary/test target that generates the compilation action. This fixes a bug in which two binary/test targets containing the same Java target to translate leads to shared actions when users execute more than one such binary/test targets in a single Blaze invocation. -- MOS_MIGRATED_REVID=87364125
* RELNOTES: Invoking blaze run on an objc_binary target launches iossim with ↵Gravatar Googler2015-03-04
| | | | | | | | | the resulting app. This adds very basic run support for objc_binary targets. It simply launches them in iossim with the default device and SDK. -- MOS_MIGRATED_REVID=87286604
* Implement ios_extension rule. See IosExtensionRule.java for information on ↵Gravatar Matthew DeVore2015-02-20
| | | | | | | | | how app extensions are built and how they differ from application bundles. RELNOTES: Support ios_extension and ios_extension_binary rules for creating iOS app extensions. -- MOS_MIGRATED_REVID=86788086
* Coverage implementation for Objective C.Gravatar Googler2015-02-18
| | | | | | | | | | | | | | | Added gcnoFile() to translate a source file to its corrosponding .gcno file. Added "-fprofile-arcs", "-ftest-coverage", "-fprofile-dir=./coverage_output" to compiler flags when compiling in coverage mode. Added "-fprofile-arcs", "-ftest-coverage" to linker flags when linking in coverage mode. Added constructor for InstrumentedFilesProviderImpl that was recently removed due to being unused in []. Added .gcno files to runfiles of IosTest runner to be used by gcov after tests have been run. This CL + [] will enable blaze coverage will work on an ios_test target. An example of the [] output of this change + [] is -- MOS_MIGRATED_REVID=86601223
* Update from Google.Gravatar Han-Wen Nienhuys2015-02-25
-- MOE_MIGRATED_REVID=85702957