| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Allows for building and linking to a framework in ios_application
* Currently only works for single arch builds
* Xcode generation produces correct target type, but is mostly untested
The implementation is very similar to that of objc_framework:
1) Build the ios_framework_binary as a dynamic library (-dynamiclib)
2) Symlink the library and public headers to a staging location, inside of "X.framework" bundle. Where X is the name under ios_framework_binary#framework_name
3) Pass the bundle content to ObjcCommon.addFrameworkImports, reusing the core of objc_framework rule implementation. This results in correctly set -F/-framework flags and allows clients to use the framework in a way they would use any SDK/3rd-party framework. It's allowed to import headers via #import <X/X.h> call.
4) Copy the binary and all resources into final application bundle under Frameworks/X.framework
5) Sign the app and nested frameworks
--
MOS_MIGRATED_REVID=100397239
|
|
|
|
|
|
|
| |
invalid arguments.
--
MOS_MIGRATED_REVID=100386706
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
exec(3) under mingw converts every command line argument that looks like Unix path
into Windows path when executing non-mingw images (criteria for non-mingw image is
that the image does not depend on msys-<version>.dll). This affects bazel labels
(`//foo:bar` becomes `/foo:bar` for example).
This CL:
1) Replaces usage of execv(3) with Windows-native CreateProcess.
2) Converts all command line arguments that are indeed paths into Windows paths.
--
MOS_MIGRATED_REVID=100386350
|
|
|
|
|
|
|
| |
xcode 6.4 upgrades clang from 6.0 to 6.1, which no longer needs this flag.
--
MOS_MIGRATED_REVID=100383635
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100373346
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100368051
|
|
|
|
|
|
|
| |
Link is pointing out to library (no .html) instead of library.html.
--
MOS_MIGRATED_REVID=100366883
|
|
|
|
|
|
|
|
|
| |
runfiles of inputs that are a) executable and b) in host configuration.
This is necessary because "command" could lead to the execution of a binary that might rely on one or more runfiles. However, SpawnAction didn't know about these runfiles, which meant that they were not copied to the runfiles area, thus leading to an error.
--
MOS_MIGRATED_REVID=100361726
|
|
|
|
|
|
|
| |
Ref equality for same-name SkyFunctionNames is not guaranteed.
--
MOS_MIGRATED_REVID=100322275
|
|
|
|
|
|
|
| |
consistency, accuracy, and clarity.
--
MOS_MIGRATED_REVID=100320358
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100317285
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100315352
|
|
|
|
|
|
|
| |
removing the key.
--
MOS_MIGRATED_REVID=100314916
|
|
|
|
|
|
|
| |
Also improves the error message when no repositories can be found.
--
MOS_MIGRATED_REVID=100307390
|
|
|
|
|
|
|
|
| |
The invalidator is no longer using the SkyValue, so there's no need
to return it when dirtying a node.
--
MOS_MIGRATED_REVID=100307211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The primary user of invalidation tracking is the SkyframeBuildView,
which monitored which ConfiguredTargetValues were invalidated. It
did that so the SkyframeExecutor could limit its search for artifact
conflicts to when the set of configured targets in the build changed.
For the newly introduced set of dirtied keys,
"dirtiedConfiguredTargetKeys" in SkyframeBuildView, to be as useful as
the "dirtyConfiguredTargets" set it replaced, the
ConfiguredTargetValueInvalidationReceiver must only remove a key from
the set if it was found to be clean when it was re-evaluated. If it
was rebuilt, then the key must stay in the set, to represent that the
set of configured target values has truly changed.
This CL introduces a semantic change that hopefully has a small effect,
if any. Previously, the informInvalidationReceiver method in
InvalidatingNodeVisitor only informed the invalidationReceiver when a
non-null value was invalidated. (This is usually, but not always,
equivalent to a non-error value. The uncommon exception is that in
keep-going builds, some nodes with errors may also have values, and
the invalidator would inform the receiver when such a node was
invalidated.) Now, the receiver is informed that a node is invalidated
regardless of whether its value is null. Because the receiver uses this
information to determine whether artifact conflict search has to be
rerun, and that search is expensive, it's possible this change will
negatively impact performance. However, the only way an extra search
could be invoked is if the invalidated configured target nodes are
all in error. That seems like it would happen rarely, if at all.
Further cleanup of unused SkyValues returned by markDirty to come in
a subsequent CL.
--
MOS_MIGRATED_REVID=100304744
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100303875
|
|
|
|
|
|
|
|
|
|
|
| |
of just to system log which can be missed.
Fix up update_binaries so that StdRedirect.dylib is built before testrunner, because at this time testrunner is bundling StdRedirect into its jar file and there testrunner could easily pick up older binaries.
RELNOTES:none
--
MOS_MIGRATED_REVID=100300804
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100285918
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100285082
|
|
|
|
|
|
|
|
|
| |
employed by java.lang.String.
Consider the case where thread T1 calls cacheHashCode and then in the future thread T2 calls hashCode. Because the side-effects of 'cacheHashCode' were non-atomic, T2 could see a value of 'true' for 'hashCodeCached' but still see the old value (of 0) for 'hashCode' and incorrectly think the hash code is 0.
--
MOS_MIGRATED_REVID=100283097
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100281959
|
|
|
|
|
|
|
| |
Fixes #367.
--
MOS_MIGRATED_REVID=100281134
|
|
|
|
|
|
|
|
|
| |
This brings consistency between BUILD and Skylark interpreters. It also brings
consistency with dicts (e.g. **kwargs can contain anything and kwargs.values
is allowed).
--
MOS_MIGRATED_REVID=100278980
|
|
|
|
|
|
|
| |
modules enabled build.
--
MOS_MIGRATED_REVID=100272810
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ThinLTO is a Link Time Opimization strategy, where the inlining step operates on LLVM intermediate code, and is sharded across multiple compiler invocations, so they can be parallelized. For more information, see http://llvm.org/devmtg/2015-04/slides/ThinLTO_EuroLLVM2015.pdf
Using this features requires an experimental LLVM toolchain, with the following stanza in CROSSTOOL
feature {
name: "thin_lto"
flag_set {
action: "c-compile"
action: "c++-compile"
flag_group {
flag: "-Xclang-only=-Wno-inconsistent-missing-override"
flag: "-flto"
flag: "-O2"
}
}
}
--
MOS_MIGRATED_REVID=100269776
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100268427
|
|
|
|
|
|
|
| |
"using" statement.
--
MOS_MIGRATED_REVID=100262453
|
|
|
|
|
|
|
|
|
| |
original artifact.
This adds artifact resolution costs to relative inclusions, but hopefully not too much.
--
MOS_MIGRATED_REVID=100164755
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100163482
|
|
|
|
|
|
|
|
|
| |
Image generated by docker build might put "null" as entry
value in the JSON metadata. Ignore those value when doing
the deep copy to avoid error on assigning to "NoneType".
--
MOS_MIGRATED_REVID=100145909
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100138246
|
|
|
|
|
|
|
|
|
|
|
| |
generating runfiles.
This code has been wrong for a long time, as the runfiles tree should
belong to an executable generated by the rule. We have started
enforcing this recently, and this fixes the resulting analysis crash.
--
MOS_MIGRATED_REVID=100129121
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100125974
|
|
|
|
|
|
|
| |
RELNOTES: allow load() in subincluded files.
--
MOS_MIGRATED_REVID=100125415
|
|
|
|
|
|
|
| |
It's not locked down yet as Skylark rules can't declare required fragments.
--
MOS_MIGRATED_REVID=100113647
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100109450
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100106965
|
|
|
|
|
|
|
| |
Instead we can just recreate artifact in ArtifactFactory if source root has changed. Additional optimization is to save with Artifact's some unique id of build when they have been created. If the build is the same we should not check source root changes.
--
MOS_MIGRATED_REVID=100104312
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100083317
|
|
|
|
|
|
|
| |
efficient if we need to do many ActionGraph looups.
--
MOS_MIGRATED_REVID=100060090
|
|
|
|
|
|
|
|
| |
If a non-Maven-Central repository was used to access an artifact, record that in
the generated WORKSPACE file.
--
MOS_MIGRATED_REVID=100058489
|
|
|
|
|
|
|
| |
getEffectiveOptions wasn't returning any of the options.
--
MOS_MIGRATED_REVID=100041131
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100038493
|
|
|
|
|
|
|
|
|
|
|
| |
I finally worked out how to get a simple test maven repository working, so
added back integration testing.
This removes the dependency on Aether and just uses the maven model lib to
resolve dependencies, which seems to work better in the face of custom repositories.
--
MOS_MIGRATED_REVID=100031414
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows to prevent expansion of flag sets based on whether build variables
are available. If required_variables is not set, and a variable that is
referenced in the flag_set's flags is not available, the build will fail.
We need the new behavior when some input files (for example profile data in
FDO enabled builds) are only available for a subset of the translation units of
a given target.
--
MOS_MIGRATED_REVID=100028996
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=100027280
|
|
|
|
|
|
|
| |
list type.
--
MOS_MIGRATED_REVID=100024899
|
|
|
|
|
|
|
| |
recognized by hasattr() and dir()
--
MOS_MIGRATED_REVID=100022797
|
|
|
|
|
|
|
|
| |
Flip the handling such that analysis failure is the default, rather than
execution failure (fail action creation).
--
MOS_MIGRATED_REVID=100020812
|