aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* Add an interface to interact with sandboxfs.Gravatar jmmv2018-03-08
| | | | | | | | | | | | | | | | The new SandboxfsProcess interface allows interacting with sandboxfs. There are two implementations: RealSandboxfsProcess, which spawns the sandboxfs binary, and FakeSandboxfsProcess, which mimics what sandboxfs does but using symlinks and is intended for testing purposes only. The RealSandboxfsProcess implementation works but still carries many TODOs. The most "painful" one may be that the test requires manual invocation because we do not yet have an easy way to integrate with sandboxfs. That will be solved later on; for now this is sufficient for initial testing. RELNOTES: None. PiperOrigin-RevId: 188347393
* Remove unnecessary I/O operations from handling remotely executed actions ↵Gravatar olaola2018-03-08
| | | | | | | | (fixes performance regression #4749). Also adding Skylark tests for input/output directories. TESTED=locally RELNOTES: Fix performance regression PiperOrigin-RevId: 188346410
* Remove unnecessary space in error message.Gravatar ajmichael2018-03-08
| | | | | RELNOTES: None PiperOrigin-RevId: 188341095
* update to MethodDescriptor methods instead of fieldsGravatar Carl Mastrangelo2018-03-08
| | | | | | | | @buchgr Closes #4790. PiperOrigin-RevId: 188332795
* C++: Marks Skylark exposed as not documented.Gravatar plf2018-03-08
| | | | | | | This is to avoid listing them in the Bazel docs for now. RELNOTES:none PiperOrigin-RevId: 188295824
* Fix PackageFunction's call to Package.Builder.Helper#onLoadingComplete to passGravatar nharmata2018-03-07
| | | | | | | | | | along the wall time of the load, even when the package in question was in PackageFunction's internal cache (e.g. the current #compute call is a PackageFunction Skyframe restart). Also clarify the intent of the 'loadTimeMs' param in #onLoadingComplete. RELNOTES: None PiperOrigin-RevId: 188253198
* Automated rollback of commit f1013485d41efd8503f9d4f937e17d1b4bc91ed3.Gravatar nharmata2018-03-07
| | | | | | | | | | | | | *** Reason for rollback *** Introduced a bug in skylark that caused intellij TAP test to fail. The bug was not caught by any skylark/blaze/bazel tests. *** Original change description *** Optimize GC churn of parameter bindings performed before each user defined function call. RELNOTES: None PiperOrigin-RevId: 188249713
* Fixed missing C standard library functions with NDK r15 and r16Gravatar jingwen2018-03-07
| | | | | | | | | Certain C++ stdlib wrapper headers are unable to find their C counterparts (e.g. math.h for cmath) that are in %ndk%/sysroot/usr/include. This is because the -isystem for the include path was added with addCompilerFlag instead of addUnfilteredCxxFlag. The former is filtered out when compiling C code, whereas the latter keeps it. Fixes https://github.com/bazelbuild/bazel/issues/4777 RELNOTES: None. PiperOrigin-RevId: 188241254
* Fix stale comment about selector entry orderGravatar mschaller2018-03-07
| | | | | RELNOTES: None. PiperOrigin-RevId: 188221536
* Create a new version of BuildTool that holds all cquery logic.Gravatar juliexxia2018-03-07
| | | | PiperOrigin-RevId: 188212286
* Allow passing location, ast, and environment to @SkylarkCallable methodsGravatar cparsons2018-03-07
| | | | | RELNOTES: None. PiperOrigin-RevId: 188201686
* Optimize GC churn of parameter bindings performed before each user defined ↵Gravatar nharmata2018-03-07
| | | | | | | function call. RELNOTES: None PiperOrigin-RevId: 188199514
* Added named=true to output_group.group_nameGravatar cparsons2018-03-07
| | | | | | | This was migrated incorrectly, as there's a semantic difference between @Param for @SkylarkSignature and for @SkylarkCallable, it would appear. RELNOTES: None. PiperOrigin-RevId: 188190409
* Remove internal-only startup option from documentation.Gravatar ajmichael2018-03-07
| | | | | RELNOTES: None PiperOrigin-RevId: 188179200
* Refactoring FileTransport to use the AsynchronousFileOutputStream.Gravatar olaola2018-03-07
| | | | | | | | Very thin wrapper, nothing except swallow+log all errors. TESTED=presubmit RELNOTES: None PiperOrigin-RevId: 188177872
* Add a binary to CppCompileAction that is responsible for grepping header ↵Gravatar ajmichael2018-03-07
| | | | | | | files for include statments. This binary is currently only used for an internal feature - but that feature may be supported externally eventually. RELNOTES: None PiperOrigin-RevId: 188173513
* Add option to dump command lines of actions in dump.Gravatar twerth2018-03-07
| | | | | RELNOTES: None PiperOrigin-RevId: 188164754
* Don't use computeIfAbsent in action graph dumping.Gravatar twerth2018-03-07
| | | | | | | | | | | | | | | computeIfAbsent may throw (on best effort basis) a ConcurrentModificationException if you change the underlying Map in the computeIfAbsent call, for example when you call computeIfAbsent recursively in the mappingFunction. NestedSets are an inherent recursive structure, so we need to call computeIfAbsent recursively in the action graph dump. Since computeIfAbsent doesn't throw the exception all the time, it's hard to come up with a reliable test case. RELNOTES: None PiperOrigin-RevId: 188151283
* C++: Makes sure ltoBitcodeFiles get merged when merging compilation outputs.Gravatar plf2018-03-07
| | | | | RELNOTES: PiperOrigin-RevId: 188149648
* C++ providers: Removes C++ providers from JavaWrapCcGravatar plf2018-03-07
| | | | | | | They are now wrapped by a JavaWrapCc specific provider. RELNOTES:none PiperOrigin-RevId: 188140909
* Post PatternExpandingError from the skyframe target pattern evaluator as needed.Gravatar Benjamin Peterson2018-03-07
| | | | | | | | | This fixes https://github.com/bazelbuild/bazel/issues/4731. Also, add test coverage for posting of ParsingFailedEvent and handling of cycles in LoadingPhaseRunnerTest. Change-Id: I88c9d33417b9c3c7a06c92a6137d58f37b991b0c PiperOrigin-RevId: 188138972
* Use -isystem instead of -I for NDK header search paths.Gravatar jingwen2018-03-06
| | | | | | | | | | | | | | This suppresses warnings from the NDK headers from users. This also fixes the correct include search paths, because -isystem dirs are searched _after_ -I dirs. https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html#Directory-Options "You can use -I to override a system header file, substituting your own version, since these directories are searched before the standard system header file directories. However, you should not use this option to add directories that contain vendor-supplied system header files; use -isystem for that. The -isystem and -idirafter options also mark the directory as a system directory, so that it gets the same special treatment that is applied to the standard system directories." RELNOTES[FIX]: Fixed NDK r15/r16 system include search paths to use -isystem instead of -I. PiperOrigin-RevId: 188111072
* Expose an actions provider on RuleConfiguredTarget instances.Gravatar cparsons2018-03-06
| | | | | | | | | Given a target (for example from a skylark aspect), one will be able to access a list of actions that the target generated using "target.actions". This is without additional memory footprint. Actions themselves are not fully exposed to skylark (and thus there isn't much meaning to gather from them in skylark yet). Access methods will follow soon. RELNOTES: None. PiperOrigin-RevId: 188098079
* Adding async proto or text logging utility class.Gravatar olaola2018-03-06
| | | | | | | WANT_LGTM=buchgr TESTED=unit tests, 500 runs per test RELNOTES: None PiperOrigin-RevId: 188093043
* @AutoCodec File{State}Value.Gravatar janakr2018-03-06
| | | | PiperOrigin-RevId: 188085895
* Make the builtins registry thread-safeGravatar brandjon2018-03-06
| | | | | | | | | | | | | | It was previously assumed that safety wasn't needed because 1) all builtins should be registered in static initializer blocks, and 2) all retrievals should occur during Skylark evaluation, after static initialization completes. It turns out these assumptions aren't actually true (Who would've thunk it!). SkylarkActionFactory has been observed to be initialized as late as analysis time, and retrievals occur as early as constructing a PackageFactory (when scanning the native module). The failure mode is particularly ugly: Random Skylark method lookups will fail non-deterministically. This change guards against this by making the builtins registry implement a form of freezing. Before freezing, reads and writes are allowed and are synchronized. After freezing, only reads are allowed and they are unsynchronized for performance. BlazeRuntime is responsible for flipping the bit, and for ensuring classes like SkylarkActionFactory run their initialization by that point. Unit tests don't need to worry, since they just stay unfrozen and synchronized throughout. RELNOTES: None PiperOrigin-RevId: 188080136
* Don't display remote exec failed message on interrupt. Fixes #4783Gravatar olaola2018-03-06
| | | | | | TESTED=manually RELNOTES: None PiperOrigin-RevId: 188079436
* Add proper serialization constructor and equals/hashCode for EnvironmentLabels.Gravatar janakr2018-03-06
| | | | PiperOrigin-RevId: 188078054
* @AutoCodec TransitiveTraversalValue, DirectoryListingStateValue.Gravatar janakr2018-03-06
| | | | PiperOrigin-RevId: 188077900
* Do not expose platform-related providers to Skylark.Gravatar John Cater2018-03-06
| | | | | | | | | | | | This prevents both creation and access to platform providers from Skylark. This is needed so we can load platforms directly from platform-rule targets without needing a full configured target, and to effiently distinguish platform providers from non-platform providers. Change-Id: I6b61f9ee7518d5e9311232908a922596e18fe32f PiperOrigin-RevId: 188070457
* Add documentation for JavaInfo constructor.Gravatar dbabkin2018-03-06
| | | | | RELNOTES:none PiperOrigin-RevId: 188066111
* Convert a bunch of non-AutoCodec classes to use @AutoCodec: ↵Gravatar janakr2018-03-06
| | | | | | BuildConfiguration, BuildOptions, CollectTargetsUnderDirectoryValue. PiperOrigin-RevId: 188059815
* Fix incomplete documentation changeGravatar brandjon2018-03-06
| | | | | | | | | This finishes a partial change erroneously submitted as part of https://github.com/bazelbuild/bazel/commit/864ac520951821bd197a02490d2b04f6246be7fa. The full outputs map behavior is still not fully described because its implementation is too complex. That requires a separate discussion. RELNOTES: None PiperOrigin-RevId: 188049028
* Automated rollback of commit f43df1e29765f75e02838e4139417e914b3ee812.Gravatar cparsons2018-03-06
| | | | | | | | | | | | | *** Reason for rollback *** Breaks external cc_proto_library. See https://github.com/bazelbuild/bazel/issues/4780 RELNOTES: None. *** Original change description *** Fixing issue with external j2objc protos PiperOrigin-RevId: 188041921
* Add a command line option to disallow vardef()s with three arguments.Gravatar lberki2018-03-06
| | | | | RELNOTES: None. PiperOrigin-RevId: 188038131
* Add wildcard support to AutoCodec.Gravatar mjhalupka2018-03-06
| | | | PiperOrigin-RevId: 188034513
* Implement support for sourceFiles parameter in JavaInfo constructor.Gravatar dbabkin2018-03-06
| | | | | RELNOTES:none PiperOrigin-RevId: 188026038
* Replace instances of XCode with Xcode which is the proper casing for the name.Gravatar Sergio Campama2018-03-06
| | | | | | Closes #4640. PiperOrigin-RevId: 188022228
* Split up action graph cache into multiple classes for cleaner code.Gravatar twerth2018-03-06
| | | | | RELNOTES: None PiperOrigin-RevId: 187997144
* Remove cc_inc_library from bazelGravatar hlopko2018-03-06
| | | | | | | | | | | | | It shouldn't be open sourced at all, since it solves a very specific internal use case, and for external use cc_library with its includes, include_prefix, and strip_include_prefix attributes can be used to perfectly replace cc_inc_library. RELNOTES: Removed cc_inc_library, please use cc_library instead Use includes, include_prefix, and strip_include_prefix attributes of cc_library to replace the behavior of cc_inc_library with cc_library. PiperOrigin-RevId: 187991313
* Re-evaluate workspace status when clientEnv changesGravatar Justin Santa Barbara2018-03-06
| | | | | | | | | | | | We pass the clientEnv to the workspace status command, and it may use environment variables to influence status. We must therefore reevaluate the workspace status command whenever the clientEnv changes. Fixes #4222 Closes #4705. PiperOrigin-RevId: 187988847
* Also get build-runfiles as an ActionInput for the symlink tree spawnGravatar ulfjack2018-03-06
| | | | | | | This isn't strictly necessary since we disable caching and require local execution. PiperOrigin-RevId: 187985476
* Remove references to the "message_log" from Bazel.Gravatar ruperts2018-03-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 187974423
* @AutoCodec RepositoryName.Gravatar janakr2018-03-05
| | | | PiperOrigin-RevId: 187956593
* Serialize Path using AutoCodec.Gravatar janakr2018-03-05
| | | | PiperOrigin-RevId: 187945746
* Cache SkylarkLookupImportValues in memory so that we don't recompute them ↵Gravatar shreyax2018-03-05
| | | | | | multiple times. PiperOrigin-RevId: 187941859
* Add --experimental_fix_deps_tool flag to BazelGravatar Googler2018-03-05
| | | | | RELNOTES: None PiperOrigin-RevId: 187936071
* remote: Add interceptor for logging gRPC calls during remote execution/cachingGravatar Googler2018-03-05
| | | | | | | | | | This provides a io.grpc.ClientInterceptor implementation that can be used to log gRPC call information. The interceptor can select a logging handler to use based on the gRPC method being called (Watch, Execute, Write, etc) to build a LogEntry, which can then be logged after the call has finished. Unit tests for the interceptor are included. In this change, the interceptor is never invoked, nor are there any handlers implemented for any gRPC methods. The interceptor also never tries to log any entries. To avoid circular dependency issues (Remote library will depend on logger which depends on remote library for utils), I've factored out the utility classes from the remote library into their own directory/package as part of this change. PiperOrigin-RevId: 187926516
* @AutoCodec for TypeGravatar shahan2018-03-05
| | | | | | Needed for Attribute serialization. PiperOrigin-RevId: 187907727
* Fix CppToolchainProvider to get unfiltered compiler flags from theGravatar John Cater2018-03-05
| | | | | | | actual toolchain, not the CppConfiguration. Change-Id: I9cb74a883d3041ee2c31d294c0a1a36df578f738 PiperOrigin-RevId: 187880704