aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcBundleLibrary.java
Commit message (Collapse)AuthorAge
* Make deprecated ObjcProvider fields return empty sets when ↵Gravatar cparsons2018-03-28
| | | | | | | | | --incompatible_disable_objc_provider_resources is true. This involves propagating SkylarkSemantics to all ObjcProvider constructors. RELNOTES: Introduce --incompatible_disable_objc_provider_resources to turn off all resource-related fields of the Objc provider. PiperOrigin-RevId: 190778491
* Expose an actions provider on RuleConfiguredTarget instances.Gravatar cparsons2018-03-06
| | | | | | | | | Given a target (for example from a skylark aspect), one will be able to access a list of actions that the target generated using "target.actions". This is without additional memory footprint. Actions themselves are not fully exposed to skylark (and thus there isn't much meaning to gather from them in skylark yet). Access methods will follow soon. RELNOTES: None. PiperOrigin-RevId: 188098079
* Remove ios_test from Bazel. ios_test is an old rule and this removal is part ↵Gravatar kaipi2018-01-25
| | | | | | of the final steps of the migration process into Skylark. If you were using ios_test, please take a look at ios_unit_test provided by the github.com/bazelbuild/rules_apple project. PiperOrigin-RevId: 183251623
* objc_bundle_library uses the single-arch platform type instead of ↵Gravatar cparsons2017-11-13
| | | | | | | incorrectly using multi-arch iOS RELNOTES: None. PiperOrigin-RevId: 175579695
* Move RuleConfiguredTarget to lib.analysis.configuredtargets.Gravatar gregce2017-09-19
| | | | | | This is a trivial change with a large file footprint. PiperOrigin-RevId: 169169864
* Move RuleConfiguredTargetFactory to lib.analysisGravatar ulfjack2017-08-07
| | | | | | | This is part of splitting up the build-base library into separate libraries for analysis, exec, and rules. PiperOrigin-RevId: 164446955
* Make all WithLegacySkylarkName providers declared providers.Gravatar dslomov2017-07-28
| | | | | RELNOTES: None. PiperOrigin-RevId: 163343931
* 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
* Route Xcode version information through an implicit dependency instead of ↵Gravatar lberki2017-07-25
| | | | | | | | | | | | | | the configuration. This is part of the crusade to kill package loading in configuration creation. AppleConfiguration still retains the version information for the following reasons: - Some Skylark rules access it that way. The plan is to create an xcode_config_alias() rule that can be an implicit dependency of Skylark rules and to export the version information to Skylark from XcodeVersionsProvider. - The minimum OS version is part of the name of the output directory. The plan for that is simply to remove it. Hopefully we can get away with it. - They allow us to add assertions to make sure the new mechanism works like the old one. RELNOTES: None. PiperOrigin-RevId: 163038724
* ObjcProvider is propagated as a native declared provider.Gravatar cparsons2017-07-21
| | | | | | | This has the added benefit of improving ObjcProvider documentation generated in bazel docs. RELNOTES: None. PiperOrigin-RevId: 162658384
* Platform -> ApplePlatform, to avoid ambiguity with the newly introducedGravatar cpeyser2017-07-07
| | | | | | Platform rule. PiperOrigin-RevId: 161203491
* Remove Xcodege integration from Blaze.Gravatar schmitt2017-06-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 157857216
* Remove --ios_multi_cpus (simulator & device) restriction on the ↵Gravatar Chris Parsons2017-01-30
| | | | | | | | objc_bundle_library rule -- PiperOrigin-RevId: 145834899 MOS_MIGRATED_REVID=145834899
* Remove some cases of inferring configuration and platform from ruleContext ↵Gravatar Chris Parsons2017-01-06
| | | | | | | | outside of rule implementation. -- PiperOrigin-RevId: 143720112 MOS_MIGRATED_REVID=143720112
* Use minimum OS flags for watchOS and tvOS actions.Gravatar Chris Parsons2016-09-30
| | | | | | | | | | | | Also: - Move minimum os information into AppleConfiguration - Update watchos and tvos minimum version defaulting behavior such that, if unspecified in flags, the minimum OS is equal to the SDK version. - Expose Apple Platform to apple_common in skylark -- MOS_MIGRATED_REVID=134712763
* 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
* Move several naked strings over to constants as general code cleanup.Gravatar Dave MacLachlan2016-03-28
| | | | | | | RELNOTES: -- MOS_MIGRATED_REVID=118242131
* Introduce ReleaseBundling class to contain all application specific ↵Gravatar Googler2016-03-23
| | | | | | | information required for creating a release bundle. -- MOS_MIGRATED_REVID=117843546
* 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
* 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
* Support multiarchitecture objc libraries for both simulator and device ↵Gravatar Chris Parsons2015-09-15
| | | | | | | architectures in a single build, refining the multiarchitecture device restriction only to rules which require bundling. -- MOS_MIGRATED_REVID=103016981
* Allow resources to be added only once in each rule.Gravatar Peter Schmitt2015-06-29
| | | | | | | Otherwise this may cause collisions in the final bundle. -- MOS_MIGRATED_REVID=97132278
* Simplify bundle merging information.Gravatar Peter Schmitt2015-05-19
| | | | | | | | Moves the bundle merging action logic into BundleSupport and eliminates the need for InfoplistMerging.java. -- MOS_MIGRATED_REVID=93926774
* 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
* Make ObjcBundleLibrary use the "families" attribute.Gravatar David Santiago2015-05-15
| | | | | | | | | | | | | | | | | | | | | | Currently the ObjcBundleLibrary#create() function creates a BundleSupport object with the default "iphone" target family. An ObjcBundleLibrary is a descendant of a Bundle, which has a "families" attribute, so the information is available. Currently, ObjcBundleLibrary will unconditionally use "iphone" as the target device family. This commit updates ObjcBundleLibrary to use the "families" attribute. It does this by making BundleSupport control the "families" attribute, and then provide access to it for the other classes that use it, like ObjcBundleLibrary. The other classes are changed to get their target device family information from their BundleSupport objects. -- Change-Id: I4a5be2849315dabfe7f2975c006a2092a56027af Reviewed-on: https://bazel-review.googlesource.com/#/c/1260/3 MOS_MIGRATED_REVID=93456579
* Add a genrule that generates a dummy J2ObjC dead code removal script in ↵Gravatar Googler2015-05-15
| | | | | | | tools/objc/BUILD. -- MOS_MIGRATED_REVID=93447039
* Execute the plist merge action if there is a bundle id to stamp onto the ↵Gravatar Googler2015-04-30
| | | | | | | | | plist file. RELNOTES: Set the bundle id on plist files referenced by XCode application target. -- MOS_MIGRATED_REVID=92378112
* 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
* objc: Pass --embed_label to iOS application Info.plist filesGravatar Daniel Wagner-Hall2015-04-08
| | | | | -- MOS_MIGRATED_REVID=90455131
* 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
* Only use a single copy of a nested bundle with ios_multi_cpus.Gravatar Peter Schmitt2015-03-23
| | | | | | | | | | | | We generate a nested bundle for each architecture specified in ios_multi_cpus which would cause any artifacts generated by these rules (such as info plists or compiled resource files) to clash in the final application bundle (where the bundle directory only exists once). For now just pick one architecture at random to store the bundle in - unfortunately we still generate the bundle for all architectures. -- MOS_MIGRATED_REVID=89152199
* Remove common java code between objc tools and rules.Gravatar Peter Schmitt2015-03-23
| | | | | | | | | | As we are releasing the tools somewhat independently of the rules these utility dependencies make life a lot harder. I'm sad about losing some of the enum type-safety but being able to treat the code independently is more than worth it. -- MOS_MIGRATED_REVID=89137624
* 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
* 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
* Update from Google.Gravatar Han-Wen Nienhuys2015-02-25
-- MOE_MIGRATED_REVID=85702957