aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/BundleSupport.java
Commit message (Collapse)AuthorAge
* Refactor all ctor callsites of PathFragment to instead call a static ↵Gravatar nharmata2017-04-05
| | | | | | | | | | | | 'create' method. This paves the way for changing PathFragment to e.g. an abstract class with multiple subclasses. This way we can split out the windows-specific stuff into one of these concrete classes, making the code more readable and also saving memory (since the shallow heap size of the NonWindowsPathFragment subclass will hopefully be smaller than that of the current PathFragment). This also lets us pursue gc churn optimizations. We can now do interning in PathFragment#create and can also get rid of unnecessary intermediate PathFragment allocations. RELNOTES: None PiperOrigin-RevId: 152145768
* 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
* Disable sandboxing for XibCompile actions.Gravatar Philipp Wollermann2016-12-21
| | | | | | | | | | Fixes #2189. The other idea of making the path that ibtoold wants to write to read-write in the sandbox strategy didn't seem to help (but I don't know why) - it randomly works or doesn't work, with or without that change. -- PiperOrigin-RevId: 142553982 MOS_MIGRATED_REVID=142553982
* Disables sandbox for one more action.Gravatar Yue Gan2016-09-22
| | | | | -- MOS_MIGRATED_REVID=133831200
* Fixes actool invocation for watchOS2 targets.Gravatar Erik Abair2016-09-13
| | | | | | | | Sets --platform argument on actool invocation correctly for watchOS targets. Previously the platform was hardcoded to iOS. -- MOS_MIGRATED_REVID=132899993
* More refactor work on single-/multi- architecture accessor methods of ↵Gravatar Chris Parsons2016-06-09
| | | | | | | | | | | | | | | | | | | | | | AppleConfiguration. Additionally, tweak single-architecture ios-platform logic such that ios_multi_cpus is checked before ios_cpu. There are two contexts to note: 1. Single-architecture logic, (generally post-split), unaware of its own platform type aside from configuration. This retrieves platform type from the --apple_platform_type configuration value. a. getSingleArchPlatform() for Platform retrieval b. getSingleArchitecture() for architecture retrieval 2. Multi-architecture logic, which should be aware of its own platform type, and passes it into configuration accessors. a. getMultiArchPlatform(PlatformType) b. getMultiArchitectures(PlatformType) All callers are migrated to these methods, though some still pass IOS platform type even though they may need to be refactored to support additional platform types later. -- MOS_MIGRATED_REVID=124370652
* Refactoring of Apple Platform detection and usage, to pave the way for ↵Gravatar Chris Parsons2016-05-30
| | | | | | | | | non-IOS Platforms. There are still various places which infer IOS platform type which need to be fixed, but this ensures switching to other platform types is as easy as changing an argument. -- MOS_MIGRATED_REVID=123444548
* 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
* Refactor spawnXcrunActionBuilder to take an explicit apple platform.Gravatar Chris Parsons2016-03-24
| | | | | | | | | This both starts to clean up the code (making it clearer which platform each action is targeted to, caller by caller), as well as allows callers to issue certain actions for platforms which are not implicitly ios. We'll still need to migrate callers onto the new method signature. -- MOS_MIGRATED_REVID=117982741
* Introduce ReleaseBundling class to contain all application specific ↵Gravatar Googler2016-03-23
| | | | | | | information required for creating a release bundle. -- MOS_MIGRATED_REVID=117843546
* Allow passing custom entitlements for iOS signing.Gravatar Peter Schmitt2016-03-22
| | | | | | | | RELNOTES[NEW]: --extra_entitlements allows passing additional entitlements for iOS signing -- MOS_MIGRATED_REVID=117735783
* Rollback of commit a9b84575a32476a5faf991da22b44661d75c19b6.Gravatar Cal Peyser2016-02-05
| | | | | | | | | | | | | *** Reason for rollback *** Mutability violates the Action contract: this change breaks incremental builds. *** Original change description *** Propogate BAZEL_VERBOSE_FAILURES and BAZEL_SUBCOMMANDS to the execution environments of runtime tools. -- MOS_MIGRATED_REVID=113958481
* Now that rules find their tools via runfiles, remove unneeded dependencies ↵Gravatar Dave MacLachlan2016-02-04
| | | | | | | | | in rules/tests and move them into the build files. Fix up environment_plist so it works like the other scripts. -- MOS_MIGRATED_REVID=113799298
* Propogate BAZEL_VERBOSE_FAILURES and BAZEL_SUBCOMMANDS to the execution ↵Gravatar Cal Peyser2016-01-15
| | | | | | | environments of runtime tools. -- MOS_MIGRATED_REVID=112149571
* Use xcode_config build target for actions which need to resolve an xcode ↵Gravatar Chris Parsons2016-01-13
| | | | | | | version. -- MOS_MIGRATED_REVID=111978539
* Ensure that the plist inside an .ipa bundle produced by blaze and the ↵Gravatar Cal Peyser2016-01-04
| | | | | | | | | adjacent plist read by xcode are identical. To do this, we use the output of plmerge as the single plist for the bundle. Automatic entries and variable substitutions are both computed in blaze and passed into plmerge. The output of plmerge is passed into bundlemerge to be placed directly into the final bundle. -- MOS_MIGRATED_REVID=111129433
* Rollback of commit d46f474733b048d9ef10dd13ec639b4521693d0a.Gravatar Googler2015-12-22
| | | | | | | | | | | | | | | *** Reason for rollback *** Broke bazel *** Original change description *** Ensure that the plist inside an .ipa bundle produced by blaze and the adjacent plist read by xcode are identical. To do this, we use the output of plmerge as the single plist for the bundle. Automatic entries and variable substitutions are both computed in blaze and passed into plmerge. The output of plmerge is passed into bundlemerge to be placed directly into the final bundle. -- MOS_MIGRATED_REVID=110792182
* Ensure that the plist inside an .ipa bundle produced by blaze and the ↵Gravatar Googler2015-12-22
| | | | | | | | | adjacent plist read by xcode are identical. To do this, we use the output of plmerge as the single plist for the bundle. Automatic entries and variable substitutions are both computed in blaze and passed into plmerge. The output of plmerge is passed into bundlemerge to be placed directly into the final bundle. -- MOS_MIGRATED_REVID=110770779
* Add launch_storyboard for iOS bundles (apps, extensions).Gravatar Peter Schmitt2015-11-18
| | | | | | | | | | Also introduces DottedVersion, a way to parse, represent and most of all compare Apple's version identifiers. RELNOTES: iOS apps and extensions now have launch_storyboard -- MOS_MIGRATED_REVID=108060328
* Rename Platform.forArch to Platform.forIosArch, as it is truly doing the latter.Gravatar Chris Parsons2015-11-18
| | | | | -- MOS_MIGRATED_REVID=108057030
* 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
* Add xcrunwrapper to deal with DEVELOPER_DIR and SDKROOT.Gravatar Dave MacLachlan2015-11-06
| | | | | | | | | Replace uses of $SDKROOT and $DEVELOPER_DIR values in compile paths with __DEVELOPER_DIR__ and __SDKROOT__ to that xcrunwrapper can deal with them appropriately. RELNOTES:none -- MOS_MIGRATED_REVID=107259512
* Fix up issue where plutil isn't always being found by xcrun due to a variety ↵Gravatar Dave MacLachlan2015-11-06
| | | | | | | of factors including your PATH, the xcrun database and possibly the phase of the moon. -- MOS_MIGRATED_REVID=107153778
* Strict matching of architecture name to ios platform. Also refactor Platform ↵Gravatar Chris Parsons2015-11-02
| | | | | | | into a new .apple package, as it is not relevant for solely objc rules. -- MOS_MIGRATED_REVID=106709486
* Use plutil instead of plmerge for converting strings files from text to binary.Gravatar Dave MacLachlan2015-10-30
| | | | | -- MOS_MIGRATED_REVID=106613927
* Move actoolzip, momczip and swiftstdlibtoolzip to tools/xcode and convert ↵Gravatar Dave MacLachlan2015-09-30
| | | | | | | | | them to scripts instead of java apps. RELNOTES: actoolzip, momczip and swiftstdlibtoolzip have all been made into bash scripts and have been renamed to actoolwrapper, momcwrapper and swiftstdlibtoolwrapper respectively. The old versions will be deleted in a later change. -- MOS_MIGRATED_REVID=104225062
* 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
* 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
* 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
* Change URLs to bazelbuildGravatar Kristina Chodorow2015-09-01
| | | | | -- MOS_MIGRATED_REVID=102022958
* Rollback of commit da3cb806351e929becef19652c65d39efa61b9d9.Gravatar Googler2015-08-04
| | | | | | | | | | | | | *** Reason for rollback *** Breaking builds. [] *** Original change description *** RELNOTES: actoolzip, momczip and swiftstdlibtoolzip have all been made into bash scripts and have been renamed to actoolwrapper, momcwrapper and swiftstdlibtoolwrapper respectively. The old versions will be deleted in a later change. -- MOS_MIGRATED_REVID=99742398
* RELNOTES: actoolzip, momczip and swiftstdlibtoolzip have all been made into ↵Gravatar Googler2015-08-04
| | | | | | | bash scripts and have been renamed to actoolwrapper, momcwrapper and swiftstdlibtoolwrapper respectively. The old versions will be deleted in a later change. -- MOS_MIGRATED_REVID=99521906
* Rollback of commit b8d1e700841d8aa7186ccbdfb0eba53e12a672d0.Gravatar Lukacs Berki2015-07-21
| | | | | | | | | | | | | | | *** Reason for rollback *** Breaks most of the iOS targets on our continuous build. *** Original change description *** Move actoolzip, momczip and swiftstdlibtoolzip to tools/xcode and convert them to scripts instead of java apps. RELNOTES: actoolzip, momczip and swiftstdlibtoolzip have all been made into bash scripts and have been renamed to actoolwrapper, momcwrapper and swiftstdlibtoolwrapper respectively. The old versions will be deleted in a later change. -- MOS_MIGRATED_REVID=98716081
* Description redacted.Gravatar Googler2015-07-16
| | | | | -- MOS_MIGRATED_REVID=98347349
* Moves ibtoolzip from src/tools/xcode-common/j/c/g/devtools/ to src/tools/xcode.Gravatar Googler2015-07-08
| | | | | | | | | | Moves ibtoolzip from being java based to being bash based for easier dev/testing. Changes the name of ibtoolzip to ibtoolwrapper to avoid conflicts with currently deployed bazel depending on the ibtoolzip name. Updates realpath Cleans up update_binaries.sh -- MOS_MIGRATED_REVID=97724252
* Deduplicate generated resources from multiple architectures.Gravatar Peter Schmitt2015-06-05
| | | | | | | | | | | | When compiling in multiple architectures, the same resource may be added to a bundle several times because it is generated by a genrule within each architecture's configuration. This causes conflicts when adding the files to the final bundle which is why we discard all but one of the generated files that map to the same location (error checking for users accidentally mapping to the same location exists). -- MOS_MIGRATED_REVID=95212124
* Fixes for several issues with using ibtool.Gravatar Googler2015-05-22
| | | | | | | | | | | | Added support for errors, warnings, notices from ibtool Canonicalizes paths passed to ibtool to get around radar 21045660 'ibtool has difficulty dealing with relative paths'. Added support for module argument to ibtool. Consolidates argument passing for storyboards and xibs. Sets output for ibtool to human readable. Turns on auto-activate-custom-fonts for ibtool to match Xcode invocations. -- MOS_MIGRATED_REVID=94240330
* 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
* 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
* 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
* Update command that builds storyboards to pass correct optionsGravatar David Santiago2015-05-07
| | | | | | | | | | | | The command used to compile storyboards for iOS targets was leaving off the --target-device options, which would result in an empty compiled storyboard. This commit updates the command constructed so that it does pass those options and builds non-empty storyboards. -- Change-Id: Ief6aed6f61099fa19ec7846d2321b40f8fce1ab2 MOS_MIGRATED_REVID=93016471
* Remove unneeded final qualifiers from parameters.Gravatar Philipp Wollermann2015-04-30
| | | | | -- MOS_MIGRATED_REVID=92407038
* 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