aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetCycleReporter.java
Commit message (Collapse)AuthorAge
* Fix a CCE in ConfiguredTargetCycleReporterGravatar cushon2017-12-12
| | | | PiperOrigin-RevId: 178785887
* Lots more cleanup of "dynamic configurations" comments and test code.Gravatar gregce2017-09-14
| | | | PiperOrigin-RevId: 168607439
* Make SkyKey an interface, and start the migration of not creating SkyKey ↵Gravatar janakr2017-05-04
| | | | | | wrapper objects: for OwnedArtifacts, which are the most numerous during builds, and for Labels for TransitiveTraversalValues, which are the most numerous during queries. PiperOrigin-RevId: 154989520
* Provide more reporting options to SkyFunctions Gravatar Klaus Aehlig2017-02-27
| | | | | | | | | | | | | With more specific information to be reported by Skyfunctions, e.g., to inform the build-event protocol on missing files, the EventHandler interface is no longer enough. Therefore, provide an enriched context for reporting events. -- Change-Id: I2d06166fe4d5b9054e24ad8c752fafc039e3f9f8 Reviewed-on: https://cr.bazel.build/8794 PiperOrigin-RevId: 148463437 MOS_MIGRATED_REVID=148463437
* Report cycles involving aspects correctly.Gravatar Lukacs Berki2016-06-14
| | | | | | | | | This involved refactoring BuildViewTestCase a bit so that its behavior is closer to that of Bazel with --experimental_interleave_loading_and_analysis. RELNOTES: -- MOS_MIGRATED_REVID=124816624
* Refactor cycle detection logic to handle dynamic configurations.Gravatar Greg Estren2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | Currently, analysis-time cycle detection expects all cycles to come from ConfiguredTargetFunction. With dynamic configurations, ConfiguredTargetFunction calls out to TransitiveTargetFunction to figure out which configuration fragments its deps need. If there's a cycle between the current target and a dep, the dep's TransitiveTargetFunction fails, which the current cycle detection code can't handle. But even if it could handle it, since the failure occurs in the dep we'd get error messages like: "in cc_library rule //the:dep: cycle in dependency graph" instead of the expected: "in cc_library rule //the:top_level_rule: cycle in dependency graph" This used to not be a problem because loading-phase cycle detection caught the cycle before all this triggered. But interleaved loading and analysis removes that gate. Tested: BuildViewTest cycle detection tests with dynamic configurations turned on -- MOS_MIGRATED_REVID=124391277
* Use the same method as LoadedPackageProvider.Bridge to look up targets.Gravatar Ulf Adams2015-09-28
| | | | | | | | | | This unfortunately requires injecting an EventHandler into the getTargetForLabel call, which is not super nice. On the other hand, it's not clear how this can be much better - looking up targets in the cycle reporter doesn't lend itself to prettiness. -- MOS_MIGRATED_REVID=103965373
* Split the PackageManager type hierarchy; no longer inherit LoadedPackageProv.Gravatar Ulf Adams2015-09-28
| | | | | | | | | | | | | This limits the exposure of LoadedPackageProvider, such that there will be no regressions in the use of getLoadedTarget. Unfortunately, fully removing LoadedPackageProvider is more work than I'm willing to take on right now, and this is the cleanest intermediate solution I could come up with. This unblocks my other work (removing SkyframeExecutor.errorEventHandler). Someone else will have to shave this yak. -- MOS_MIGRATED_REVID=103943375
* Rationalize copyright headersGravatar Damien Martin-Guillerez2015-09-25
| | | | | | | | | | | The headers were modified with `find . -type f -exec 'sed' '-Ei' 's|Copyright 201([45]) Google|Copyright 201\1 The Bazel Authors|' '{}' ';'` And manual edit for not Google owned copyright. Because of the nature of ijar, I did not modified the header of file owned by Alan Donovan. The list of authors were extracted from the git log. It is missing older Google contributors that can be added on-demand. -- MOS_MIGRATED_REVID=103938715
* Pass the SkyframePackageManager to the cycle reporters, not LoadedPackageP.Gravatar Ulf Adams2015-09-24
| | | | | | | This is in preparation for removing LoadedPackageProvider. -- MOS_MIGRATED_REVID=103752960
* Move Label from the lib.syntax to the lib.cmdline package so that:Gravatar Lukacs Berki2015-09-21
| | | | | | | | | | - Label parsing can be simplified - lib.syntax is only contains the code for Skylark and is reasonably independent from the problem domain of building things This change is mostly only changes to imports declarations. The rest is reversing the dependency between :cmdline and :syntax and moving a tiny amount of code between Printer and FilesetEntry and the addition of SkylarkPrintableValue that I couldn't be bothered to separate out into its own change. -- MOS_MIGRATED_REVID=103527877
* Add a SingleCycleReporter for analysis phase cycles, which can (only) occur ↵Gravatar Nathan Harmata2015-05-15
due to configurations. RELNOTES: -- MOS_MIGRATED_REVID=93543318