aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
Commit message (Collapse)AuthorAge
* Report completion of a target together with failed actionsGravatar Klaus Aehlig2016-10-27
| | | | | | | | | | | | | | | | Report the completion of all targets together with the root causes on the build event stream. To do so, have TargetCompleteEvent and ActionExecutedEvent be instances of BuildEvent; however, ignore an ActionExecutedEvent in the BuildEventStreamer if the execution was successful. By this change we get, for the first time, a build event stream that is naturally closed, i.e., without Aborted events closing up lose ends. Add a test asserting this property. -- Change-Id: Ie90dd52ee80deb0fdabdce1da551935522880a1a Reviewed-on: https://bazel-review.googlesource.com/#/c/6279 MOS_MIGRATED_REVID=137273002
* Cleanup: remove isSkylark in Environment ContinuationGravatar Laurent Le Brun2016-10-27
| | | | | -- MOS_MIGRATED_REVID=137272887
* Fix a few issues that prevented Bazel from building with Java 7.Gravatar Lukacs Berki2016-10-27
| | | | | -- MOS_MIGRATED_REVID=137269807
* Clarify how startup options are conveyed between the client and the server.Gravatar Lukacs Berki2016-10-27
| | | | | -- MOS_MIGRATED_REVID=137266505
* Cleanup in Environment, remove unused lookup functionGravatar Laurent Le Brun2016-10-27
| | | | | -- MOS_MIGRATED_REVID=137266170
* Create a separate module for .proto.h files. Together with modules pruning,Gravatar Googler2016-10-27
| | | | | | | | this allows reaping some of the benefits of .proto.h files even without completely disabling .pb.h files. -- MOS_MIGRATED_REVID=137261686
* Cleanup in the parserGravatar Laurent Le Brun2016-10-26
| | | | | | | | | | - Move break/continue check from ValidationEnvironment to the Parser - Remove some differences between BUILD / Skylark parsing mode - Fix location off-by-one error in the break/continue tokens - Remove duplicated error message ('for loops are not allowed on top-level') -- MOS_MIGRATED_REVID=137259929
* Fix uses of LocalRepositoryLookupFunction to work with JDK7.Gravatar John Cater2016-10-26
| | | | | -- MOS_MIGRATED_REVID=137257525
* Refactor: extract anonymous classesGravatar Laszlo Csomor2016-10-26
| | | | | | | | | | | | | | | | | | | AbstractFileSystem.getFile{Input,Output}Stream created anonymous File{Input,Output}Stream objects. These hold a reference to the outer class instance (AbstractFileSystem). This may prevent memory release in case the returned objects are kept around even if the AbstractFileSystem instance could otherwise be released. This particular refactoring is unlikely to have caught any memory leaks like this, so it's not really necessary, but I came across it and thought it won't hurt and will future-prove the class against such leaks. -- MOS_MIGRATED_REVID=137254192
* Merge all jars in AAR in aar_import, not just classes.jarGravatar Adam Michael2016-10-26
| | | | | | | See https://github.com/bazelbuild/bazel/issues/1935 -- MOS_MIGRATED_REVID=137202533
* bazel query --output=xml: avoid iterating over all possible values forGravatar Greg Estren2016-10-26
| | | | | | | | attr = select({"a": LABEL_LIST, "b": LABEL_LIST, ...}). This can be exponential (w.r.t. the # of select conditions) and produce OOMs. -- MOS_MIGRATED_REVID=137200979
* Adds a check that the new local repository path exists and is aGravatar John Cater2016-10-25
| | | | | | | | | | | directory. Fixes #1981. -- Change-Id: I16a96be3f4f9de66e608b1914a2554613ddc096a Reviewed-on: https://bazel-review.googlesource.com/c/6910/ MOS_MIGRATED_REVID=137192543
* Add generic parameter to make ParallelSkyQueryUtil Java7 compliantGravatar Googler2016-10-25
| | | | | -- MOS_MIGRATED_REVID=137192333
* Adds support to aar_import for native libs in /jni.Gravatar Adam Michael2016-10-25
| | | | | | | The libs that are extracted are dependent on the CPU from the Android split transition. This is set either from --fat_apk_cpu or --android_cpu if fat_apk_cpu is empty. -- MOS_MIGRATED_REVID=137188695
* Rollback of commit abb0b633339ef76bf19a1e5af8477d42d13151d8.Gravatar Peter Schmitt2016-10-25
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** breaks bazel linux sandbox *** Original change description *** Move -l/-L link opts to FeatureConfiguration This cl moves -l/-L link opts generation from Java to FeatureConfiguration making it possible to alter the flags in CROSSTOOL. Change-Id: I1ea7501435ab7e62992e1e9b0cb7f5e22d52c521 -- MOS_MIGRATED_REVID=137184226
* Remove deprecated kind in IDE aspect.Gravatar Googler2016-10-25
| | | | | -- MOS_MIGRATED_REVID=137178015
* Move from simulator version 8.4 to 9.3 which is going to be far more common ↵Gravatar Dave MacLachlan2016-10-25
| | | | | | | now given that most devs are on Xcode 7.3. -- MOS_MIGRATED_REVID=137169017
* Remove iossim from Bazel. Gravatar Dave MacLachlan2016-10-25
| | | | | | | | | We have stopped using iossim in Bazel and replaced it with direct access to xcode's APIs. As a result we can clean up our code base by removing any references to iossim. RELNOTES:none -- MOS_MIGRATED_REVID=137165435
* Add new skyframe function to lookup the repository given a path, and use thatGravatar John Cater2016-10-25
| | | | | | | to report invalid package references. Fixes #1592. -- MOS_MIGRATED_REVID=137164164
* Add a new concept of failure causesGravatar Klaus Aehlig2016-10-25
| | | | | | | | | | | | | | | | | | | | Not all possible reasons for failure are uniquely identified by a label. Therefore, add a new data type describing possible root causes of failures and use it. The new type is added in causes/*.java and coresponds to Haskell's one-line definition data Cause = LabelCause Label | ActionCause Path Label deriving Show With future clean up of other failure causes inadequately described by a label, we expect that type to be extended by new constructors (i.e., new classes implementing Cause). -- Change-Id: I6fec74c78cec6abb9c10e32743b05a792888fead Reviewed-on: https://bazel-review.googlesource.com/#/c/6617 MOS_MIGRATED_REVID=137156390
* Trim labels in location expressions before expansion.Gravatar Tobias Werth2016-10-25
| | | | | | | -- Change-Id: If626fd448ddbfbdf65b71569fda7a9b206e5f8b2 Reviewed-on: https://bazel-review.googlesource.com/c/6890/ MOS_MIGRATED_REVID=137155361
* Multidex uses singlejar instead of zip.Gravatar Adam Michael2016-10-25
| | | | | | | | | To roll this out safely, this is hidden behind a flag: --experimental_android_use_singlejar_for_multidex See https://github.com/bazelbuild/bazel/issues/1936 -- MOS_MIGRATED_REVID=137155214
* VFS: implement a Windows-specific Path subclassGravatar Laszlo Csomor2016-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change rolls forward commit e0d7a540e3c615c628f63fcaaaba0c47fca2cb25 and commit 8bb4299b28de14eed9d3b57bcaeb9350c81c7db3, and adds a bugfix: - FileSystem.PathFactory got a new translatePath method that WindowsFileSystem.PathFactory overrides to translate absolute Unix paths to MSYS-relative paths - Path.getCachedChildPath calls this translatePath method so the child path is registered with the correct (translated) parent and under the correct name (e.g. "C:" instead of say "c") Below is the rest of the original change description: The new subclass WindowsFileSystem.WindowsPath is aware of Windows drives. This change: - introduces a new factory for Path objects so FileSystems can return a custom implementation that instantiates filesystem-specific Paths - implements the WindowsPath subclass of Path that is aware of Windows drives - introduces the bazel.windows_unix_root JVM argument that defines the MSYS root, which defines the absolute Windows path that is the root of all Unix paths that Bazel creates (e.g. "/usr/lib" -> "C:/tools/msys64/usr/lib") except if the path is of the form "/c/foo" which is treated as "C:/foo" - removes all Windows-specific logic from Path PathFragment is still aware of drive letters and it has to remain so because it is unaware of file systems. WindowsPath restricts the allowed path strings to absolute Unix paths where the first segment, if any, is a volume specifier. From now on if Bazel attempts to create a WindowsPath from an absolute Unix path, Bazel will make it relative to WindowsPath.UNIX_ROOT, unless the first component is a single-letter name (e.g. "/c/foo" which is "C:/foo"). Subclassing Path is necessary because a Unix-style absolute path doesn't sufficiently define a full Windows path, as it may be relative to any drive. Fixes https://github.com/bazelbuild/bazel/issues/1463 -- MOS_MIGRATED_REVID=137149483
* Fix help text for --command_port so that it does not refer to the ↵Gravatar Lukacs Berki2016-10-25
| | | | | | | nonexistent AF_UNIX mode. -- MOS_MIGRATED_REVID=137135400
* Add a flag to lock down isystem include checks.Gravatar Ulf Adams2016-10-25
| | | | | | | | | | | | | | | | | If this flag is disabled, Bazel continues to behave as previously - includes reached through isystem paths are completely ignored, i.e., they don't have to be declared in any rule. This applies primarily to cc_library.includes. When the flag is enabled, Bazel gives an error for any such header file that isn't declared in srcs or hdrs of a dependent rule. Goes towards fixing #1162. RELNOTES[NEW]: Use --strict_system_includes to apply hdrs_check=strict also to cc_library.includes, even if sandboxing is disabled. -- MOS_MIGRATED_REVID=137125638
* Enables AllowValues and DisallowValues invocation policy operations to takeGravatar Alex Humesky2016-10-25
| | | | | | | | | a value to use instead of the given flag value if it is disallowed by the policy. This is a generalization of the existing new_default_value behavior to cover any value of the flag, not just the default value if the flag is unset. -- MOS_MIGRATED_REVID=137104944
* If a group of deps has only one unique element, store it bare.Gravatar Janak Ramakrishnan2016-10-25
| | | | | | | | | | Not storing it bare both breaks equality comparison for GroupedList and uses more space. -- Change-Id: Iaf4f88908ecf4293cfc31dbd896f46e1da3b4184 Reviewed-on: https://bazel-review.googlesource.com/#/c/6850/ MOS_MIGRATED_REVID=137099785
* Accept valid relative symlinks in TreeArtifacts.Gravatar Rumou Duan2016-10-25
| | | | | -- MOS_MIGRATED_REVID=137072310
* Defer targetification of SkyKeys during unbounded allrdeps evaluationGravatar Googler2016-10-24
| | | | | -- MOS_MIGRATED_REVID=137064426
* Add support for exported_plugins to android_libraryGravatar Googler2016-10-24
| | | | | | | | | AndroidLibrary already has the support for exported_plugins thanks to its use of JavaCommon.getTransitivePlugins() RELNOTES[NEW]: android_library now has a "exported_plugins" attribute just like java_library -- MOS_MIGRATED_REVID=137053056
* Prepare to remove ↵Gravatar Liam Miller-Cushon2016-10-24
| | | | | | | --experimental_optimize_header_compilation_annotation_processing -- MOS_MIGRATED_REVID=137035372
* Syncing up the latest protos with the internal version. Adding UNSUPPORTEDGravatar Ola Rozenfeld2016-10-24
| | | | | | | option to setting remote execution cache. -- MOS_MIGRATED_REVID=137027196
* Gives warning instead of error when fail to delete sandbox directory.Gravatar Yue Gan2016-10-24
| | | | | -- MOS_MIGRATED_REVID=137012950
* Move -l/-L link opts to FeatureConfigurationGravatar Marcel Hlopko2016-10-24
| | | | | | | | | | This cl moves -l/-L link opts generation from Java to FeatureConfiguration making it possible to alter the flags in CROSSTOOL. Change-Id: I1ea7501435ab7e62992e1e9b0cb7f5e22d52c521 -- MOS_MIGRATED_REVID=137004610
* Create a distribution artifactGravatar Klaus Aehlig2016-10-24
| | | | | | | | | | | ...containing, besides the original sources, all generated machine-independent files needed for creating a bootstrap bazel without the need of having a protoc installed. -- Change-Id: Ib90e7896615b4067175a23fe2c942dbac4b71e4a Reviewed-on: https://bazel-review.googlesource.com/#/c/6730 MOS_MIGRATED_REVID=136910561
* Don't mark modules as used if they would only contribute textual_hdrs. There isGravatar Googler2016-10-24
| | | | | | | | | | not much to gain by providing textual_hdrs through modules and, dependent on the setup, such modules can pull in large dependency trees (currently pruning of header modules isn't activated for the modules builds themselves and so we always add all dependent modules to the inputs). -- MOS_MIGRATED_REVID=136849158
* Short-term solution for discrepency between backends that do input discoveryGravatar Googler2016-10-21
| | | | | | | | | | | and backends that don't. If a CppCompileAction doesn't do ahead of time include scanning with its current executor, it might still have inherited discovered inputs from an earlier execution with a different executor. In particular, module files might have been pruned out and we need to adjust the command line accordingly. -- MOS_MIGRATED_REVID=136822752
* Print a warning if the macOS sandbox is non functional.Gravatar Philipp Wollermann2016-10-21
| | | | | -- MOS_MIGRATED_REVID=136818366
* Proper action output checks for TreeArtifacts. Instead of crashing Bazel, we ↵Gravatar Rumou Duan2016-10-19
| | | | | | | now handle failed TreeArtifact output checks gracefully. -- MOS_MIGRATED_REVID=136627086
* Add missing "final" specifiers to fix Bazel's JDK7 build.Gravatar Philipp Wollermann2016-10-19
| | | | | -- MOS_MIGRATED_REVID=136626076
* Allow bypassing input file discovery in package buildingGravatar Michajlo Matijkiw2016-10-19
| | | | | -- MOS_MIGRATED_REVID=136594531
* Made HttpDownloader download calls non-static.Gravatar Jingwen Chen2016-10-19
| | | | | | | | | | | | | | | To set and use a RepositoryCache instance in HttpDownloader while parsing the command line options, we can pass an AtomicReference<HttpDownloader> instance from BazelRepositoryModule to the HttpArchiveFunctions. However, we'll need to change HttpDownloader download() calls to be non-static in order to initialize an instance of HttpDownloader in BazelRepositoryModule. Remaining TODOs: - RepositoryCache implementation and unit testing - RepositoryCache lockfiles - RepositoryCache integration testing GITHUB: #1752 -- MOS_MIGRATED_REVID=136593517
* Rollback of commit e6191f7209ebf3f67480bc7aa9db5ac58beb2156.Gravatar Damien Martin-Guillerez2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Roll-forward with fix. Tested with `bazel build src:srcs //src/test/...` using a bootstrapped bazel. Fixes #1923. RELNOTES[INC]: Non test-only targets can no longer depends on test-only targets. *** Original change description *** Automated [] rollback of commit a9f20b0d6459d395444c45cf5e94a899f3443633. *** Reason for rollback *** Broke Bazel CI: ERROR: /home/ci/workspace/Bazel/JAVA_VERSION/1.8/PLATFORM_NAME/linux-x86_64/src/BUILD:284:1: in filegroup rule //src:srcs: non-test target '//src:srcs' depends on testonly target '//src/java_tools/junitrunner/java/com/google/testing/junit/junit4:srcs' and doesn't have testonly attribute set. ERROR: Analysis of target '//scripts/packages:packages' failed; build aborted. http://ci.bazel.io/view/Bazel%20b... *** -- MOS_MIGRATED_REVID=136589937
* Rollback of commit e0d7a540e3c615c628f63fcaaaba0c47fca2cb25.Gravatar Philipp Wollermann2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Suspected root cause for Windows bootstrap on Bazel CI breakage: java.lang.NullPointerException at com.google.devtools.build.lib.vfs.Path$1.run(Path.java:123) http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/922/JAVA_VERSION=1.8,PLATFORM_NAME=windows-x86_64/console *** Original change description *** VFS: implement a Windows-specific Path subclass The new subclass WindowsFileSystem.WindowsPath is aware of Windows drives. This change: - introduces a new factory for Path objects so FileSystems can return a custom implementation that instantiates filesystem-specific Paths - implements the WindowsPath subclass of Path that is aware of Windows drives - introduces the bazel.windows_unix_root JVM argument that defines the MSYS root, which defines the absolute Windows path that is the... *** -- MOS_MIGRATED_REVID=136583352
* Rollback of commit 8bb4299b28de14eed9d3b57bcaeb9350c81c7db3.Gravatar Philipp Wollermann2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Suspected root cause for Windows bootstrap on Bazel CI breakage: java.lang.NullPointerException at com.google.devtools.build.lib.vfs.Path$1.run(Path.java:123) http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/922/JAVA_VERSION=1.8,PLATFORM_NAME=windows-x86_64/console *** Original change description *** VFS, WindowsFileSystem: fix UNIX_ROOT retrieval Executing bash.exe directly instead of through cmd.exe doesn't seem to work. This change fixes that problem. Fixes https://github.com/bazelbuild/bazel/issues/1463 (again) -- MOS_MIGRATED_REVID=136581532
* Add type arguments for JDK7 build.Gravatar Janak Ramakrishnan2016-10-19
| | | | | -- MOS_MIGRATED_REVID=136575806
* Rollback of commit a9f20b0d6459d395444c45cf5e94a899f3443633.Gravatar Philipp Wollermann2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Broke Bazel CI: ERROR: /home/ci/workspace/Bazel/JAVA_VERSION/1.8/PLATFORM_NAME/linux-x86_64/src/BUILD:284:1: in filegroup rule //src:srcs: non-test target '//src:srcs' depends on testonly target '//src/java_tools/junitrunner/java/com/google/testing/junit/junit4:srcs' and doesn't have testonly attribute set. ERROR: Analysis of target '//scripts/packages:packages' failed; build aborted. http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=linux-x86_64/923/console *** Original change description *** Enforce that non test-only targets cannot depends on test-only targets This behavior was not enforced since we open-sourced Bazel even though this was documented and the attributed existed. Also removed the incorrect part from the documentations: we do not enforce restrictions on javatests package. Fixes #1923. RELNOTES[INC]: Non test-only targets can no longer depends on test-only targets. -- MOS_MIGRATED_REVID=136574806
* Expose multi-arch artifacts to objc skylark providersGravatar Chris Parsons2016-10-19
| | | | | -- MOS_MIGRATED_REVID=136523173
* Fix ThinLTO indexing linkstamp handlingGravatar Googler2016-10-19
| | | | | | | | | | | | | | | | | | We were including the linkstamp object file in the linker inputs on the command line for the LTO indexing step, despite not adding the linkstamp compile command or the files to the inputs and outputs, causing an error. The linkstamp file is not compiled in ThinLTO mode. The linkstamp is correctly added to the final native link. The fix is to not pass the linkstampMap to the CppLinkVariablesExtension for the LTO indexing step. Passing in the map causes the linkstamp outputs to be added to the buildVariables, resulting in the outputs being added to the command line via the featureConfiguration. Added linkstamps to several of the ThinLTO tests. -- MOS_MIGRATED_REVID=136480400
* Per action file caching for input TreeArtifact.Gravatar Rumou Duan2016-10-19
| | | | | -- MOS_MIGRATED_REVID=136475556