aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Skylark documentation identifies overloaded methods by their full signature ↵Gravatar fwe2017-04-06
| | | | | | | | (*) instead of using duplicate method names. (*) Technically it's not a proper method signature since it contains parameter names instead of parameter types. PiperOrigin-RevId: 152251143
* Small shell fixed to cleanup distfile testingGravatar Stephen Twigg2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix permissions issue in testenv.sh to clarified chmod on tools/jdk/BUILD when copying tools into new workspace: Original script always tried to append but only set it to be writable after the copy when extra BUILD.* files were available. Exported is_absolute in test-setup.sh: rlocation, which is called by tests to properly locate bazel, itself calls is_absolute. This would generally cause a (presumably recoverable) error since most tests continue to call a bazel properly. However, tests that are inspecting the error log will fail due to the message error. Note, that not all tests pass yet. Also getting an issue with: * scripts/release/testenv.sh : line 38 (file doesn't exist) * in test_delete_tree_in_unwritable_dir, "fails on first compilation: due to mkdir: cannot create directory 'bazel-out/local-fastbuild/genfiles/x/unwritable/somedir' * test_run_under_path 'occasionally' fails to fail (bazel_test_test.sh:197) Change-Id: I957a346d320070a310dee4076cc9349ed1e140e1 PiperOrigin-RevId: 152247475
* Add a new CachedLocalSpawnRunner to implement remote caching + local execGravatar ulfjack2017-04-05
| | | | | | | | | | | | | | | | | The new class wraps an existing SpawnRunner and adds remote caching. Ideally, the wrapped runner should be local and sandboxed, but this is not currently enforced. The new class is not hooked up to anything yet. The added test indicates that the RemoteActionCache interface is still more complex than necessary - in particular, we should merge downloadAllResults and downloadBlobs (for stdout/stderr) into a single method, and also change the upload to a single combined method in a similar way instead of two calls. Doing so allows the RemoteActionCache implementation more leeway in how it wants to implement these, potentially improving parallelism and performance. One step towards #1413. PiperOrigin-RevId: 152245644
* Skylark: Add documentation to new_file().Gravatar fwe2017-04-05
| | | | | | Fixes #1892. PiperOrigin-RevId: 152245566
* XML-escape test failure message in junit test results fileGravatar hlopko2017-04-05
| | | | | | | | | This cl does poor man's xml attribute escaping to fix http://ci.bazel.io/job/bazel-tests/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/675/testReport/test/xml/_failed_to_read_/ RELNOTES: NONE. PiperOrigin-RevId: 152244340
* Change FileContentsProxy.create to take a FileStatus objectGravatar ulfjack2017-04-05
| | | | | | | This is in preparation for recording ctime as well as mtime, in order to make progress towards #1525. PiperOrigin-RevId: 152243422
* Return JavaProvider from java_import.Gravatar elenairina2017-04-05
| | | | PiperOrigin-RevId: 152229562
* Replace constants (static final CONSTANT_CASE) declaration type which use ↵Gravatar Googler2017-04-05
| | | | | | | | the general collection interface (e.g. List) with an immutable type (e.g. ImmutableList). For constant field declarations, you should use the immutable type (such as ImmutableList) instead of the general collection interface type (such as List). This communicates to your callers important semantic guarantees. PiperOrigin-RevId: 152223147
* Make encoding diagnostic tests slightly less fragileGravatar cushon2017-04-05
| | | | | | The wording of this diagnostic is changing in Java 9. PiperOrigin-RevId: 152222336
* Work around the NPE bug in ClassRemapper of ASM. ASM throws an NPE inGravatar cnsun2017-04-05
| | | | | | | | | MethodRemapper when MethodRemapper is chained after MethodNode and there is compressed stack map frame in a method. RELNOTES: n/a PiperOrigin-RevId: 152199391
* Hyperlink "nonconfigurable"-tagged attributes to Bazel'sGravatar gregce2017-04-05
| | | | | | configurable attributes documentation. PiperOrigin-RevId: 152188409
* Add integration test for --all_incompatible_changes flag conflictsGravatar brandjon2017-04-05
| | | | | | | | | | This adds a new warning when the same flag is expanded to by multiple expansion flags. This extends an existing suite of warnings, e.g. for when an expansion flag conflicts with an explicit option. The blaze canonicalize-flags command now takes a new flag --show_warnings. This flag causes any warnings encountered while parsing the given command line to be printed to stderr. RELNOTES: blaze canonicalize-flags now takes a --show_warnings flag PiperOrigin-RevId: 152186672
* Separate resource jar construction from compilationGravatar cushon2017-04-05
| | | | | | | | | | | | This adds a new action to Java (and Android/Java proto) targets with resources that add any resources to the output jar separately from compilation. The main advantage of this approach is that changes to resources no longer force the target to be recompiled. It also makes actions that create resource jars but do no compilation easier to set up, since they no longer pull in JavaBuilder and JavaTargetAttributes. PiperOrigin-RevId: 152181755
* Remove jack tools from Bazel.Gravatar ajmichael2017-04-05
| | | | | | | | #1391 RELNOTES: None PiperOrigin-RevId: 152179305
* Create parent directories for resource entries in singlejarGravatar cushon2017-04-05
| | | | | | | This mirrors the change to the c++ implementation made in https://github.com/bazelbuild/bazel/commit/874852ec52f9e03242fb4eccb41c2ea3f3036ac3. PiperOrigin-RevId: 152173345
* Add environment variables to CppCompileInfo.Gravatar cpeyser2017-04-05
| | | | PiperOrigin-RevId: 152173189
* objc_proto_library does not pick up generated cc code in compile actions.Gravatar cpeyser2017-04-05
| | | | PiperOrigin-RevId: 152169986
* Rephrase AbstractAttributeMapper#visitLabels such that we can avoid creating ↵Gravatar nharmata2017-04-05
| | | | | | | | a temporary Type.LabelVisitor instance per Attribute being visited. Instead, we can now create one temporary object per visitation. Getting rid of this dimension of scaling reduces the amount of garbage created. RELNOTES: None PiperOrigin-RevId: 152161836
* Generalize ConfigSetting's special options handling.Gravatar mstaib2017-04-05
| | | | | | | | | | | | | | | | Currently ConfigSetting is treated specially; TransitiveTargetFunction identifies it by name, then runs a special function on it. This change makes ConfigSetting use a new options reference function in RuleClass, which TransitiveTargetFunction will evaluate over the rule and use with the options-to-fragments map to figure out which fragments are needed. Although this is still a hack and not really a new feature on RuleClass, this avoids a dependency on ConfigSettingRule from TransitiveTargetFunction, which is necessary for ConfigSettingRule to be moved to rules/config. RELNOTES: None. PiperOrigin-RevId: 152156905
* Clean up clearValue and parsed option storage.Gravatar ccalvarin2017-04-05
| | | | | | | | | | Now that policy expands itself before being applied, clearValues never has to clear more than a single value. This makes that more clear. OptionValueDescription had not been consistently storing the snake_case name for an option, leading to some weird behavior when removing the map of return values from clearValues. PiperOrigin-RevId: 152156746
* Remove "--no_" prefix for boolean flags in our integration tests.Gravatar ccalvarin2017-04-05
| | | | | | Assembled by removing it and seeing what broke. PiperOrigin-RevId: 152148487
* Refactor all ctor callsites of PathFragment to instead call a static ↵Gravatar nharmata2017-04-05
| | | | | | | | | | | | 'create' method. This paves the way for changing PathFragment to e.g. an abstract class with multiple subclasses. This way we can split out the windows-specific stuff into one of these concrete classes, making the code more readable and also saving memory (since the shallow heap size of the NonWindowsPathFragment subclass will hopefully be smaller than that of the current PathFragment). This also lets us pursue gc churn optimizations. We can now do interning in PathFragment#create and can also get rid of unnecessary intermediate PathFragment allocations. RELNOTES: None PiperOrigin-RevId: 152145768
* Avoid `Iterable<Path>`Gravatar cushon2017-04-05
| | | | | | | The signature of setLocationFromPaths changes in JDK 9, see: https://bugs.openjdk.java.net/browse/JDK-8150111 PiperOrigin-RevId: 152143259
* Fix typos in Bazel C++ tutorial documentationGravatar Googler2017-04-04
| | | | | | The tutorial discusses code for a "Hello World" program, but the test near the end is named "FactorialTest". This seems like a copy-and-paste error. PiperOrigin-RevId: 152140360
* adding more env vars to invalidation listGravatar Nicolas Lopez2017-04-04
| | | | | | | | | It seems several env vars that are used by cc_configure are not in the invalidation list and not included in the bootstrap compile. Adding them. Change-Id: I67f73ae09abbe9033bcbbcb4026dab04d225b699 PiperOrigin-RevId: 152139948
* Windows, docs: update VC++ requirementsGravatar laszlocsomor2017-04-04
| | | | | | RELNOTES: none PiperOrigin-RevId: 152137659
* BEP: provide events a generic converter classGravatar aehlig2017-04-04
| | | | | | | | | | | Change the BuildEvent interface to accept a generic class of converters. In this way, we won't have to change it again in the future, once more converters are needed. In fact, a new converter is needed right now (will be added in a follow-up patch) to allow build events to know the name of named artifact groups already reported in the stream. Change-Id: Ibb32ea5fff361e21bcf2d34818d8351a1da7a2e3 PiperOrigin-RevId: 152131870
* Remove jack support and make jack/jill attributes of android_sdk optional.Gravatar ajmichael2017-04-04
| | | | | | | | | Closes https://github.com/bazelbuild/bazel/issues/1391. RELNOTES: Removed --experimental_use_jack_for_dexing and libname.jack output of android_library. PiperOrigin-RevId: 152131075
* Set default python3_path to python.exe on WindowsGravatar pcloudy2017-04-04
| | | | | | | | | | | | When building py_binary for host with --host_force_python=py3, --python3_path is not taken, instead python3.exe is always used. It doesn't work because python3.exe usually doesn't exist on Windows. So here we set the default to python.exe Fixed https://github.com/bazelbuild/bazel/issues/2752 Change-Id: Ie48156d93ae1f28338947ea121ab2071e1b820e1 PiperOrigin-RevId: 152130801
* Restructure Path#getCachedChildPath to make direct method calls without ↵Gravatar nharmata2017-04-04
| | | | | | | | allocating a garbage TranslatedPath object. RELNOTES: None PiperOrigin-RevId: 152130170
* Automated g4 rollback of commit 1d9e1ac90197b1d3d7b137ba3c1ada67bb9ba31b.Gravatar hlopko2017-04-04
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks //src/test/shell/integration:force_delete_output_test *** Original change description *** Symlink output directories to the correct directory name If the workspace directory is /path/to/my/proj and the name in the WORKSPACE file is "floop", this will symlink the output directories to output_base/execroot/floop instead of output_base/execroot/proj. More prep for #1262, fixes #1681. PiperOrigin-RevId: 152126545
* Windows, JNI: non-zero exit code for terminationGravatar laszlocsomor2017-04-04
| | | | | | | | | | | | | | | | | | | Terminate processes and job objects with non-zero exit code. Zero was the most unfortunate exit code possible because it made the Java side believe that the process exited successfully. There's another bug in the Java side too where StandaloneSpawnStrategy ignores the thread's interruption state. I'll fix that in a separate change. Fixes https://github.com/bazelbuild/bazel/issues/2774 Change-Id: I01b3d95848cb04618395c9ef2fa0d1a406b25cca PiperOrigin-RevId: 152119343
* Disable cc_configure tests on debian stretch altogetherGravatar hlopko2017-04-04
| | | | | | | | | | | | | Not only opt builds fail, also fastbuild: http://ci.bazel.io/view/Dashboard/job/bazel-docker-tests/lastCompletedBuild/BAZEL_VERSION=latest,PLATFORM_NAME=docker/console The issue is tracked here: https://github.com/bazelbuild/bazel/issues/2418 RELNOTES: NONE. PiperOrigin-RevId: 152109844
* Deleted unused stalled javac-9-dev binariesGravatar Damien Martin-Guillerez2017-04-04
| | | | Change-Id: If256f5fdf59862b6f2efe4fff1fbeccd2e87c414
* Update to auto-value 1.4Gravatar Damien Martin-Guillerez2017-04-04
| | | | Change-Id: I0455ef5f9f81f1443fd3cfa63a26f67f4f37529a
* Extract a SpawnRunner interfaceGravatar ulfjack2017-04-04
| | | | | | | | | | | | | | | | | | | | | The RemoteSpawnRunner now implements the SpawnRunner interface. Note that Google's internal implementations were also retrofitted, and SpawnRunner is intended as a stable interface; that's also why I decided to move all params into SpawnExecutionPolicy, which is, unfortunately, not quite done yet. The specification of SpawnRunner is also still incomplete. In particular, it is still missing execution info keys, as well as inputs and outputs handling. This is a step towards unifying all SpawnStrategy implementations, with the SpawnRunner implementations performing the actual Spawn execution. There should be no user-visible semantic changes to the code, but one small fix: - GrpcActionCache was trying to download files even if there were none PiperOrigin-RevId: 152105696
* Create parent directories for resourcesGravatar cushon2017-04-04
| | | | | | | | | This makes singlejar's handling of resources consistent with JavaBuilder, and allows the JavaBuilder resource handling to be replaced by a singlejar action that adds resources to library jars separately from compilation (see unknown commit). PiperOrigin-RevId: 152082884
* Remove all directories under the execroot during a cleanGravatar kchodorow2017-04-04
| | | | | | | Now the actual workspace root might not be the basename of the workspace, and everything should be removed anyway. PiperOrigin-RevId: 152062690
* It must to be clear to readers that design documents in the 'Contribute!' ↵Gravatar Googler2017-04-04
| | | | | | section do not describe current functionality of Bazel. If a reader comes to one of these pages from an online search, it must be clear that this is not documentation. PiperOrigin-RevId: 152052655
* Scan both .h and .m files for imports and includesGravatar Googler2017-04-04
| | | | | | | | The dependency mappings are generated by scanning the .m files. I found a case where a header file was only imported in the .h file. RELNOTES: None. PiperOrigin-RevId: 152050144
* Add "--build_manual_tests" options that forces manual tests to be built.Gravatar dslomov2017-04-04
| | | | | | | | | This is useful for IDEs and other tools utilizing command-line aspects for reflection over build graph. RELNOTES: None. PiperOrigin-RevId: 152038248
* Consolidate tests for the presence of sources and resourcesGravatar cushon2017-04-04
| | | | | | to avoid duplicating the logic. PiperOrigin-RevId: 152035446
* Roll forward change https://cr.bazel.build/9250 with Java 7 build failure fix.Gravatar xingao2017-04-04
| | | | | | | | | Make Java tool jars available from @bazel_tools. Now users can point to default Java tool jars in customized java_toolchain rule defined in project's BUILD file. PiperOrigin-RevId: 152012191
* Iterable -> ImmutableList for ACTIVATED_ACTIONS in order to respect ↵Gravatar cpeyser2017-04-04
| | | | | | https://github.com/google/error-prone/blob/master/docs/bugpattern/MutableConstantField.md PiperOrigin-RevId: 152012020
* Implement DSYM generation for the CROSSTOOL rules.Gravatar cpeyser2017-04-04
| | | | PiperOrigin-RevId: 152011915
* Remove leading '$' from docs that are interfering with copy/pasteGravatar laszlocsomor2017-04-04
| | | | | | | | Fixes: https://github.com/bazelbuild/bazel/issues/2399 Change-Id: I21d00430cdf7ece72f532a1cb1be94e9b07a0114 PiperOrigin-RevId: 152001779
* BEP: Extend the protocol to support named sets of filesGravatar aehlig2017-04-03
| | | | | | | | | In this way, if several targets share output artifacts, those can be reported in a more compact way. Change-Id: I5a5bf30a533e05f55221431a1c500e606d411ef7 PiperOrigin-RevId: 151985307
* Modify package parser regex to handle scala packages too.Gravatar Googler2017-04-03
| | | | | | RELNOTES: None. PiperOrigin-RevId: 151884306
* Add isConfigMatcher property to rule classes.Gravatar mstaib2017-04-03
| | | | | | | | | | | | | | BuildConfiguration currently depends directly on the name of a rule class to see if it is config_setting. This creates a circular dependency between ConfigSetting and BuildConfiguration. As ConfigSetting is being moved to rules/config, this circular dependency will no longer work. This replaces the name special case for a special property of the rule class, which only config_setting should set. RELNOTES: None. PiperOrigin-RevId: 151871084
* Add --all_incompatible_changes, the user's shorthand for turning on all ↵Gravatar brandjon2017-04-03
| | | | | | | | | | | | --incompatible_* flags Note that if a developer adds a poorly-formatted incompatible change @Option, constructing an OptionsParser will now fail with an unchecked exception. This can cause some unit tests to fail in unexpected ways, but the developer should see an appropriate error message when the server starts up. To be added: A separate integration test that ensures the expansions of --all_incompatible_changes don't clobber each other. RELNOTES: None PiperOrigin-RevId: 151858287