aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
Commit message (Collapse)AuthorAge
* Always use exactly two components in Xcode version featureHEADmasterGravatar bbaren2018-08-15
| | | | | | | | | | | | | | | | When setting the standard Xcode version feature (see commit eb952d08f76afa907bb34eaf7e1a69899102c523), always use exactly two components for the version number. Grouping all point releases together simplifies writing CROSSTOOLs. Also fix a bug in MockObjcSupport that prevented Xcode version selection in tests from working properly. RELNOTES: The standard `xcode_VERSION` feature now always uses exactly two components in the version, even if you specify `--xcode_version` with more or fewer than two. PiperOrigin-RevId: 208877588
* Remove old implementation for object file pathGravatar pcloudy2018-07-10
| | | | | | RELNOTES: --experimental_shortened_obj_file_path is removed. PiperOrigin-RevId: 203944948
* Set Xcode version as a feature when building Objective-CGravatar bbaren2018-07-02
| | | | | | | | | | Add a new standard feature set to the Xcode version being used for compilation. (The feature is named `xcode_VERSION`, where `VERSION` is at least a two-component version number; `xcode_9.0` and `xcode_9.2` are both possible values.) This provides CROSSTOOL authors a mechanism to deploy compiler flags supported only in certain Xcode versions. PiperOrigin-RevId: 203000420
* Make Artifact#equals take the owner into account for derived artifacts.Gravatar janakr2018-06-08
| | | | | | | | Derived artifacts' owners are important because they are used to determine the artifact's generating action. Source artifacts' owners are not used in this way, so I left them alone. This allows us to get rid of most uses of ArtifactSkyKey. We may be able to delete it entirely in a follow-up. PiperOrigin-RevId: 199836436
* Flip default value of --experimental_shortened_obj_file_path to true (Second ↵Gravatar pcloudy2018-06-08
| | | | | | | | | | try) This is a roll forward of https://github.com/bazelbuild/bazel/commit/3ab52e63079f1e43cb2c973425f615836a334082. The issue caused the objc rule breakage was fixed by https://github.com/bazelbuild/bazel/commit/5176300577b53a15128b3cb6a17d7883c5b7090e. RELNOTES: Flip default value of --experimental_shortened_obj_file_path to true, Bazel now generates short object file path by default. PiperOrigin-RevId: 199806300
* Remove the non_propagated_deps attribute from objc_library and apple_binary. ↵Gravatar kaipi2018-05-30
| | | | | | | This was a workaround created to deal with duplicated symbol errors, but there are now better ways to avoid them than using this attribute. RELNOTES: non_propagated_deps has been removed from objc_library and apple_binary. PiperOrigin-RevId: 198620886
* Rename CommandAction.getEnvironment, add AbstractAction.getEnvironmentGravatar ulfjack2018-05-17
| | | | | | | | | | | | | | | This is a cleanup to clarify the code. 1. The getEnvironment method in the CommandAction interface does not have access to the clientEnv, so it's return value is necessarily incomplete. Rename to getIncompleteEnvironmentForTesting. 2. Add a final getEnvironment method to AbstractAction, which returns the ActionEnvironment, which is intended to be a complete description of the intended final environment of the action (technically, of any spawn running within the action). This is not currently used, but is provided to prevent action subclasses to add such a method (it may be used in the future). PiperOrigin-RevId: 196991091
* Headers specified in cc_library.textual_hdrs are passed through objc_libraryGravatar cpeyser2018-04-30
| | | | | | targets to upstream cc_library targets. PiperOrigin-RevId: 194816009
* Abstract away the param file write action from tests.Gravatar tomlu2018-04-26
| | | | | | | | | | | Rule authors frequently wants to make assertions on the parameter files their rule implementations have created. However, if they do not explicitly create parameter file write actions, or if indeed _there aren't_ any parameter file write actions inserted into the action graph, the tests will fail. This CL puts an abstraction between the tests and obtaining their parameter files, allowing us to change the implementation without updating hundreds of lines of test code in the same CL. Note that we can no longer sanely assert that the parameter file argument is inserted into the main command line, because the parameter file system controls both whether it is inserted and the name used. Those assertions have been removed where found. RELNOTES: None PiperOrigin-RevId: 194400303
* Starts threading ActionExecutionContext to sites calling getPath() only withinGravatar shahan2018-04-11
| | | | | | Action execution. PiperOrigin-RevId: 192488641
* Automated rollback of commit 3ab52e63079f1e43cb2c973425f615836a334082.Gravatar hlopko2018-04-11
| | | | | | | | | | | | | | *** Reason for rollback *** Breaks exoblaze, and there's a better way how to move forward with this. *** Original change description *** Flip default value of --experimental_shortened_obj_file_path to true RELNOTES: Flip default value of --experimental_shortened_obj_file_path to true, Bazel now generates short object file path by default. PiperOrigin-RevId: 192437958
* Flip default value of --experimental_shortened_obj_file_path to trueGravatar pcloudy2018-04-06
| | | | | | RELNOTES: Flip default value of --experimental_shortened_obj_file_path to true, Bazel now generates short object file path by default. PiperOrigin-RevId: 191958480
* Shorten object file pathGravatar pcloudy2018-03-23
| | | | | | | | | | | | | | | | | | | | | | | Closes #4781. Fix https://github.com/bazelbuild/bazel/issues/4149 RELNOTES: Users can now pass --experimental_shortened_obj_file_path=true to have a shorter object file path, the object file paths (and all other related paths) will be constructed as following: If there's no two or more source files with the same base name: <bazel-bin>/<target_package_path>/_objs/<target_name>/<source_base_name>.<extension> otherwise: <bazel-bin>/<target_package_path>/_objs/<target_name>/N/<source_base_name>.<extension> N = the file?s order among the source files with the same basename, starts from 0. Examples: 1. Output names for ["lib1/foo.cc", "lib2/bar.cc"] are ["foo", "bar"] 2. Output names for ["foo.cc", "bar.cc", "foo.cpp", "lib/foo.cc"] are ["0/foo", "bar", "1/foo", "2/foo"] The default value of --experimental_shortened_obj_file_path option is false, but we plan to flip it to true and eventually remove this option. You shouldn't depend on the format of generated object file path, but if you do and this change breaks you, please use --experimental_shortened_obj_file_path=false to work around it. PiperOrigin-RevId: 190214375
* Remove cc_inc_library from bazelGravatar hlopko2018-03-06
| | | | | | | | | | | | | It shouldn't be open sourced at all, since it solves a very specific internal use case, and for external use cc_library with its includes, include_prefix, and strip_include_prefix attributes can be used to perfectly replace cc_inc_library. RELNOTES: Removed cc_inc_library, please use cc_library instead Use includes, include_prefix, and strip_include_prefix attributes of cc_library to replace the behavior of cc_inc_library with cc_library. PiperOrigin-RevId: 187991313
* 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
* 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
* Convert "-" to "" when generating module nameGravatar Googler2018-02-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 184492828
* Inline rarely used PathFragment methods that do not deserve to be on a core ↵Gravatar tomlu2018-01-19
| | | | | | path class. PiperOrigin-RevId: 182526427
* Remove legacy implementation of objc compilation/archiving/linking.Gravatar cpeyser2017-11-06
| | | | PiperOrigin-RevId: 174481563
* Move remaining legacy objc_library tests to crosstool case.Gravatar cpeyser2017-09-26
| | | | PiperOrigin-RevId: 169930643
* Remove dependence on compilation attributes (e.g. 'srcs') for apple_binary ↵Gravatar cparsons2017-09-25
| | | | | | | | | and apple_static_library in objc unit tests. These attributes are deprecated and being removed. RELNOTES: None. PiperOrigin-RevId: 169720318
* Delete ios_application, ios_extension(_binary), objc_binary.Gravatar allevato2017-09-21
| | | | PiperOrigin-RevId: 169428146
* Move some more tests from the legacy case to the crosstool case.Gravatar cpeyser2017-09-19
| | | | PiperOrigin-RevId: 169116918
* Move a test from the legacy case to the crosstool case.Gravatar cpeyser2017-09-19
| | | | PiperOrigin-RevId: 169101689
* Move some legacy-only tests to the crosstool tests.Gravatar cpeyser2017-09-14
| | | | PiperOrigin-RevId: 168692738
* Remove --experimental_disable_jvm from unit tests.Gravatar cpeyser2017-09-13
| | | | PiperOrigin-RevId: 168383478
* Change xcode_config rule semantics to fit current usageGravatar cparsons2017-09-06
| | | | | | | | | | - require_defined_versions is deprecated and a no-op. A version must match existing defined versions if any exist - default label must be present in versions labels if any are defined - default label may not exist if no versions are defined - when --xcode_version is specified on the command line, it must match a defined version if any are defined. If none are defined, this flag is a no-op RELNOTES: None. PiperOrigin-RevId: 167616628
* Automated rollback of commit 618a2bf3574015d1d341d59a34e4d0bf285ad5bf.Gravatar cparsons2017-09-04
| | | | | | | | | | | | | | | *** Reason for rollback *** Broke several tests in nightly. [] *** Original change description *** Rollforward #2 of "AppleBinary and AppleStaticLibrary no longer propagate unwrapped ObjcProvider", after changes made to apple bazel rules to be compatible. RELNOTES: None. PiperOrigin-RevId: 167312716
* Automated rollback of commit fc41c430e4de4594a1d699f573d191cbad52a2fb.Gravatar plf2017-09-01
| | | | PiperOrigin-RevId: 167154793
* Rollforward #2 of "AppleBinary and AppleStaticLibrary no longer propagate ↵Gravatar cparsons2017-08-31
| | | | | | | unwrapped ObjcProvider", after changes made to apple bazel rules to be compatible. RELNOTES: None. PiperOrigin-RevId: 167061765
* Move ObjcProvider FLAG into a new provider type (TransitiveSourcesProvider) ↵Gravatar cpeyser2017-08-30
| | | | | | that is accessible to the c++ rules. PiperOrigin-RevId: 166934390
* Open source some objc tests. Most notably, proto and j2objc tests still ↵Gravatar cparsons2017-08-28
| | | | | | | remain, but will follow. RELNOTES: None. PiperOrigin-RevId: 166635306
* Blaze exports a feature for actions with objective c source in their transitiveGravatar cpeyser2017-08-22
| | | | | | closure. PiperOrigin-RevId: 165934905
* Make all WithLegacySkylarkName providers declared providers.Gravatar dslomov2017-07-28
| | | | | RELNOTES: None. PiperOrigin-RevId: 163343931
* Automated rollback of commit 9e3018109b189a345cd9b353729c7f31ac209bc9.Gravatar allevato2017-07-27
| | | | | | | | *** Reason for rollback *** Broke bundling of objc_frameworks. PiperOrigin-RevId: 163215950
* Rollforward of "AppleBinary and AppleStaticLibrary no longer propagate ↵Gravatar cparsons2017-07-26
| | | | | | | unwrapped ObjcProvider." after skylark rule fixes. RELNOTES: None. PiperOrigin-RevId: 163121697
* 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
* Turn on objc crosstool use in Bazel by default.Gravatar cpeyser2017-07-19
| | | | PiperOrigin-RevId: 162388184
* Automated rollback of commit 4594b7fd6c2516341cdd6e57f9eaaf22cf691f95.Gravatar buchgr2017-07-17
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** It breaks examples/tutorial on ci.bazel.build [1] with error: object of type 'Target' has no field 'objc'. [1] http://ci.bazel.io/view/Dashboard/job/Tutorial/BAZEL_VERSION=HEAD,PLATFORM_NAME=darwin-x86_64/1023/console *** Original change description *** AppleBinary and AppleStaticLibrary no longer propagate unwrapped ObjcProvider. This will prevent dependencies on apple_binary and apple_static_library from objc_library and other lower-level rules. RELNOTES: None. PiperOrigin-RevId: 162195726
* AppleBinary and AppleStaticLibrary no longer propagate unwrapped ObjcProvider.Gravatar cparsons2017-07-17
| | | | | | | This will prevent dependencies on apple_binary and apple_static_library from objc_library and other lower-level rules. RELNOTES: None. PiperOrigin-RevId: 162013946
* Promote getPossibleInputsForTesting from CppCompileAction to CommandAction, inGravatar cpeyser2017-07-17
| | | | | | | order to allow tests that depend on pruned inputs to work for both the legacy and crosstool cases. PiperOrigin-RevId: 161955432
* Add module_map attribute to objc_libraryGravatar Googler2017-07-14
| | | | | | This allows users to specify a custom module map. PiperOrigin-RevId: 161827651
* Platform -> ApplePlatform, to avoid ambiguity with the newly introducedGravatar cpeyser2017-07-07
| | | | | | Platform rule. PiperOrigin-RevId: 161203491
* Open source unit tests for the objc rules.Gravatar cpeyser2017-07-06
PiperOrigin-RevId: 161010594