| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114249806
|
|
|
|
|
|
|
|
|
| |
Turbine compiles ijars from source, ignoring method bodies and relaxing error
checks for performance. We can then do normal compilation against those ijars
and move javac off the build's critical path.
--
MOS_MIGRATED_REVID=114247125
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the main step toward supporting load statement of remote
repository in the WORKSPACE file (bug #824). Load statement that
refers to a remote repository will depend on the previous fragment
of the workspace file.
Issue #824 Step 3.
--
MOS_MIGRATED_REVID=114237027
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bit odd - the legacy loading phase runner reports a loading error,
but no target pattern error in keep_going mode, even though it's clearly an
error in the referenced target itself, rather than in its transitive closure.
This happens because the target pattern eval swallows such errors in keep_going
mode, and doesn't even report the error. I tried changing that, but it's a
fairly large refactoring, and that code path is dead if we switch to the new
one.
In the Skyframe-based implementation, both keep_going and nokeep_going paths
now report a target pattern error. (Note that the new code can never report a
loading error, because it doesn't perform transitive loading.)
The corresponding test is moved from SkyframeLoadingAndAnalysisTest to
LoadingPhaseRunnerTest - we don't need any integration test setup for that.
--
MOS_MIGRATED_REVID=114236897
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114234447
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114232294
|
|
|
|
|
|
|
|
| |
Note that this only affects the new Skyframe-based implementation of the
LoadingPhaseRunner, which isn't live yet.
--
MOS_MIGRATED_REVID=114230017
|
|
|
|
|
|
|
| |
build tools version can be used to determine which features to use.
--
MOS_MIGRATED_REVID=114225514
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114223734
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114217250
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the fdo support independent of the configuration, and therefore
safe to cache.
The genfilesPath was only used in AutoFDO builds, which now use the full
exec path to look up profiling data. The profile already refers to imported
files through their full exec paths, so this approach is more consistent.
Furthermore, if we ever have a source file with the same root-relative path as
a generated file, these would conflict in the FdoSupport map, potentially
leading to errors in the build. This may not be possible right now since such
files would conflict in the label namespace and such conflicts are always
resolved towards the generated file.
--
MOS_MIGRATED_REVID=114204994
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114204404
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114202845
|
|
|
|
|
|
|
| |
--
Change-Id: I15bd47b6cb947aa1b07ab7a43eea57f3c37696d2
Reviewed-on: https://bazel-review.googlesource.com/#/c/2700/
MOS_MIGRATED_REVID=114202706
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114199687
|
|
|
|
|
|
|
|
| |
Most tests are disabled for Skylark aspect. I'll reenable them as
we get to parity.
--
MOS_MIGRATED_REVID=114175091
|
|
|
|
|
|
|
| |
ArtifactFunction.
--
MOS_MIGRATED_REVID=114174899
|
|
|
|
|
|
|
| |
ArtifactFiles.
--
MOS_MIGRATED_REVID=114166208
|
|
|
|
|
|
|
| |
implemented yet.
--
MOS_MIGRATED_REVID=114157140
|
|
|
|
|
|
|
| |
node don't have access to its dependencies ("grandparents don't know grandchildren", or vice versa, depending on your point of view), changes to a node's dependencies can't affect downstream nodes.
--
MOS_MIGRATED_REVID=114143894
|
|
|
|
|
|
|
| |
they're part of the static structure of a rule.
--
MOS_MIGRATED_REVID=114141259
|
|
|
|
|
|
|
|
| |
RELNOTES: The sha256 attribute is now optional (although recommended!) for
remote repository rules.
--
MOS_MIGRATED_REVID=114139613
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Maven coordinates](https://maven.apache.org/pom.html#Maven_Coordinates) can be more sophisticated than we want to document here (alternate packaging/classifiers).
Specifically, I needed to link to `json-lib-2.4-jdk15.jar` at https://repo1.maven.org/maven2/net/sf/json-lib/json-li[].4/json-lib-2.4-jdk15.jar. In Maven, you'd refer to that like this:
```
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
```
It turns out that this works great in Bazel, too, if you use Maven coordinates.
```
maven_jar (
name = "net.sf.json-lib_json-lib",
artifact = "net.sf.json-lib:json-lib:jar:jdk15:2.4",
)
```
But it took me some effort to find it. Adding this link would have helped me, and will probably help somebody else, too.
--
Reviewed-on: https://github.com/bazelbuild/bazel/pull/856
MOS_MIGRATED_REVID=114135334
|
|
|
|
|
|
|
| |
linker includes.
--
MOS_MIGRATED_REVID=114134316
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Collect all the temporary directories into one tree that will delete on exit.
*** Original change description ***
Automated [] rollback of commit 30469a9939c14f8d0d2708bd0a91525a2e161cc4.
*** Reason for rollback ***
Breaks density filtering.
*** Original change description ***
Collect all the temporary directories into one tree that will delete on exit.
--
MOS_MIGRATED_REVID=114132492
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114124584
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks density filtering.
*** Original change description ***
Collect all the temporary directories into one tree that will delete on exit.
--
MOS_MIGRATED_REVID=114122848
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114115143
|
|
|
|
|
|
|
| |
RELNOTES: The --artifacts flag was removed from the dump command.
--
MOS_MIGRATED_REVID=114112607
|
|
|
|
|
|
|
|
|
| |
Rather than a new protobuf field, this enabling flag is presence of a section with DYNAMIC linking mode in the CROSSTOOL file, whether or not it needs to specify any linker flags.
RELNOTES[NEW]: Better support for toolchains that don't have a dynamic linker.
--
MOS_MIGRATED_REVID=114110200
|
|
|
|
|
|
|
|
| |
Improves the situation described in #853, so people don't have to patch in a
runtime exception to actually find out what jGit's complaining about.
--
MOS_MIGRATED_REVID=114107775
|
|
|
|
|
|
|
|
|
| |
prepends the tools repository path to the given string and parses the result as a label.
This is a cleaner way to access the tools repository label.
--
MOS_MIGRATED_REVID=114105929
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114104006
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114102899
|
|
|
|
|
|
|
|
| |
This was the last implementation of the interface, so we don't really need
the interface anymore. Also add a comment not to use this class.
--
MOS_MIGRATED_REVID=114099495
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114098483
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114086842
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113991707
|
|
|
|
|
|
|
| |
Issue #248
--
MOS_MIGRATED_REVID=113990796
|
|
|
|
|
|
|
|
|
| |
load statements
Issue #824 Step 2.
--
MOS_MIGRATED_REVID=113986176
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The WORKSPACE file parsing needs to be separated into several parts
to enable load of labels in the WORKSPACE file.
This change adds an intermediate SkyFunction, ExternalPackageFunction,
that requires all the WORKSPACE file part to be parsed to resolve
//external: labels.
Issue #824 Step 1.
--
MOS_MIGRATED_REVID=113984026
|
|
|
|
|
|
|
|
|
|
|
| |
FilegroupPathProvider, which no other Bazel logic uses.
So undocument it to prevent confusion.
Note the implementation logic still exists in FileGroup.java,
so we don't want to remove the attribute outright.
--
MOS_MIGRATED_REVID=113973569
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** 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
|
|
|
|
|
|
|
|
|
| |
for a long time.
RELNOTES: The --skyframe flag is no longer available for the build command.
--
MOS_MIGRATED_REVID=113947409
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113911470
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
first try to get a skyframe cache-hit; otherwise, fall back to legacy globbing. This gives us the best of both worlds: no extra skyframe restarts on glob-dep-misses, and much better incremental performance in the common case that a package's globs haven't changed. See the class-comment for PackageFunction.SkyframeHybridGlobber for a detailed description and explanation.
This CL has no impact on semantics and is a strict performance win.
Bazel users: Here's an example benchmark (does an incremental loading phase of a target T but forces all packages to be reloaded):
nharmata@nharmata:~/bazel$ N=10; B="output/bazel"; T=//src/main/java/com/google/devtools/build/lib:bazel/BazelServer_deploy.jar; CMD="build --noanalyze $T"; $B clean &> /dev/null; P=base_workspace/tools/build_rules/prelude_bazel; rm $P; touch base_workspace/tools/build_rules/BUILD; $B $CMD &> /dev/null; time for i in $(seq 1 $N); do echo "#hi" >> $P; $B $CMD &> /dev/null; done
For a very large internal Google target, this CL improves the benchmark performance by ~6%. A more targeted benchmark would be for loading a single package that has lots of expensive globs. For example, the time to incrementally load a single pathological Google-internal package was reduced by ~36%.
Alternatives considered: Introduce skyframe native globbing, gated by flags for both globbing during preprocessing and globbing during regular BUILD file evaluation. The approach in this CL is superior performance-wise.
--
MOS_MIGRATED_REVID=113899687
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113896378
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113893917
|