aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Remove support for --javabase=<absolute path>.Gravatar lberki2017-10-11
| | | | | | | | | | | | | | | | | | | | | | If an absolute javabase is desired, the following set of rules can be used: java_runtime_suite(name="suite", default=":runtime") java_runtime(name="runtime", java_home=<path to the JDK>) Then --javabase can be pointed to the java_runtime_suite() rule. Alternatively, the java_runtime rule can reference a Make variable: java_runtime(name="runtime", java_home="$(ABSOLUTE_JAVABASE)") Then the Javabase can be specified on the command line like this: --javabase=<your package>:suite --define=ABSOLUTE_JAVABASE=<path to the JDK> RELNOTES[INC]: --javabase=<absolute path> and --host_javabase=<absolute path> are not supported anymore. If you need this functionality java_runtime_suite(name="suite", default=":runtime") java_runtime(name="runtime", java_home=<path to the JDK>) is an alternative. PiperOrigin-RevId: 171798416
* Properly escape GitHub repository download URL for git_repository w/ sha256Gravatar Akira Baruah2017-10-11
| | | | | | | | Addresses #3661 Closes #3770. PiperOrigin-RevId: 171797773
* Add pprof proto (#3878)Gravatar Tomas Lundell2017-10-11
| | | | | | | | | Sourced from https://github.com/google/pprof. Will be used to output pprof-compatible profiling data from bazel. Closes #3878. Change-Id: Ia6a0ab6bf71012a1e6bda3ac9300d759ea9aeab5
* SplitTransitionProvider no longer requires the attributes it uses are "Non ↵Gravatar cparsons2017-10-11
| | | | | | | Configurable" RELNOTES: None. PiperOrigin-RevId: 171751391
* Refactor ConfiguredAttributeMapper to lib/packages from lib/analysis.Gravatar cparsons2017-10-11
| | | | | | | | | This requires moving the convenience constructor using RuleConfiguredTarget to be owned by RuleConfiguredTarget. This refactoring is required by later work to allow SplitTransitionProvider to use configurable attributes. This would require packages/Attribute.java -> analysis/ConfiguredAttributeMapper.java, where in general, the 'analysis' package depends on the 'packages' package. This is the easiest way to prevent a circular dependency. RELNOTES: None. PiperOrigin-RevId: 171741620
* Add teardown method to bazel_query_test.Gravatar shreyax2017-10-11
| | | | PiperOrigin-RevId: 171734422
* Small refactoring of AnalysisTestCase to allow alternate SkyframeExecutor ↵Gravatar janakr2017-10-11
| | | | | | implementations. PiperOrigin-RevId: 171730718
* Non-c++ dependencies on CppConfiguration#getTargetCpu are made instead to useGravatar cpeyser2017-10-11
| | | | | | | BuildConfiguration#getTargetCpu. CppConfiguration#getTargetCpu is going to be removed to support platform-based toolchain selection. C++ dependencies will eventually use CppToolchainProvider#getTargetCpu. PiperOrigin-RevId: 171697663
* Automated rollback of commit 61977f4ae57c877fc28be176f36c28642b276eec.Gravatar lberki2017-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks a test of Bazel on Windows: http://ci.bazel.io/view/Dashboard/job/bazel-tests/1078/testReport/src_test_py_bazel_bazel_clean_test/exe/src_test_py_bazel_bazel_clean_test_exe/ Fixes #3882. *** Original change description *** Don't release the client lock while the server executes a command. The 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. GO... *** RELNOTES: None. PiperOrigin-RevId: 171689429
* Remove unused MANDATORY_LINK_TARGET_TYPESGravatar George Gensure2017-10-11
| | | | | | | | | MANDATORY_LINK_TARGET_TYPES has not been in use since d83d9bf1 was released. Closes #3869. PiperOrigin-RevId: 171688095
* Add tests for the Skylark-based implementation of git repository rules.Gravatar John Cater2017-10-11
| | | | | | | Fixes #3825. Change-Id: I59cb0edb50af30991153a1a684e613853df22dd2 PiperOrigin-RevId: 171687620
* Make it an error to attempt to expand an attribute that does not existGravatar ulfjack2017-10-11
| | | | PiperOrigin-RevId: 171684595
* Fix osx_cc_wrapper to also update dylibsGravatar hlopko2017-10-11
| | | | | | | | | | | | | In https://github.com/bazelbuild/bazel/commit/f426544e67170d31b9d228ecf4cdc4b6ce1ba00d I updated osx_cc_wrapper to work correctly in case both precompiled .so and cc_library-made .so are linked into a single binary. This cl makes osx_cc_wrapper work also when a precompiled .dylib is provided. Fixes #3450 again for dylibs Fixes #407 One step closer to finishing #1576 RELNOTES: None. PiperOrigin-RevId: 171683650
* Release notes: exclude no.Gravatar dmarting2017-10-11
| | | | | RELNOTES: No. (test) PiperOrigin-RevId: 171673073
* Return JavaInfo providers only once in Java rules.Gravatar elenairina2017-10-11
| | | | | | | Previously the java rules returned some providers twice: once as regular providers and once wrapped in JavaInfo (e.g. JavaCompilationArgsProvider). This is unnecessary, inefficient and error prone. JavaInfo should be the only way of returning these providers. RELNOTES: None. PiperOrigin-RevId: 171663550
* Clean up InvocationPolicy's use of OptionDescription.Gravatar ccalvarin2017-10-11
| | | | | | OptionDescription is basically a hack to get the expansion data for options from outside the options parser, but it was being used at various points of invocation policy enforcement. In order to correctly track option origin, we only want to get this information once. Do it during the invocation policy expansion stage, not at enforcement, so that we track the information of the option's origin in the original invocation policy passed to the enforcer, not the expanded one. PiperOrigin-RevId: 171661669
* Remove sdk_version_for_platform from ctx.fragments.apple .Gravatar lberki2017-10-11
| | | | | | | | Progress towards #3424. RELNOTES[INC]: ctx.fragments.apple.sdk_version_for_platform 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].sdk_version_for_platform . PiperOrigin-RevId: 171652446
* Remove the unused class ReleaseBundlingSupport.SplitArchTransition .Gravatar lberki2017-10-10
| | | | | | | Progress towards #3424. RELNOTES: None. PiperOrigin-RevId: 171648540
* Move the MakeVariableExpander to a new packageGravatar ulfjack2017-10-10
| | | | | | | Rename it to TemplateExpander and start rewriting the documentation to refer to template variables. PiperOrigin-RevId: 171648255
* Remove ctx.fragments.apple.minimum_os_for_platform_type.Gravatar lberki2017-10-10
| | | | | | | | Progress towards #3424. RELNOTES[INC]: ctx.fragments.apple.minimum_os_for_platform_type 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].minimum_os_for_platform_type . PiperOrigin-RevId: 171648040
* if --experimental_apple_mandatory_minimum_version is specified, make Apple ↵Gravatar lberki2017-10-10
| | | | | | | | | | | rules only add the minimum version of the OS to the output directory name if the configuration is behind an AppleBinaryTransition, or if a minimum_os flag (such as --ios_minimum_os) is specified on the command line. This is necessary so that the only time the minimum OS version affects the output directory name is when it's explicitly specified and therefore is accessible without looking at the xcode_config rule. Progress towards #3424. RELNOTES: None. PiperOrigin-RevId: 171641295
* In PerActionFileCache, tolerate requests for Artifacts that are not in the ↵Gravatar janakr2017-10-10
| | | | | | cache if we're doing input discovery: input discovery may find new artifacts we don't yet know about. Similarly, in SingleBuildFileCache, use the Artifact's path if it's available, rather than the poor man's route of the execRoot. PiperOrigin-RevId: 171635892
* 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
* Link to the Xcode migration guide.Gravatar spomorski2017-10-10
| | | | PiperOrigin-RevId: 171591081
* 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
* Update Installing on Windows instructions so that they match the structure ↵Gravatar michelleirvine2017-10-07
| | | | | | of Ubuntu instructions. PiperOrigin-RevId: 171312843
* 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