| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
The TargetParsingCompleteEvent was posting the post-expansion targets, and the
LoadingPhaseCompleteEvent was missing the test-suite targets.
--
MOS_MIGRATED_REVID=114312273
|
|
|
|
|
|
|
|
| |
Also fix a bug in the LoadingPhaseRunner - we weren't printing an error for
failed targets, duh!
--
MOS_MIGRATED_REVID=114310591
|
|
|
|
|
|
|
|
| |
Add a unit test - there is test coverage for this in RunCommandTest, but this
runs much faster.
--
MOS_MIGRATED_REVID=114302062
|
|
|
|
|
|
|
|
|
|
|
| |
The xcodegen script does not yet handle looking for files under @bazel_tools
correctly. This change will let xcode find these targets under the workspace
root, instead of the @bazel_tools repository. Note that this means that the
package path must include third_party/java/j2objc if it does not exist in your
workspace.
--
MOS_MIGRATED_REVID=114268000
|
|
|
|
|
|
|
| |
RELNOTES: Add instrumented file provider support to Skylark rules.
--
MOS_MIGRATED_REVID=114255963
|
|
|
|
|
|
|
| |
RELNOTES[NEW]: cpp configuration does not require objcopy
--
MOS_MIGRATED_REVID=114253655
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=114249806
|
|
|
|
|
|
|
|
|
|
|
|
| |
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=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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
Bazel has custom loading-phase logic checking "licenses" attributes.
Without this change, that logic fails with a "licenses is potentially
configurable" error.
--
MOS_MIGRATED_REVID=113890489
|
|
|
|
|
|
|
| |
This permits rules using ProguardLibrary to modify the attributes being read.
--
MOS_MIGRATED_REVID=113876253
|
|
|
|
|
|
|
| |
This can be used for classpath reduction on the IDE side.
--
MOS_MIGRATED_REVID=113861117
|
|
|
|
|
|
|
| |
Fixes #834.
--
MOS_MIGRATED_REVID=113851710
|
|
|
|
|
|
|
|
|
|
|
| |
for targets in the transitive closure of a target that is built.
Rollback of commit e01291a1a3d65cd706190c9bf0c8cfc585f38eb7.
Added an additional test to check that the configuration value is actually
effectively used.
--
MOS_MIGRATED_REVID=113836105
|
|
|
|
| |
MOS_MIGRATED_REVID=113835948
|