| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
This change was motivated by a need to write pure Skylark rules that expose their own objc providers so they can be used as deps to other libraries/application targets (e.g., SceneKit/SpriteKit compiled resources, []) without having to whitelist them and wait for a Blaze release.
This CL fixes what seems to be a bug in validateRuleDependency, where the behavior in the doc comment implies that it will accept a whitelisted rule name *or* a list of mandatory providers, but as implemented today it seems to require the rule to be whitelisted even if the mandatory native providers matched.
RELNOTES: objc_* rules can now depend on any target that returns an "objc" provider.
--
MOS_MIGRATED_REVID=128835096
|
|
|
|
|
|
|
|
|
| |
inputs/outputs in j2objc_library behind flag --experimental_j2objc_annotation_processing
Also added flag --experimental_zip_tree_artifact to switch on and off the zipping implementation of tree artifact generation.
--
MOS_MIGRATED_REVID=128586669
|
|
|
|
|
|
|
| |
not supported on the Simulator out of the box yet.
--
MOS_MIGRATED_REVID=125814847
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125385321
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
This builds all dependencies linked against watch SDKs instead of iOS SDKs, and builds for the architectures specified in --watchos_multi_cpus
RELNOTES: apple_binary supports a new platform_type attribute, which, if set to "watchos", will build dependencies for Apple's watchOS2.
--
MOS_MIGRATED_REVID=124980029
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124951254
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
around apple's buggy libtool tool
--
MOS_MIGRATED_REVID=123024674
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=122772973
|
|
|
|
|
|
|
| |
CLEANUP=<fixing documentation>
--
MOS_MIGRATED_REVID=122743083
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=121074077
|
|
|
|
|
|
|
| |
and produces a potentially multi-architecture binary, controlled by the --ios_multi_cpus flag
--
MOS_MIGRATED_REVID=120874805
|
|
|
|
|
|
|
|
|
|
|
| |
The new behavior can be disabled by building with -c opt or
--nodevice_debug_entitlements.
RELNOTES: iOS apps are signed with get-task-allow=1 unless building with -c
opt.
--
MOS_MIGRATED_REVID=120827024
|
|
|
|
|
|
|
|
| |
This isn't hooked up to anything yet, but is another piece of getting #848
rolled forward.
--
MOS_MIGRATED_REVID=120582973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
BuildConfiguration that is not the current rule context's configuration.
--
MOS_MIGRATED_REVID=120271518
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
c++ rule implementation backend and an OSX crosstool.
--
MOS_MIGRATED_REVID=119954578
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=119843072
|
|
|
|
|
|
|
| |
c++ rule implementation backend and an OSX crosstool.
--
MOS_MIGRATED_REVID=119660101
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=118727286
|
|
|
|
|
|
|
| |
RELNOTES:
--
MOS_MIGRATED_REVID=118518790
|
|
|
|
|
|
|
| |
RELNOTES: Restrict file types allowed for "strings" attribute to ".strings".
--
MOS_MIGRATED_REVID=118479031
|
|
|
|
|
|
|
| |
":extra_entitlements".
--
MOS_MIGRATED_REVID=118473605
|
|
|
|
|
|
|
|
|
| |
".plist"].
RELNOTES: Restrict file types used for "entitlements" attribute to [".entitlements", ".plist"]
--
MOS_MIGRATED_REVID=118416261
|
|
|
|
|
|
|
| |
instances by dependant objc_binary targets.
--
MOS_MIGRATED_REVID=118395529
|
|
|
|
|
|
|
| |
RELNOTES:
--
MOS_MIGRATED_REVID=118242131
|
|
|
|
|
|
|
|
|
| |
and storyboards.
RELNOTES:
--
MOS_MIGRATED_REVID=118077315
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=117821922
|
|
|
|
|
|
|
|
| |
RELNOTES[NEW]: --extra_entitlements allows passing additional entitlements for
iOS signing
--
MOS_MIGRATED_REVID=117735783
|
|
|
|
|
|
|
| |
RELNOTES[INC]: Any project that depended on the objc_options rule will be broken. Can be fixed by adding attrs (infoplists,copts) directly to rules depending on the options.
--
MOS_MIGRATED_REVID=117393853
|
|
|
|
|
|
|
| |
referenced from the crosstool without crossing package boundaries.
--
MOS_MIGRATED_REVID=117137594
|
|
|
|
|
|
|
| |
given application as there are cases where you want both.
--
MOS_MIGRATED_REVID=116998425
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=116990273
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=116595467
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=116593165
|
|
|
|
|
|
|
| |
Will need to release before we can remove resources from objcbinary rules.
--
MOS_MIGRATED_REVID=116571890
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=116017697
|
|
|
|
|
|
|
| |
RELNOTES[NEW]: iOS ipa_post_processor attribute allows for user-defined IPA edits.
--
MOS_MIGRATED_REVID=115338312
|
|
|
|
|
|
|
| |
implementations.
--
MOS_MIGRATED_REVID=115252203
|
|
|
|
|
|
|
|
|
| |
paranoid of missing one when changing them, and it makes things so much easier when coding.
R_FUTURE=schmitt,cparsons
--
MOS_MIGRATED_REVID=115101461
|
|
|
|
|
|
|
| |
import objc frameworks.
--
MOS_MIGRATED_REVID=114761121
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|