aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Make unpredictable action inputs and outputs available to Actions.Gravatar Michael Thvedt2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114249806
* Turbine, a tool for improving Java build performanceGravatar Liam Miller-Cushon2016-02-10
| | | | | | | | | 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
* Split the execution of the WORKSPACE file after each load statementGravatar Damien Martin-Guillerez2016-02-10
| | | | | | | | | | | | 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
* Skyframe-based loading phase runner: report errors if a package is in error.Gravatar Ulf Adams2016-02-10
| | | | | | | | | | | | | | | | | | | | | 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
* Add support for tags to Skylark IDE info aspect.Gravatar Dmitry Lomov2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114234447
* Add JavaSkylarkApiProvider to all Java rules.Gravatar Dmitry Lomov2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114232294
* Fix NPE in TestsInSuiteFunction.Gravatar Ulf Adams2016-02-10
| | | | | | | | Note that this only affects the new Skyframe-based implementation of the LoadingPhaseRunner, which isn't live yet. -- MOS_MIGRATED_REVID=114230017
* Adds a build_tools_version attribute to the android_sdk rule so that the androidGravatar Alex Humesky2016-02-10
| | | | | | | build tools version can be used to determine which features to use. -- MOS_MIGRATED_REVID=114225514
* Refactor buildjar BUILD filesGravatar Liam Miller-Cushon2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114223734
* Properly report loading errors during configuration creation.Gravatar Ulf Adams2016-02-10
| | | | | | | | | | | | | | | | | 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
* Remove unused class SingleJarBuilder.Gravatar Philipp Wollermann2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114217250
* Remove the genfilesPath parameter from FdoSupport.prepareToBuild.Gravatar Ulf Adams2016-02-10
| | | | | | | | | | | | | | | | | 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
* Make The Build Faster: Use AutoCloseable when dealing with resources.Gravatar Philipp Wollermann2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114204404
* Update FileSystemValueChecker to handle TreeArtifact values.Gravatar Michael Thvedt2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114202845
* Add tests for Label.resolveRepositoryRelative.Gravatar Brian Silverman2016-02-10
| | | | | | | -- Change-Id: I15bd47b6cb947aa1b07ab7a43eea57f3c37696d2 Reviewed-on: https://bazel-review.googlesource.com/#/c/2700/ MOS_MIGRATED_REVID=114202706
* Remove duplicate skyframe executor in SkyframeLabelVisitorTestCase.Gravatar Janak Ramakrishnan2016-02-09
| | | | | -- MOS_MIGRATED_REVID=114199687
* Unify tests for native and Skylark IntelliJ aspects.Gravatar Dmitry Lomov2016-02-09
| | | | | | | | Most tests are disabled for Skylark aspect. I'll reenable them as we get to parity. -- MOS_MIGRATED_REVID=114175091
* Support for handling TreeArtifact metadata and returning TreeArtifacts from ↵Gravatar Michael Thvedt2016-02-09
| | | | | | | ArtifactFunction. -- MOS_MIGRATED_REVID=114174899
* Rename MiddlemanExpander to ArtifactExpander, and refactor it to yield ↵Gravatar Michael Thvedt2016-02-09
| | | | | | | ArtifactFiles. -- MOS_MIGRATED_REVID=114166208
* Introduce TreeArtifact and associated code to work with it. No functionality ↵Gravatar Michael Thvedt2016-02-09
| | | | | | | implemented yet. -- MOS_MIGRATED_REVID=114157140
* Don't check direct deps when doing change pruning. Since dependents of a ↵Gravatar Janak Ramakrishnan2016-02-09
| | | | | | | 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
* Make generator_function, generator_name nonconfigurable -Gravatar Greg Estren2016-02-09
| | | | | | | they're part of the static structure of a rule. -- MOS_MIGRATED_REVID=114141259
* Make sha256 optionalGravatar Kristina Chodorow2016-02-09
| | | | | | | | RELNOTES: The sha256 attribute is now optional (although recommended!) for remote repository rules. -- MOS_MIGRATED_REVID=114139613
* Link to Maven coordinates in the maven_jar documentation.Gravatar Dan Fabulich2016-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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
* Adds a flag to prioritize static libs over system libs and frameworks in ↵Gravatar Cal Peyser2016-02-09
| | | | | | | linker includes. -- MOS_MIGRATED_REVID=114134316
* Rollback of commit 40561f0bc889be8c0d90445befe75878ddee717b.Gravatar Googler2016-02-09
| | | | | | | | | | | | | | | | | | | | | *** 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
* Implement ide-resolve output group in IntelliJ info aspect.Gravatar Dmitry Lomov2016-02-09
| | | | | -- MOS_MIGRATED_REVID=114124584
* Rollback of commit 30469a9939c14f8d0d2708bd0a91525a2e161cc4.Gravatar Googler2016-02-09
| | | | | | | | | | | | | *** 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
* Collect all the temporary directories into one tree that will delete on exit.Gravatar Googler2016-02-09
| | | | | -- MOS_MIGRATED_REVID=114115143
* Remove the --artifacts flag from the dump command, which was long deprecated.Gravatar Philipp Wollermann2016-02-09
| | | | | | | RELNOTES: The --artifacts flag was removed from the dump command. -- MOS_MIGRATED_REVID=114112607
* Add supportsDynamicLinker to CppConfigurationGravatar Googler2016-02-09
| | | | | | | | | 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
* Make jGit print a better error messageGravatar Kristina Chodorow2016-02-09
| | | | | | | | 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
* Replace getToolsRepository() with getToolsLabel(String labelValue) which ↵Gravatar Luis Fernando Pino Duque2016-02-09
| | | | | | | | | 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
* Expose JavaRuleOutputJarsProvider to Skylark and utilize it in ide info aspect.Gravatar Dmitry Lomov2016-02-09
| | | | | -- MOS_MIGRATED_REVID=114104006
* Make The Build Faster: More explicit exception handling in the worker strategy.Gravatar Philipp Wollermann2016-02-09
| | | | | -- MOS_MIGRATED_REVID=114102899
* Merge LoadedPackageProvider.Bridge into LoadedPackageProvider.Gravatar Ulf Adams2016-02-09
| | | | | | | | 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
* Fixed the inconsistency when using list as the value of output_groupsGravatar Yun Peng2016-02-09
| | | | | -- MOS_MIGRATED_REVID=114098483
* Tiny refactoring: extract shared code between -k and -nok.Gravatar Ulf Adams2016-02-08
| | | | | -- MOS_MIGRATED_REVID=114086842
* Prepend Constants.TOOLS_REPOSITORY to implicit J2ObjC dependency labels.Gravatar Rumou Duan2016-02-07
| | | | | -- MOS_MIGRATED_REVID=113991707
* Mark //src/test/java/com/google/devtools/build/lib:shell_test as flaky.Gravatar David Chen2016-02-07
| | | | | | | Issue #248 -- MOS_MIGRATED_REVID=113990796
* WorkspaceASTFunction returns a list of ASTs so we can split the AST before ↵Gravatar Damien Martin-Guillerez2016-02-07
| | | | | | | | | load statements Issue #824 Step 2. -- MOS_MIGRATED_REVID=113986176
* Add an intermediate SkyFunction for resolving the external packageGravatar Damien Martin-Guillerez2016-02-07
| | | | | | | | | | | | | | 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
* The filegroup "path" attribute is only used to exposeGravatar Greg Estren2016-02-05
| | | | | | | | | | | 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
* Rollback of commit a9b84575a32476a5faf991da22b44661d75c19b6.Gravatar Cal Peyser2016-02-05
| | | | | | | | | | | | | *** 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
* Remove --skyframe flag from the build command. It was a no-op and deprecated ↵Gravatar Googler2016-02-05
| | | | | | | | | for a long time. RELNOTES: The --skyframe flag is no longer available for the build command. -- MOS_MIGRATED_REVID=113947409
* Add Truth subject for ErrorInfo and improve one for EvaluationResult.Gravatar Janak Ramakrishnan2016-02-05
| | | | | -- MOS_MIGRATED_REVID=113911470
* Move ObjC compilation actions for J2ObjC-translated code from binary level ↵Gravatar Rumou Duan2016-02-05
| | | | | | | | | | | | 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
* Use a clever hybrid approach for evaluating globs during package loading: ↵Gravatar Nathan Harmata2016-02-05
| | | | | | | | | | | | | | | | | 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
* Pass DEVELOPER_DIR to environment_plist.sh.Gravatar Peter Schmitt2016-02-05
| | | | | -- MOS_MIGRATED_REVID=113896378
* Move the Globber interface into its own file.Gravatar Nathan Harmata2016-02-05
| | | | | -- MOS_MIGRATED_REVID=113893917