aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java
Commit message (Collapse)AuthorAge
* 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
* Separates the proto compilation action from the other linking sources, to ↵Gravatar Sergio Campama2016-06-06
| | | | | | | isolate them from the linking target's defines and copts flags. Refactors CompilationAttributes into its own class with the Builder pattern. -- MOS_MIGRATED_REVID=124137672
* Support for gathering all the protos seen in the transitive closure of ↵Gravatar Sergio Campama2016-05-25
| | | | | | | dependencies through the ObjcProtoAspect, compiling and linking the generated protos at the final linking target. This is only enabled for objc_proto_libraries using the portable_proto_filters attribute, and guarded with the "--experimental_auto_top_level_union_objc_protos" flag. This prevents duplicate symbol errors as the generated sources are only linked once. -- MOS_MIGRATED_REVID=123144532
* Allow use of Exceptions to exit early out of configured-target creation, ↵Gravatar Chris Parsons2016-05-24
| | | | | | | | | | instead of passing and checking null in all helpers. Demonstrates this pattern usage in a few select rules (e.g. AndroidBinary) where this was particularly egregious. There are many places which can benefit from this pattern -- this change doesn't try to fix them all at once. -- MOS_MIGRATED_REVID=123012378
* Introduces a registry of native providers to the BuildConfiguration, which ↵Gravatar Cal Peyser2016-05-03
| | | | | | | can be added to by fragments. Uses the registry to enable native access to TranstiveProviderInstances from Skylark. In particular, makes ObjcProvider accessible to skylark rule implementations. -- MOS_MIGRATED_REVID=121390911
* Refactor CompilationSupport.registerFullyLinkedAction to be the ↵Gravatar Chris Parsons2016-04-26
| | | | | | | | | | responsibility of the caller to invoke, instead of creating the fully linked artifact by default It makes more sense for the caller rule to opt-in to creating its own implicit output. This also makes it easier for classes to use CompilationSupport without generating this artifact. -- MOS_MIGRATED_REVID=120764517
* Exposes ObjcProvider for objc_proto_library and j2objc_library rules.Gravatar Erik Abair2016-04-25
| | | | | -- MOS_MIGRATED_REVID=120708846
* Blaze - ObjcProtoLibrary: Adds support for the new protobuf library. This ↵Gravatar Googler2016-02-24
| | | | | | | includes improvements such as proto3 syntax support for Objective C. -- MOS_MIGRATED_REVID=115395892
* Pass "--working_dir ." to the compile_protos scriptGravatar Chris Parsons2016-01-28
| | | | | -- MOS_MIGRATED_REVID=113200224
* Use xcode_config build target for actions which need to resolve an xcode ↵Gravatar Chris Parsons2016-01-13
| | | | | | | version. -- MOS_MIGRATED_REVID=111978539
* Remove --objc_per_proto_includes flag, which was obsoleted by the rule-level ↵Gravatar Googler2015-11-18
| | | | | | | | | attribute of the same name. RELNOTES: Remove obsolete --objc_per_proto_includes flag. -- MOS_MIGRATED_REVID=108056207
* 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
* Separate build-specific types and types inherent to Skylark.Gravatar Lukacs Berki2015-09-21
| | | | | -- MOS_MIGRATED_REVID=103374106
* 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
* Rollforward of [], which was rolled back in []. Cleans up support for ↵Gravatar Michael Thvedt2015-09-14
| | | | | | | objc_proto_library with native proto_library. -- MOS_MIGRATED_REVID=102962083
* Rollback of commit 17e9d7cd408eee1e4e73a1fe6f76917954475937.Gravatar Carmi Grushko2015-09-04
| | | | | -- MOS_MIGRATED_REVID=102299629
* Turn Bazel proto_library on for objc_proto_library.Gravatar Michael Thvedt2015-09-04
| | | | | -- MOS_MIGRATED_REVID=102294703
* bazel --xcode_version flag to forward an environment variable ↵Gravatar Chris Parsons2015-09-02
| | | | | | | XCODE_VERSION_OVERRIDE to executors if specified -- MOS_MIGRATED_REVID=102049561
* Prefer RuleContext.getFragment over BuildConfiguration.getFragment.Gravatar Ulf Adams2015-08-24
| | | | | | | This improves the coverage of the legality check in RuleContext.getFragment. -- MOS_MIGRATED_REVID=101208822
* RELNOTES: Allow private headers in the srcs attribute. Add a warning if a ↵Gravatar Googler2015-08-20
| | | | | | | | | file is in both srcs and hdrs. This uses a very restrictive definition of private headers. They may only imported by sources in the same target and other private headers. They are not transitively available to dependers, even indirectly, though this may change in the future. -- MOS_MIGRATED_REVID=101028706
* Add an attribute 'per_proto_includes' which can be set on an ↵Gravatar Googler2015-08-14
| | | | | | | | | objc_proto_library overriding the global setting. This is needed as third_party libraries often do not use depot-relative include paths. RELNOTES: Add objc_proto_library.per_proto_includes attribute. -- MOS_MIGRATED_REVID=100637689
* Remove calls to AnalysisEnvironment.getDerivedArtifact() from Objective C rules.Gravatar Lukacs Berki2015-07-30
| | | | | -- MOS_MIGRATED_REVID=99453475
* Description redacted.Gravatar Rumou Duan2015-07-28
| | | | | -- MOS_MIGRATED_REVID=99234569
* For objc_proto_library, use root relative path of input protos to determine ↵Gravatar Chris Parsons2015-07-27
| | | | | | | | | output location instead of exec path. Prior to this fix, protos that were generated (and thus within genfiles as opposed to bin) would have their objc proto library output to the wrong location -- MOS_MIGRATED_REVID=98940823
* 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
* Simplify OptionsProvider logic.Gravatar Peter Schmitt2015-05-15
| | | | | | | | Eventually objc_options will go away but for now this reduces unnecessary logic and reduces rule/support interdependencies. -- MOS_MIGRATED_REVID=93653491
* Simplify ConfiguredTarget construction.Gravatar Peter Schmitt2015-05-15
| | | | | | | | This is part of a series of changes to reduce/remove ObjcCommon. In this case removing a method that added needless complexity. -- MOS_MIGRATED_REVID=93573019
* Clean up obcj rules by removing ObjcActionsBuilder.Gravatar Peter Schmitt2015-05-15
| | | | | | | | Moved the last remaining logic to its corresponding support class (XcodeSupport). -- MOS_MIGRATED_REVID=93462899
* Add a genrule that generates a dummy J2ObjC dead code removal script in ↵Gravatar Googler2015-05-15
| | | | | | | tools/objc/BUILD. -- MOS_MIGRATED_REVID=93447039
* Description redacted.Gravatar Keefer Taylor2015-05-08
| | | | | -- MOS_MIGRATED_REVID=93066384
* 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
* RELNOTES:Observe "non_propagated_deps" on objc rules in generated XCode ↵Gravatar Googler2015-04-16
| | | | | | | project files. -- MOS_MIGRATED_REVID=91300378
* objc: Add flag to disable per-proto includesGravatar Daniel Wagner-Hall2015-04-10
| | | | | -- MOS_MIGRATED_REVID=90750827
* Pull compilation support out of ObjcActionsBuilderGravatar Daniel Wagner-Hall2015-04-08
| | | | | -- MOS_MIGRATED_REVID=90441648
* Prevent clashing xcode targets for multiple architectures.Gravatar Peter Schmitt2015-03-20
| | | | | | | | | | | Without this change we create a xcode target for each combination (target, architecture) which causes the xcode project generation to blow up: Xcode transparently handles architectures. Eventually we want to match Xcode's behaviour but for now we export just a single architecture's xcode targets which should allow developers to work in xcode as before while preserving multi-architecture compilation for IPAs in blaze. -- MOS_MIGRATED_REVID=88973190
* Compiling protos should generate coverage files(.gcno) if in coverage mode.Gravatar Googler2015-03-11
| | | | | -- MOS_MIGRATED_REVID=88236380
* 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