aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google
Commit message (Collapse)AuthorAge
* Fix SkyframeLoadingPhaseRunner posting of EventBus events.Gravatar Ulf Adams2016-02-10
| | | | | | | | The TargetParsingCompleteEvent was posting the post-expansion targets, and the LoadingPhaseCompleteEvent was missing the test-suite targets. -- MOS_MIGRATED_REVID=114312273
* SkyframeLoadingPhaseRunner: implement --compile_one_dependency.Gravatar Ulf Adams2016-02-10
| | | | | | | | Also fix a bug in the LoadingPhaseRunner - we weren't printing an error for failed targets, duh! -- MOS_MIGRATED_REVID=114310591
* Fix callback handling in the Skyframe-based target pattern eval.Gravatar Ulf Adams2016-02-10
| | | | | | | | Add a unit test - there is test coverage for this in RunCommandTest, but this runs much faster. -- MOS_MIGRATED_REVID=114302062
* Temporary fix for xcode project generationGravatar Kristina Chodorow2016-02-10
| | | | | | | | | | | 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
* Add instrumented file provider support to Skylark rules.Gravatar Googler2016-02-10
| | | | | | | RELNOTES: Add instrumented file provider support to Skylark rules. -- MOS_MIGRATED_REVID=114255963
* Don't require 'objcopy' to exist when building on MacOS.Gravatar Googler2016-02-10
| | | | | | | RELNOTES[NEW]: cpp configuration does not require objcopy -- MOS_MIGRATED_REVID=114253655
* Make unpredictable action inputs and outputs available to Actions.Gravatar Michael Thvedt2016-02-10
| | | | | -- MOS_MIGRATED_REVID=114249806
* 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 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
* 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
* 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
* 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
* 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
* 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
* Make Skylark "license"-type attributes non-configurable.Gravatar Greg Estren2016-02-05
| | | | | | | | | 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
* Enable ProguardLibrary's dependency set to be controlled by a calling rule.Gravatar Michael Staib2016-02-05
| | | | | | | This permits rules using ProguardLibrary to modify the attributes being read. -- MOS_MIGRATED_REVID=113876253
* Add jdeps support to AndroidStudioInfoAspect.Gravatar Googler2016-02-04
| | | | | | | This can be used for classpath reduction on the IDE side. -- MOS_MIGRATED_REVID=113861117
* Print truncation-specific error message when a server gives a too-short responseGravatar Kristina Chodorow2016-02-04
| | | | | | | Fixes #834. -- MOS_MIGRATED_REVID=113851710
* Allow switching on header processing (parse_headers or preprocess_headers)Gravatar Manuel Klimek2016-02-04
| | | | | | | | | | | 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
* --Gravatar Googler2016-02-04
| | | | MOS_MIGRATED_REVID=113835948