aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java
Commit message (Collapse)AuthorAge
* Make the proto bundling behavior the default when using the new library.Gravatar Sergio Campama2016-07-19
| | | | | -- MOS_MIGRATED_REVID=127747661
* Fixes Xcodegen when using --experimental_auto_top_level_union_objc_protos.Gravatar Sergio Campama2016-07-14
| | | | | -- MOS_MIGRATED_REVID=127313628
* Refactor how coverage support files get to test actions.Gravatar Lukacs Berki2016-06-29
| | | | | | | | | Previously we used labels in each configuration fragment that then got added to every test action. Instead, we now have a filegroup under //tools/test for coverage files that truly need to be on the inputs of every test action and collect language-specific support files in InstrumentedFilesProvider. This makes configuration creation simpler and makes it possible to turn --crosstool_top into something else other than a filegroup (previously, it was that filegroup that got added to every test action) -- MOS_MIGRATED_REVID=126170241
* Allow importing of late loaded dynamic frameworksGravatar Googler2016-06-20
| | | | | | | | | Adds a runtime_deps attribute to compilation rules (including objc_binary) that imports a dynamic framework (generated either via the objc_framework or ios_framework rules) into an app bundle without linking against it at build time. RELNOTES: objc_binary now supports late-loaded dynamic frameworks. -- MOS_MIGRATED_REVID=125261347
* 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
* Add @loader_path to -rpath for xctest targets.Gravatar Dmitry Shevchenko2016-06-06
| | | | | | | This fixes test timeouts when the app tested is using Swift. In theory this also prevents similar problems with any code that uses dynamic libs packaged in the IPA. -- MOS_MIGRATED_REVID=123976581
* 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
* apple_binary builds without implicit requirement of cc-relevant flags.Gravatar Chris Parsons2016-05-06
| | | | | | | | | Notable changes: - Obtain J2Objc providers from deps attribute of the current rule, even if "deps" is not Mode.TARGET. It is up to the rule implementation to correctly obtain and propagate these providers. - "srcs" on apple_binary no longer has a split transition. These are files, not labels. -- MOS_MIGRATED_REVID=121625691
* 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
* Add a --legacy_external_runfiles optionGravatar Kristina Chodorow2016-04-25
| | | | | | | | This isn't hooked up to anything yet, but is another piece of getting #848 rolled forward. -- MOS_MIGRATED_REVID=120582973
* Automated [] rollback of commit 857cda2c45a5cc68c3fa398311c48c571a64915d and ↵Gravatar Damien Martin-Guillerez2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | commit 790d2f6009d47fe92cf0cd92a1473bbf0141f32e. *** Reason for rollback *** Broke non-Bazel projects on ci.bazel.io Fixes #1168 *** Original change description *** Move the runfiles for external repositories to under the x.runfiles/ directory This also sets the Bazel workspace name to io_bazel_source. Fixes #848. Relevant to #1116, #1124, RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles.... *** -- MOS_MIGRATED_REVID=120535721
* Move the runfiles for external repositories to under the x.runfiles/ directoryGravatar Kristina Chodorow2016-04-20
| | | | | | | | | | | | | | | This also sets the Bazel workspace name to io_bazel_source. Fixes #848. Relevant to #1116, #1124, RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles. --- Furthermore, if a Bazel project does not provide a workspace name in the WORKSPACE file, Bazel will now default to using __main__ as the workspace name (instead of "", as previously). The repository's runfiles will appear under x.runfiles/__main__/. -- MOS_MIGRATED_REVID=120224534
* *_test rules now return an .xctest.dSYM bundle.Gravatar Googler2016-04-01
| | | | | -- MOS_MIGRATED_REVID=118786316
* Adds mcov tool label to IosTest.Gravatar Dmitry Shevchenko2016-03-21
| | | | | | | Adds source files to IosTest runfiles so that mcov/clang has access to them during coverage run. -- MOS_MIGRATED_REVID=117572134
* Add ExecutionRequirements target that is generally available to rule ↵Gravatar Cal Peyser2016-02-23
| | | | | | | implementations. -- MOS_MIGRATED_REVID=115252203
* Get rid of duplicated strings for IosTest attributes because I'm always ↵Gravatar Dave MacLachlan2016-02-22
| | | | | | | | | paranoid of missing one when changing them, and it makes things so much easier when coding. R_FUTURE=schmitt,cparsons -- MOS_MIGRATED_REVID=115101461
* Rollback of commit 60434dae746ed61f025fdfd0464993fa6a0ff1d2.Gravatar Cal Peyser2016-02-15
| | | | | -- MOS_MIGRATED_REVID=114537166
* --Gravatar Cal Peyser2016-02-11
| | | | MOS_MIGRATED_REVID=114436999
* 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
* Make xctest extension for test bundles that have xctest=true defined. (It ↵Gravatar Dave MacLachlan2016-02-03
| | | | | | | used to be .app) -- MOS_MIGRATED_REVID=113775781
* Update comment to ios_test from deprecated experimental_ios_testGravatar Cal Peyser2016-01-07
| | | | | -- MOS_MIGRATED_REVID=111619533
* Description redacted.Gravatar Googler2015-11-13
| | | | | -- MOS_MIGRATED_REVID=107694067
* Create AppleConfiguration and AppleCommandLineOptions, and move a few items ↵Gravatar Chris Parsons2015-11-10
| | | | | | | | | | | of configuration over to the apple package. This moves a small number of configuration items over. Future changes will mostly likely follow to move yet more items. The split here is necessary as it is not only objc-related rules which require information about apple platforms and configuration -- cc rules will need this information as well to pass appropriate args to clang. -- MOS_MIGRATED_REVID=107396114
* Include memleaks plugin support for experimental_ios_testGravatar Chris Parsons2015-10-21
| | | | | -- MOS_MIGRATED_REVID=105876178
* 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
* Fix xctest_app sources not showing up in ios_test coverage.Gravatar Googler2015-06-11
| | | | | -- MOS_MIGRATED_REVID=95671328
* 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
* 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
* Refactor link command line to live in CompilationSupport.Gravatar Peter Schmitt2015-04-21
| | | | | | | Also simplifies command line construction and removes redundant linker arguments. -- MOS_MIGRATED_REVID=91613561
* RELNOTES:Observe "non_propagated_deps" on objc rules in generated XCode ↵Gravatar Googler2015-04-16
| | | | | | | project files. -- MOS_MIGRATED_REVID=91300378
* Compile objc resources when bundling, not at each target.Gravatar Peter Schmitt2015-03-24
| | | | | | | | | | | | | | | | | | | | | | This change moves the resource compilation actions from each declaring target to the bundle in which they're stored. This bundle is (mostly, see below) the only thing that cares about the compiled resources. As a result, we avoid compiling each resource many times when in a multi-architecture context. Note that as a result of this change rules other than ios_test do no longer add the compiled datamodels and storyboards to files to build. There (should?) be no need for them anyhow. Also, Xcode targets will now no longer contain the transitive closure of datamodels, only their own. Note that in the case where the input resource is produced by a genrule the resource compilation still happens for each architecture but we ignore the results for all but one of the architectures to avoid bundling conflicts. There are also some more validation checks and nicer error messages for users when they specify illegal strings resources. -- MOS_MIGRATED_REVID=89404405
* Add xctest_app ipa file to files-to-buildGravatar Matthew DeVore2015-03-23
| | | | | -- MOS_MIGRATED_REVID=89131807
* Split ios_application configurations based on --ios_multi_cpus.Gravatar Peter Schmitt2015-03-16
| | | | | | | | | | | | | | | | | | Using the new flag works only on ios_application and ios_extension targets, resulting in their output binaries being "universal" with all given architectures included. Internally this is achieved by splitting the "binary" dependency (and its transitive dependencies) of ios_{application,extension} to be built in one of the architectures using split transitions. The results are then combined. Since an ios_application may depend on ios_extension, we transition back to the top-level configuration when encoutering such a dependency using the newly introduced TOP_LEVEL transition and then split configurations again. RELNOTES: --ios_multi_cpus allows building fat ios_applications. -- MOS_MIGRATED_REVID=88555540
* RELNOTES: Added ios_memleaks flag which when enabled will check the test ↵Gravatar Googler2015-03-05
| | | | | | | application for memory leaks. -- MOS_MIGRATED_REVID=87839695
* Automated [] rollback of [].Gravatar Matthew DeVore2015-03-05
| | | | | | | | | | | | | *** Reason for rollback *** This is not needed thanks to blaze query. *** Original change description *** Make xctest_app's .ipa an implicit output so that scripts external to Bazel can access it. -- MOS_MIGRATED_REVID=87507266
* Introduce ios_application rule.Gravatar Peter Schmitt2015-02-25
| | | | | | | | | | | | | | | | | In this, its first incarnation this rule provides no new functionality - all it does is take an objc_binary and perform any bundling the objc_binary would have done anyhow. This will allow us to remove bundling functionality from objc_binary and add multi-architecture transitions between ios_application and objc_binary. However, I did remove the requirement for the infoplist attribute on bundles. We don't actually need it (a plist is generated automatically) and this removal makes the transition much easier. RELNOTES: Introduce ios_application_rule. -- MOS_MIGRATED_REVID=87194403
* Make xctest_app's .ipa an implicit output so that scripts external to Bazel ↵Gravatar Matthew DeVore2015-02-24
| | | | | | | can access it. -- MOS_MIGRATED_REVID=87086924
* Add the j2objc libraries as dependencies in IosTest.Gravatar Googler2015-02-24
| | | | | -- MOS_MIGRATED_REVID=87083899
* 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
* Add anything specified in "defines" to the compiler arguments for ↵Gravatar Matthew DeVore2015-02-18
| | | | | | | objc_binary, ios_extension_binary, and objc_binary. -- MOS_MIGRATED_REVID=86614967
* 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