aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Report the structured Bazel command line via the BEP.Gravatar ccalvarin2017-10-10
| | | | | | | | | This is part of the effort outlined in https://bazel.build/designs/2017/07/13/improved-command-line-reporting.html. The refactoring of the options parser is not yet complete, so we still do not have complete & correct information about the canonical command line. Where the information is blatantly incorrect, a best approximation was made, with comments and tests documenting the deficiencies. Change the names of the initial CommandLine fields in the BEP to be explicitly identified as unstructured. RELNOTES: None. PiperOrigin-RevId: 171625377
* Support --forceJumbo flag with incremental dexingGravatar kmb2017-10-10
| | | | PiperOrigin-RevId: 171622639
* Pull clearing of legacy configured target data up to SkyframeExecutor and ↵Gravatar janakr2017-10-10
| | | | | | rename method to better reflect what it is primarily doing. PiperOrigin-RevId: 171621356
* Allow NodeEntry implementations to keep just deps, as opposed to all edges ↵Gravatar janakr2017-10-10
| | | | | | or no edges. Also add option to disable checks in MemoizingEvaluatorTest that don't make sense for implementations that don't keep track of dirty nodes. Also extract RecordingDifferencer to an interface. And add a test for the situation that a node changes during a build that it's not requested, and which fails, necessitating cleanup. PiperOrigin-RevId: 171616817
* Don't release the client lock while the server executes a command. TheGravatar Googler2017-10-10
| | | | | | | | | | | | | | | server still doesn't support concurrency, even for commands like 'help', so there's no benefit from releasing it. This also improves progress messages. Today the client may print WARNING: Running Blaze server needs to be killed, because the startup options are different. and then wait indefinitely while the server finishes processing a request. With this change, an explanation for the delay is given. RELNOTES: None. PiperOrigin-RevId: 171571670
* Workaround missing go_* target ThinLTO supportGravatar Googler2017-10-10
| | | | | | | Since go targets set up custom links and don't use CppLinkAction, handle ThinLTO builds by creating simple LTO backend actions to compile each IR file down to native code (without any whole program optimization). RELNOTES: None PiperOrigin-RevId: 171548766
* Extract CppToolchainInfo from CppConfiguration. CppToolchainInfo contains allGravatar cpeyser2017-10-10
| | | | | | | | information derived from the toolchain that is not also derived from build options. This will facilitate migration of toolchain information from CppConfiguration to CppToolchainProvider. CppConfiguration's usage of CppToolchainInfo can now be removed piece by piece as usage of toolchain information in the c++ rules is pointed at CppToolchainProvider instead of CppConfiguration. PiperOrigin-RevId: 171547509
* Skylint: report location ranges instead of just the start locationGravatar fzaiser2017-10-10
| | | | | RELNOTES: none PiperOrigin-RevId: 171532870
* Fix the location of load statements in Skylark.Gravatar fzaiser2017-10-10
| | | | | | | Previously, the closing parenthesis was not included in the location. RELNOTES: none PiperOrigin-RevId: 171527078
* Skylint: add integration tests for the java binaryGravatar fzaiser2017-10-10
| | | | | RELNOTES: none PiperOrigin-RevId: 171526636
* Remove ctx.fragments.apple.{xcode_version,ios_minimum_os}.Gravatar lberki2017-10-10
| | | | | | | | | | These are now accessible using ctx.attr._xcode_config[apple_common.XcodeVersionConfig]. Progress towards #3424. RELNOTES[INC]: ctx.fragments.apple.{xcode_version,ios_minimum_os} is not supported anymore. The same information is accessible through the target @bazel_tools//tools/osx:current_xcode_config: point an implicit attribute to it (i.e. attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_config")) then use ctx.attr._xcode_config[apple_common].XcodeVersionConfig]. PiperOrigin-RevId: 171517550
* Fix file permissions on aild_integration_test.shGravatar aehlig2017-10-09
| | | | | RELNOTES: None PiperOrigin-RevId: 171504480
* Clean up TODOs.Gravatar László Csomor2017-10-09
| | | | | | | | | | | | | | | | | | | In this commit: * buildenv.sh: restore its state to that as of commit 511c35b46cead500d4e76706e0a709e50995ceba * CommonCommandOptions.java: remove a deprecated no-op flag * WindowsPathFragment.java: implement an ASCII-only isLetter function, use that instead of Character.isLetter, because the latter returns true for some Unicode characters too * bazel_bootstrap_distfile_test: remove logging that we no longer need, since the bugfix for issue #3618 will be pushed to GitHub later today Change-Id: Ibda70219e974f0c47bc82addc647d8951f4bd701 PiperOrigin-RevId: 171498977
* Consolidate ObjectCodec<String> creationGravatar michajlo2017-10-09
| | | | | | | | Opens the door to swapping in different implementations without needing to touch a ton of code. RELNOTES: None PiperOrigin-RevId: 171412555
* blaze_util_posix.cc: declare use of dprintfGravatar Klaus Aehlig2017-10-09
| | | | | | | | | | On some systems, the dprintf header is only part of <stdio.h> if requested (to allow compatibility with applications before the standardization of dprintf). As we use dprintf, request it by defining _WITH_DPRINTF. Change-Id: Ia4a80e08760043c5343b4c333b146f4ea87d081b PiperOrigin-RevId: 171409630
* Add .imports file to the LTOBackendAction inputsGravatar Googler2017-10-07
| | | | | | | | | | Building with --experimental_discard_orphaned_artifacts will cause the .imports file produced by the LTO indexing action to not be preserved, unless it is marked as an input to the LTOBackendAction. It is only used in the input discovery phase, not as an input to the actual action, so it was not initially listed as an input. RELNOTES: None PiperOrigin-RevId: 171387388
* Bubble errors up even in the case of keep_going builds that failed due to ↵Gravatar janakr2017-10-07
| | | | | | | | catastrophes. Our stricter behavior in the face of errors means that it is no longer possible for a done node to depend on a not-done node in this build. This opens up the possibility to discard graph edges on all --batch builds, or at least those with --discard_analysis_cache. PiperOrigin-RevId: 171375405
* Add an integration test for android_library IDL support.Gravatar Adam Michael2017-10-07
| | | | | | | This should catch breakages due to changes in the AIDL tools bundled in the SDK. Change-Id: Iaff6ce058112a57b2b8da3e00a1172ee49cfdd85 PiperOrigin-RevId: 171357883
* More SpawnResult-related plumbing changes to Actions, Strategies, ↵Gravatar ruperts2017-10-07
| | | | | | | | | ActionContexts, etc., so that SpawnResult metadata is returned upwards. Note that the TODOs mostly refer to changes that will appear in a subsequent CL (a CL to return SpawnResults, contained in ActionResults, from Actions/AbstractActions). I split off the remaining SpawnResult-related changes into this CL and kept the ActionResult-related changes separate. RELNOTES: None. PiperOrigin-RevId: 171355611
* Reduce iterator usage on hot code pathsGravatar michajlo2017-10-07
| | | | | | | | Micro-optimize a few hot code paths which have a habit of iterating over short O(1)-access lists. RELNOTES: None PiperOrigin-RevId: 171347524
* Do not rewrite static interface method invocations from bootclasspathGravatar Googler2017-10-07
| | | | | RELNOTES: n/a PiperOrigin-RevId: 171344856
* Move SkylarkSemanticsOptions to the packages/ directory, alongside ↵Gravatar brandjon2017-10-07
| | | | | | | | | SkylarkSemanticsCodec Note that the syntax package and its test package still depend indirectly on the options parser via other Bazel-specific packages. RELNOTES: None PiperOrigin-RevId: 171342823
* Restrict command search to filesGravatar Klaus Aehlig2017-10-07
| | | | | | | Fixes #3846. Change-Id: Ic510c539dfe321aa9a679cee7143fee77a17acc5 PiperOrigin-RevId: 171332064
* PackageLoader.loadPackages() tolerates duplicates in the list of packages to ↵Gravatar carmi2017-10-06
| | | | | | | load. RELNOTES: None PiperOrigin-RevId: 171298089
* Windows,bootstrapping: fix build_windows_jni.shGravatar Laszlo Csomor2017-10-06
| | | | | | | | | | | | | | Also: - check as the first thing in compile.sh that we can locate the GNU coreutils, and remove the duplicate check for the same thing on Windows - check early in compile.sh that we can access python.exe Fixes https://github.com/bazelbuild/bazel/issues/3863 Change-Id: Ib48b405cf93eafd48e21b280bcbab4d45117c1d9 PiperOrigin-RevId: 171291435
* testenv.sh: don't run Bazel in a subshellGravatar Laszlo Csomor2017-10-06
| | | | | | | | | | | | | | | | | | | | | | | | In this commit: - testenv.sh no longer runs Bazel in a subshell - testenv.sh prints informative log messages that show the origin (testenv.sh) and the date - testenv.sh logs to $TEST_log by appending to it, not by overwriting it This change speeds up //src/test/shell/bazel:bazel_windows_example_test from ~260s to ~165s. On Windows, Bash (MSYS) waits for all subprocesses of a subshell to terminate before allowing the subshell itself to terminate too, even if some subprocesses are daemons. I think this is a bug, and it's the culprit of https://github.com/bazelbuild/bazel/issues/3148 Change-Id: If97ea6dfeb904af560b291a7acebd09e43863ab4 PiperOrigin-RevId: 171267462
* Pass SkylarkSemantics through Skyframe instead of the options classGravatar brandjon2017-10-06
| | | | | | | Also remove the use of the @UsesOnlyCoreTypes annotation on SkylarkSemanticsOptions. It was only there to help mark that the options class was safe to put in Skyframe. RELNOTES: None PiperOrigin-RevId: 171248504
* Internal changeGravatar Googler2017-10-06
| | | | PiperOrigin-RevId: 171245323
* Provide a source exec path -> path mapping in the ArtifactFactory, which is ↵Gravatar janakr2017-10-06
| | | | | | potentially more principled than just accessing the execRoot willy-nilly. PiperOrigin-RevId: 171234480
* Couple of Fileset micro-optimizations:Gravatar kush2017-10-06
| | | | | | | | 1. Prevent a redundant map.get() in SkyframeFilesetManifestAction#establishSkyframeDependencies 2. Make a more memory efficient FilesetEntrykey instead of reusing the LegacySkyKey. RELNOTES: none PiperOrigin-RevId: 171222499
* Make Fdo use straight zip files, delete ZipFileSystem.Gravatar tomlu2017-10-06
| | | | PiperOrigin-RevId: 171221156
* Internal changeGravatar cushon2017-10-06
| | | | PiperOrigin-RevId: 171209823
* In the launcher, use F_OFD_SETLK if available.Gravatar Googler2017-10-06
| | | | | | | | | | | Because OFD locks are not per-process, F_OFD_GETLK does not report which process holds the lock, so we use the contents of the lock file instead. Works around a Linux kernel bug where POSIX record locks are lost at execve() if any other threads exist. RELNOTES: None. PiperOrigin-RevId: 171209685
* Open-source unit tests for proguard actions.Gravatar ajmichael2017-10-06
| | | | | RELNOTES: None PiperOrigin-RevId: 171205009
* Fix the strict-ordering of symlinks created with Filesets which was ↵Gravatar kush2017-10-06
| | | | | | | inadvartently lost due to https://github.com/bazelbuild/bazel/commit/d8ba904a3b0598e97601bc670840e39f21799ead RELNOTES: none PiperOrigin-RevId: 171204884
* Add a whitelist for packages that can contain android_devices rules. ↵Gravatar ajmichael2017-10-06
| | | | | | | Currently, this whitelist includes every package. RELNOTES: None PiperOrigin-RevId: 171192613
* Speed up fingerprint and hashcode computation by:Gravatar kush2017-10-06
| | | | | | | | | | 1. Add a fingerprint of the FilesetTraversalParams rather than the transitive closure of its attributes, while adding the FilesetTraversalParams to a Fingerprint. 2. Memoize the above fingerprint computations as well as hashCode computations for FilesetTraversalparams. Use AutoValue's @Memoize as well as equals and hashcode to simplify the code. RELNOTES: None PiperOrigin-RevId: 171191126
* Prepare Classpath reading for Java 9Gravatar cushon2017-10-06
| | | | PiperOrigin-RevId: 171180273
* Automated rollback of commit 236b1e96351b45056124ce97b0bcf047b9428606.Gravatar lpino2017-10-06
| | | | | | *** Reason for rollback *** PiperOrigin-RevId: 171177811
* Migrate from deprecated MutableList constructor to copyOf, fixing bug in latterGravatar michajlo2017-10-06
| | | | PiperOrigin-RevId: 171176871
* Fix codec tests that weren't runningGravatar brandjon2017-10-06
| | | | | | | Added @RunWith, and modified test data to satisfy arg requirements. RELNOTES: None PiperOrigin-RevId: 171175255
* Use bundled proguard 5.3.3 instead of 4.7 from the SDKGravatar ajmichael2017-10-06
| | | | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/3777 Also adds a proguard integration test so that hopefully we notice next time it breaks. RELNOTES: Updated Android proguard to 5.3.3. It now works with android-24+. PiperOrigin-RevId: 171162295
* Downgrade the default invocation policy log levels to fine.Gravatar ccalvarin2017-10-06
| | | | | | | | Unfortunately, since the invocation policy gets enforced on a user's command line early in the command environment setup, so the effective log level is not yet set. For this run, keep the logs at INFO, since any other level will disappear into the ether. InvocationPolicy gets enforced not only at invocation startup but also elsewhere to recompute the default values. The log statements from these different runs overwhelm the log output from our tests, making it hard to find other events without filtering the log. Make all extra invocation policy enforcements log at FINE so that they only appear when extra detail is requested. PiperOrigin-RevId: 171151573
* Documentation cleanupGravatar dmarting2017-10-06
| | | | PiperOrigin-RevId: 171140260
* Add a flag to remove Java Make variables from Jvm.Gravatar lberki2017-10-06
| | | | | | | These depend on package loading and thus must be gone. RELNOTES: None. PiperOrigin-RevId: 171132297
* Windows,launcher: add LauncherFileWriteActionGravatar Laszlo Csomor2017-10-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce LauncherFileWriteAction, a FileWriteAction that can create a native {java,sh,py}_binary launcher from the launcher stub and the user-specified launch information. The LauncherFileWriteAction class does not use the "copy" command of cmd.exe so it's not restricted with path lengths. The class stores a LaunchInfo object, which describes the launch data that the launcher stub reads to identify its payload. The LaunchInfo is a lazy object, similar to CustomCommandLine. LaunchInfo won't fully construct the launch data until it is about to write the data to the output. Thus LaunchInfo is memory efficient because it won't create any String objects in the analysis phase that it would only read in the execution phase. Fixes https://github.com/bazelbuild/bazel/issues/3802 Change-Id: I4ddd83369e7131d42e2e9b35f105ad2dc60bcc52 PiperOrigin-RevId: 171115105
* Remove an unused argument.Gravatar lberki2017-10-06
| | | | | RELNOTES: None. PiperOrigin-RevId: 171113424
* Use SkylarkSemantics in place of options class in the interpreterGravatar brandjon2017-10-06
| | | | | | | Mainly this just means using getters instead of fields to access option values. RELNOTES: None PiperOrigin-RevId: 171101597
* Skylark Documentation: sort methods by method signatureGravatar dmarting2017-10-06
| | | | | | | getMethods ordering is not guaranteed and actually change depending on minor difference in the class path. PiperOrigin-RevId: 171093246
* Rather than logging the amount of free physical memory on Linux systems, log ↵Gravatar Googler2017-10-06
| | | | | | the amount of *available* physical memory. This includes memory used as cache or buffer that will be evicted if an application requests memory, and is a much more realistic metric of utilization than free memory, which is usually <1% of memory available to the machine. PiperOrigin-RevId: 171087122