aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/apple
Commit message (Collapse)AuthorAge
* Expose platform frameworks dir to Skylark.Gravatar Dmitry Shevchenko2016-05-03
| | | | | | | | * Adds a new method to get Xcode's developer frameworks dir. * Removes platform_dir() as it cannot be used in Skylark as-is - there's no way to get the platform name it requires. -- MOS_MIGRATED_REVID=121275439
* Set --xcode_version_config=@bazel_tools//tools/objc:host_xcodes by default inGravatar Luis Fernando Pino Duque2016-04-27
| | | | | | | and delete the reference to Constants.TOOLS_REPOSITORY in AppleCommandLineOptions. -- MOS_MIGRATED_REVID=120918479
* Rename LateBoundLabel#getDefault(Rule, AttributeMap, T) to #resolve().Gravatar Lukacs Berki2016-04-19
| | | | | | | Its old name was confusing because resolve() and getDefault() do radically different things: getDefault() returns a good enough lie for when BuildConfiguration is not available, and resolve() resolves the dependency when we do have a BuildConfiguration. -- MOS_MIGRATED_REVID=120212630
* Make ObjcProvider keys accessible to skylark. This is necessary to allowGravatar Cal Peyser2016-04-14
| | | | | | | skylark native access to ObjcProvider instances. -- MOS_MIGRATED_REVID=119782586
* ios_device attribute "xcode", which takes an "xcode_version" target to ↵Gravatar Chris Parsons2016-04-08
| | | | | | | | | select a specific xcode. RELNOTES: ios_device attribute "xcode", for declaring a specific xcode to use when selecting iOS simulators. -- MOS_MIGRATED_REVID=119317344
* Expose AppleToolchain to skylark.Gravatar Cal Peyser2016-04-05
| | | | | -- MOS_MIGRATED_REVID=118943054
* Extend support for AppleConfiguration in Skylark. Add support for ↵Gravatar Cal Peyser2016-03-31
| | | | | | | DottedVersion and Platform types in Skylark. -- MOS_MIGRATED_REVID=118593554
* 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
* Implement default_{tvos,watchos,macosx}_sdk_version attributes for the ↵Gravatar Chris Parsons2016-03-23
| | | | | | | | | xcode_version rule. --{tvos,watchos,macosx}_sdk_version flags may be used to override defaults specified in these attributes. -- MOS_MIGRATED_REVID=117869146
* Add default_ios_sdk_version attribute to xcode_version rules.Gravatar Chris Parsons2016-03-17
| | | | | | | This will set the default value for the iOS SDK version configuration value. Users can override this by specifying ios_sdk_version themselves. -- MOS_MIGRATED_REVID=117377043
* Introduces apple_cc_toolchain.Gravatar Cal Peyser2016-03-17
| | | | | -- MOS_MIGRATED_REVID=117361388
* Start adding support for passing in SDK versions for Mac OS, Watch OS, TV OS.Gravatar Dave MacLachlan2016-03-01
| | | | | -- MOS_MIGRATED_REVID=116020389
* Add Watch and TV to list of platforms.Gravatar Dave MacLachlan2016-02-26
| | | | | -- MOS_MIGRATED_REVID=115577068
* Rename proto dependencies to include a _java component in them.Gravatar Julio Merino2016-02-23
| | | | | | | | While doing this, homogenize the two dependencies on build.proto (via build_proto and build_proto_v2) into a single build_java_proto. -- MOS_MIGRATED_REVID=115328219
* Use xcode-locator to locate DEVELOPER_DIR for standalone spawn strategy.Gravatar Chris Parsons2016-02-15
| | | | | -- MOS_MIGRATED_REVID=114569255
* Expose AppleConfiguration to skylark as fragment "apple", along with a ↵Gravatar Chris Parsons2016-02-15
| | | | | | | callable method apple_host_system_env to return environment variables needed for various commands on apple hosts. -- MOS_MIGRATED_REVID=114550659
* Implement TODO from: ↵Gravatar Greg Estren2016-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/bazelbuild/bazel/blo[]fbbd6a32b95ba746f09dae1eaeaccf675cd5b3/src/main/java/com/google/devtools/build/lib/packages/Attribute.java#L1045 This allows the default value computation for latebound attributes to consider the values of configurable attributes. This is most directly useful for user-definable Skylark defaults, which have full access to the values of all non-latebound attributes. Without this change, this kind of scenario crashes Bazel. For example: ------------------ select_rules.bzl: ------------------ def _impl(ctx): ctx.file_action( output=ctx.outputs.out_file, content=ctx.attr.string_value, ) return struct() # Bug does not manifest without using this as a default. def _derived_value(attrs, _): return Label("//some:dep") selector_rule = rule( implementation=_impl, attrs={ "string_value": attr.string(default=""), "out_file": attr.output(), "_derived": attr.label(default=_derived_value), }, output_to_genfiles=True, ) def selector_macro(name, out_file="", string_value=""): # This will fail with selectors. selector_rule( name="%s_skylark" % name, string_value=string_value, out_file=out_file + ".skylark", ) # This does not. native.genrule( name="%s_genrule" % name, cmd="echo '" + string_value + "' > $@", outs=[out_file + ".genrule"], ) native.filegroup( name=name, srcs=[":%s_genrule" % name, "%s_skylark" % name], ) ------------------ BUILD.bzl: ------------------ config_setting( name = "selector", values = {"compilation_mode": "opt"}, ) selector_macro( name = "this_rule", string_value = """soup? """ + select({ ":selector": "no, thank you.", "//conditions:default": "yes, please!!", }), out_file = "this_rule.txt", ) -- MOS_MIGRATED_REVID=114326474
* Properly report loading errors during configuration creation.Gravatar Ulf Adams2016-02-10
| | | | | | | | | | | | | | | | | This only applies to interleaved loading and analysis - the production code is fine. Add tests for the RedirectChaser, the fdoOptimize code path, the XcodeConfig, and the Jvm loader. Unfortunately, the configuration factory we internally create by default contains a mock Jvm loader implementation. Since that is one Yak too many right now, I'm adding a temporary method to the AnalysisMock. I added the tests to BuildViewTest for now; technically, they ought to go into the language-specific test cases, but that would require more refactoring as those don't currently run with interleaved loading and analysis. -- MOS_MIGRATED_REVID=114221476
* 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
* Contractually document BuildConfiguration.Fragment as immutable and strengthenGravatar Greg Estren2016-02-01
| | | | | | | | | | | | | | | the immutability interfaces of existing implementations. Eventually we want all implementations to comply, but right now CppConfiguration is a glaring exception due to FDO/LIPO support. We don't want more exceptions to arise. This is prep work for pre-trimming ConfigurationFragment.key's BuildOptions input to just the options needed by the fragment. That implies fragments can be shared across configurations, so that needs to be safe. -- MOS_MIGRATED_REVID=113408041
* Redesign xcode_config rule to be evaluated at the level of configuration ↵Gravatar Chris Parsons2016-02-01
| | | | | | | instead of target depss -- MOS_MIGRATED_REVID=113398355
* Remove unused ${SYNOPSIS} variable from Bazel native rule inline documentation.Gravatar David Chen2016-01-28
| | | | | | | | | | This variable is no longer used because the docgen template directly calls RuleDocumentationAttribte.getSynopsis() instead of using the SYNOPSIS variable, and RuleDocumentationAttribute.getHtmlDocumentation() resolves the SYNOPSIS variable to the empty string. -- MOS_MIGRATED_REVID=113249993
* Remove unused ${ATTRIBUTE_DEFINITION} and ${ATTRIBUTE_SIGNATURE} variables fromGravatar David Chen2016-01-25
| | | | | | | | | Bazel native rule inline documentation. These variables are no longer used because the docgen templates now directly generate the table of attributes instead of using ATTRIBUTE_DEFINITION and call RuleDocumentation.getAttributeSignature() instead of using ATTRIBUTE_SIGNATURE. RuleDocumentation.getHtmlDocumentation() currently resolves both of these variables to the empty string. -- MOS_MIGRATED_REVID=112933659
* Don't refer to the bazel_tools repository for the iOS provisioning profileGravatar Damien Martin-Guillerez2016-01-15
| | | | | | | | | The iOS provisioning profile should be local to the developer / company. Fixes #780. -- MOS_MIGRATED_REVID=112229161
* Basic implementation for the build flag apple_bitcode, to propagate bitcode ↵Gravatar Chris Parsons2016-01-15
| | | | | | | | | | | build flags to clang based on a specified mode. This handles the very basic case of objc_* rule compilation which does not depend on non-objc targets. Until we support passing bitcode flags for cc compilation, such builds will be broken if bitcode is enabled (one may be able to get around this by propagating the appropriate bitcode flag to --copt, but we'll want to do this as part of the apple_bitcode flag). Additionally, we will want to use apple_bitcode to pass bitcode-enabling properties to generated xcode projects. -- MOS_MIGRATED_REVID=112192290
* Use xcode_config build target for actions which need to resolve an xcode ↵Gravatar Chris Parsons2016-01-13
| | | | | | | version. -- MOS_MIGRATED_REVID=111978539
* fix typo for command line option: "default_ios_provisiong_profile" -> ↵Gravatar Googler2015-12-30
| | | | | | | "default_ios_provisioning_profile" -- MOS_MIGRATED_REVID=111030705
* cache SDKROOT value for local execution of actions using apple toolkitGravatar Chris Parsons2015-12-15
| | | | | -- MOS_MIGRATED_REVID=110174447
* Use Bazel Preconditions variant which avoids varargs array creationGravatar Mark Schaller2015-12-10
| | | | | | | Reduces garbage. -- MOS_MIGRATED_REVID=109914243
* Better error for invalid --ios_sdk_version.Gravatar Googler2015-12-08
| | | | | -- MOS_MIGRATED_REVID=109722614
* Find frameworks in System/ instead of in Developer/ for ios sdks 9.0 and laterGravatar Chris Parsons2015-12-08
| | | | | -- MOS_MIGRATED_REVID=109715685
* Change xcode_version flag to build category so it shows up in blaze ↵Gravatar Dmitry Shevchenko2015-12-07
| | | | | | | auto-complete flags -- MOS_MIGRATED_REVID=109595089
* Reorganize BUILD files.Gravatar Han-Wen Nienhuys2015-11-30
| | | | | -- MOS_MIGRATED_REVID=108985661
* Implementation for xcode_version and xcode_config rules.Gravatar Chris Parsons2015-11-25
| | | | | -- MOS_MIGRATED_REVID=108659943
* Propagate apple platform environment variables for CppCompileActionGravatar Chris Parsons2015-11-19
| | | | | -- MOS_MIGRATED_REVID=108182745
* 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
* 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