| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Move away global constants and global namespaces out of Environment
and into a new file Runtime.
--
MOS_MIGRATED_REVID=101940218
|
|
|
|
|
|
|
| |
test script.
--
MOS_MIGRATED_REVID=101937276
|
|
|
|
|
|
|
|
| |
Allow a call to a struct's field when it's a function.
Check whether a java method exists before issuing KwArg error.
--
MOS_MIGRATED_REVID=101937143
|
|
|
|
|
|
|
|
|
|
|
| |
All the code paths to the baseline coverage action now go through the
InstrumentedFilesCollector, which only passes the local sources for baseline
coverage, which are only those files matching the instrumentation spec, which
in turn are only files that are valid for offline coverage (in combination
with the withBaselineCoverage flag).
--
MOS_MIGRATED_REVID=101935566
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101932897
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101930967
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We no longer generate baseline coverage for all transitive source files in
every target; instead, we generate baseline coverage for the files in the
current target and collect all of them transitively. That means much smaller
but more baseline coverage files; the total content is smaller if you were
providing more than one target with overlapping transitive closures on the
command line.
In addition, we now collect baseline coverage for all targets in the transitive
closure of the top-level targets. Previously, if you only passed test targets,
you would not get any baseline coverage.
--
MOS_MIGRATED_REVID=101929897
|
|
|
|
|
|
|
|
|
|
| |
Inline everything into the collect() method (which is now documented) and
clearly mark local sources (for future changes). Previously, we were creating
an intermediate object, which did all its work in the constructor. This means
less garbage and slightly clearer code flow (IMO).
--
MOS_MIGRATED_REVID=101927041
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101926862
|
|
|
|
|
|
|
|
|
|
| |
The baseline artifacts are part of the instrumented files provider now, and
are strongly tied to the collect_code_coverage flag. It seems to be simpler
to collect them explicitly in the BuildView (which already collects them for
post-processing), than to rely on the output group selection.
--
MOS_MIGRATED_REVID=101926341
|
|
|
|
|
|
|
| |
with --keep_going.
--
MOS_MIGRATED_REVID=101921704
|
|
|
|
|
|
|
|
| |
This failed, because if the Bazel workspace is in your home directory, obviously
/home gets created in the sandbox.
--
MOS_MIGRATED_REVID=101921457
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We're currently doing too much work for baseline coverage - every rule creates
an action for its entire transitive closure; these actions are added to the
output group for baseline coverage, but not transitively accumulated.
It would be better for every rule to create an action for local baseline
coverage, and to aggregate the baseline coverage artifacts down the dependency
tree.
By merging the code paths, the InstrumentedFilesCollector can perform the
aggregation, because it can distinguish local and transitive files; I'm
planning to implement that in a subsequent change.
--
MOS_MIGRATED_REVID=101914334
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101913201
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101818063
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101812326
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101809192
|
|
|
|
|
|
|
|
|
|
| |
We know what size these will be ahead of time, and they can get large,
presize since there's no reason not to. Also change arg type for related
methods to be Set since it's all we deal in and we know it will have
better performance on size than generic Iterable.
--
MOS_MIGRATED_REVID=101806154
|
|
|
|
|
|
|
| |
This simplifies the users a bit, and makes it easier to refactor the code.
--
MOS_MIGRATED_REVID=101802767
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101798931
|
|
|
|
|
|
|
|
| |
This is necessary to have TargetResolver depend on it without making it depend
on the packages target. First step of #389.
--
MOS_MIGRATED_REVID=101790345
|
|
|
|
|
|
|
|
|
| |
rather than use a synchronized TreeSet that maintains the result in sorted order.
Consider M adds to the set resulting in N unique elements (so M >= N). The old approach was O(MlogN) and the new approach is O(M + NlogN) and has less lock contention; the time spent holding the lock is O(N) vs O(MlogN) - and actually ought to be small in practice because of the internal striping in CHS.
--
MOS_MIGRATED_REVID=101784791
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101777944
|
|
|
|
|
|
|
|
|
| |
Jack dexing currently only includes proguard specs from the binary itself,
not from any dependencies. There's no reason for this, just an accidental
inconsistency in the original implementation.
--
MOS_MIGRATED_REVID=101776897
|
|
|
|
|
|
|
| |
Symlink resolution did not work in all cases and broke ./compile.sh on certain Linux distros.
--
MOS_MIGRATED_REVID=101775459
|
|
|
|
|
|
|
| |
attributes: generator_{function, name, location}
--
MOS_MIGRATED_REVID=101774632
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101771182
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101769963
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101769828
|
|
|
|
|
|
|
| |
Instead, inject the list from the corresponding module.
--
MOS_MIGRATED_REVID=101769355
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101768878
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101765937
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101762412
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, targets in "tools" of genrules could only be expanded in
$(location)s as the target of the bind.
This is another part of fully fixing #90.
--
Change-Id: I91444fbfe551b651c46811014639f08f779c70aa
Reviewed-on: https://bazel-review.googlesource.com/#/c/1750/
MOS_MIGRATED_REVID=101760690
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101756783
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This seems to be the least insane approach within the following boundaries:
- Skyframe apparently doesn't allow GlobFunction to recover if FileFunction had already raised an exception that Skyframe knows about (this is somewhat surprising)
- I didn't want to change FileFunction not to throw an exception for dangling symlinks because this part of the code is scary
- I didn't want to revert to Skyframe-based symlink resolution for symlinks in immutable directories because that would be a performance hit
- I didn't want to write yet another symlink resolver and the two existing ones (FileSystem#resolveSymlinks() and and FileFunction#getSymlinkTargetRootedPath()) don't work: the former cannot resolve just one level of symlinks and the latter cannot do its job without adding Skyframe dependencies
I had to put in a placeholder value for realRootedPath when the FileValue represents a dangling symlink, because FileStateValue.create() relies on the symlink target being different than the symlink itself.
RELNOTES:
--
MOS_MIGRATED_REVID=101756189
|
|
|
|
|
|
|
| |
IllegalStateException that might not be thrown at all.
--
MOS_MIGRATED_REVID=101748191
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101743615
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101730178
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101723683
|
|
|
|
|
|
|
|
|
| |
-DDEBUG=1 (from -DDEBUG).
RELNOTES: change ObjC -DDEBUG in fastbuild to -DDEBUG=1
--
MOS_MIGRATED_REVID=101716428
|
|
|
|
|
|
|
|
| |
They are now disabled based on a dynamic flag instead. It's all too easy
to bypass removal with duplication, anyway, as in my_native_glob = native.glob
--
MOS_MIGRATED_REVID=101714237
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101707604
|
|
|
|
|
|
|
|
|
|
| |
Currently, the selector list is passed to the allowed value predicate.
Since the allowed value predicate obviously does not understand this,
it fails with an ugly error. This change causes it to instead check
every possible value of the attribute to ensure they're all valid.
--
MOS_MIGRATED_REVID=101705850
|
|
|
|
|
|
|
|
|
|
|
|
| |
Occasionally, when there is an error, but it's an acceptable error
because it's a cycle, the ErrorInfo string is too large to construct.
We should only construct the string for an error when we're going
to print it out, which is when it's not a cycle. (We don't expect to
see any non-cycle errors though.)
--
MOS_MIGRATED_REVID=101697924
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
specified.
Because configurable attributes can be used to create an android_binary which has no
proguard_specs, and because it's impossible to tell this case at the time the implicit
outputs are defined, some generating action must be defined even if no proguard_specs
actually make it to the rule. If the proguard_generate_mapping attribute is specified,
the mapping is also generated. Both are generated by a FailAction and so are not
actually produced.
--
MOS_MIGRATED_REVID=101694294
|
|
|
|
|
|
|
|
|
| |
BlazeRuntime#recordLastExecutionTime. Also add @Nullable annotations as appropriate.
Fixes #394.
--
MOS_MIGRATED_REVID=101685096
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=101679755
|
|
|
|
|
|
|
|
|
| |
Previously, load() always looked up .bzl files in the main repository. Ideally, it would just take a label and then it would work by default, but for the time being, this quick fix will do.
I had to put in an evil hack to make load() statements work in the prelude, because we currently have no way to distinguish load() statements from the prelude and from the BUILD file. Again, a proper label-based load() would solve this.
--
MOS_MIGRATED_REVID=101677502
|
|
|
|
|
|
|
|
|
|
| |
It is now possible to get the main executable of *_binary rules with
target.files_to_run.executable.
--
Change-Id: I4a81f216bdd237fc5b0e7dbd7d0a312558f3cf2c
Reviewed-on: https://bazel-review.googlesource.com/#/c/1760/
MOS_MIGRATED_REVID=101675365
|