aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* Use gRPC on Windows instead of AF_UNIX for client-server communication.Gravatar Lukacs Berki2016-04-27
| | | | | | | | | AF_UNIX doesn't work on Windows, so it doesn't make much sense to try. Progress towards #930. -- MOS_MIGRATED_REVID=120912873
* Inject the tools repository constant in the JackAspect and delete the ↵Gravatar Luis Fernando Pino Duque2016-04-27
| | | | | | | reference to Constants.TOOLS_REPOSITORY -- MOS_MIGRATED_REVID=120909538
* Use native process control on Windows to launch subprocesses.Gravatar Lukacs Berki2016-04-27
| | | | | | | | | This is necessary because msys2 signals don't work on native Win32 processes, for example, java.exe . Forcefully terminating the process still doesn't work because it uses signals. It's a-coming. -- MOS_MIGRATED_REVID=120903711
* Introduce apple_binary, which links together one or more c-family libraries ↵Gravatar Chris Parsons2016-04-27
| | | | | | | and produces a potentially multi-architecture binary, controlled by the --ios_multi_cpus flag -- MOS_MIGRATED_REVID=120874805
* Collect logic related to extra Proguard outputs in one place.Gravatar Googler2016-04-27
| | | | | -- MOS_MIGRATED_REVID=120865329
* Turn on -g by default for dbg builds.Gravatar Dmitry Shevchenko2016-04-27
| | | | | | | | | | * Adds a flag to Objective-C copts set. * Adds a method to get Swift compilation flags, these are slightly different from ObjC clang. RELNOTES:Generate debug symbols (-g) is enabled for all dbg builds of objc_ rules. -- MOS_MIGRATED_REVID=120845678
* Introduce Label.EXTERNAL_PACKAGE_FILE_NAME as a convenience. Note that we ↵Gravatar Nathan Harmata2016-04-27
| | | | | | | already have Label.EXTERNAL_PACKAGE_NAME. -- MOS_MIGRATED_REVID=120828276
* Include debug entitlements by default when building non-release builds.Gravatar Peter Schmitt2016-04-27
| | | | | | | | | | | The new behavior can be disabled by building with -c opt or --nodevice_debug_entitlements. RELNOTES: iOS apps are signed with get-task-allow=1 unless building with -c opt. -- MOS_MIGRATED_REVID=120827024
* Delete the interface NativeAspectFactory and make native aspects extend from ↵Gravatar Luis Fernando Pino Duque2016-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NativeAspectClass. This a large refactoring of the aspects, currently we have the following: - AspectClasses: The interface AspectClass is a implemented by either SkylarkAspectClass or NativeAspectClass<NativeAspectFactory>. They are wrappers for the AspectFactories and they hold the information about the Class<> of the factory. - AspectFactories (FooAspect.java): Represented by the interfaces ConfiguredAspectFactory and NativeAspectFactory, also by the interface ConfiguredNativeAspectFactory which is the union of the two aforementioned interfaces. All aspects implement ConfiguredNativeAspectFactory except Skylark aspects which implement only ConfiguredAspectFactory. After this CL the distinction between NativeAspectFactories and NativeAspectClasses dissappear, namely aspect that extends NativeAspectClass is considered native and if it implements ConfiguredAspectFactory it is configured. Therefore the interfaces NativeAspectFactory and ConfiguredNativeAspectFactory both disappear. With this refactoring the aspectFactoryMap in the ConfiguredRuleClassProvider changes its type from (String -> Class<? extends NativeAspectClass>) to (String -> NativeAspectClass) which means it is now able to have an instance of the aspect instead of its Class only. By doing this, it is now possible to pass parameters when creating an aspect in the ConfiguredRuleClassProvider. -- MOS_MIGRATED_REVID=120819647
* Use recursive_mutex in blaze.cc instead of mutex.Gravatar Lukacs Berki2016-04-27
| | | | | | | This is necessary because a SIGINT can strike at any time, including when the main thread holds the mutex. -- MOS_MIGRATED_REVID=120816015
* Set --android_sdk=@bazel_tools//tools/android:sdk by default and delete ↵Gravatar Luis Fernando Pino Duque2016-04-27
| | | | | | | | | Constants.ANDROID_DEFAULT_SDK. This CL also updates the test infrastructure to include a mock of @bazel_tools//tools/android:sdk. -- MOS_MIGRATED_REVID=120815577
* cpp fdo: Use correct PRODUCT_NAME for path when extracting a profile.Gravatar Svilen Kanev2016-04-27
| | | | | | | | | | | Profiles with a root 'blaze-fdo' didn't get correctly symlinked to execRoot/_fdo in bazel. TESTED=./compile.sh all; +manual FDO builds. -- Change-Id: I5cd69970523db4de15d5b6ddf7af4a072bbca0f5 Reviewed-on: https://bazel-review.googlesource.com/#/c/3490/ MOS_MIGRATED_REVID=120811529
* Fix a race condition introduced in unknown commit (that is, the January of ↵Gravatar Lukacs Berki2016-04-26
| | | | | | | | | | | | | 2009!). If a "blaze clean --expunge" was run concurrently with another command (that was waiting for the lock), it's possible that the clean command deletes the lock file, the new server starts up, then the JVM shutdown hooks delete the PID files from the *new* server. There is still a slight possibility of a race condition if the lock is deleted then IOException occurs which prevents the BlazeShutdownException from being raised, but I'd rather not introduce another channel from command implementations to RPCServer to close that loophole. This issue was triggered by commit 5a78166ee4edbd295f5d5fdb94785025285e764b, after which the PID files for the new server are written a bit more early, thus increasing the time window in which the race condition can happen. -- MOS_MIGRATED_REVID=120805163
* remove duplicate commentGravatar Benjamin Peterson2016-04-26
| | | | | | | -- Change-Id: I4c7cc2083cf0f886875b662440ed406e52dffae5 Reviewed-on: https://bazel-review.googlesource.com/#/c/3491/ MOS_MIGRATED_REVID=120804156
* Print out the error from getpwuid instead of segfaultingGravatar Brian Silverman2016-04-26
| | | | | | | | | | | | | | In a mailing list discussion [1], somebody reported namespace-sandbox segfaulting, which was traced down to something with getpwuid. This debugging would be a lot easier if bazel printed out the error instead of segfaulting. [1] https://groups.google.com/d/topic/bazel-discuss/FR949mCW9cA/discussion -- Change-Id: I96320287b1886347343c1a50d660c097534d91d2 Reviewed-on: https://bazel-review.googlesource.com/#/c/3400 MOS_MIGRATED_REVID=120803905
* Revert server.pid to be a symlink so that old server version can shut down ↵Gravatar Lukacs Berki2016-04-26
| | | | | | | | | new ones. Add server.pid.txt that contains the same information in text form. ExecuteDaemon() on Windows will simply not write server.pid . -- MOS_MIGRATED_REVID=120802055
* Fix the documentation generator to use rule definition instances instead of ↵Gravatar Luis Fernando Pino Duque2016-04-26
| | | | | | | classes. -- MOS_MIGRATED_REVID=120794657
* cpp: correct the globals variable name in ComputeBaseDirectories() documentationGravatar Thiago Farina2016-04-26
| | | | | | | | | | There is no |lock_file| in GlobalVariables structure. Actually, it was referring to |lockfile| variable. -- Change-Id: Ic27bd4fad79c2e8b98ae8fa701d0b81fbdd98aa2 Reviewed-on: https://bazel-review.googlesource.com/#/c/3360/ MOS_MIGRATED_REVID=120792865
* Refactor CompilationSupport.registerFullyLinkedAction to be the ↵Gravatar Chris Parsons2016-04-26
| | | | | | | | | | responsibility of the caller to invoke, instead of creating the fully linked artifact by default It makes more sense for the caller rule to opt-in to creating its own implicit output. This also makes it easier for classes to use CompilationSupport without generating this artifact. -- MOS_MIGRATED_REVID=120764517
* Adds an ObjcProtoProvider which bundles the proto sources and filters, along ↵Gravatar Sergio Campama2016-04-26
| | | | | | | with an ObjcProtoAspect which propagates the proto provider through the dependency chain. -- MOS_MIGRATED_REVID=120747710
* Adds support for strict dependency management. This is done by filtering a ↵Gravatar Sergio Campama2016-04-26
| | | | | | | list of strict deps keys from being propagated more than one level in the dependency graph. Values added to those keys from dependency providers are routed into the non_propagated_items map, preventing them from being propagated again. -- MOS_MIGRATED_REVID=120724767
* Split ActionMetadata into ActionAnalysisMetadata and ActionExecutionMetadata.Gravatar Rumou Duan2016-04-26
| | | | | | | Except in action execution logic (ActionExecutionFunction, SkyframeActionExecutor, etc.), switch Action interface references to either ActionAnalysisMetadata if possible or ActionExecutionMetadata. -- MOS_MIGRATED_REVID=120723431
* Create runfiles at both .runfiles/ws/external/repo and .runfiles/repoGravatar Kristina Chodorow2016-04-26
| | | | | | | | | The major piece of #848. RELNOTES[INC]: All repositories are now directly under the x.runfiles directory in the runfiles tree (previously, external repositories were at x.runfiles/main-repo/external/other-repo. This simplifies handling remote repository runfiles considerably, but will break existing references to external repository runfiles. -- MOS_MIGRATED_REVID=120722312
* Implements pch in experimental_objc_library as a feature. Provides a ↵Gravatar Cal Peyser2016-04-25
| | | | | | | mechanism to add build variables through the CcLibraryHelper API. -- MOS_MIGRATED_REVID=120710713
* Factor out various ways to execute subprocesses into separate functions.Gravatar Lukacs Berki2016-04-25
| | | | | | | This is so that they can be implemented properly for Windows. For now, though, they are left in blaze_util.cc since the Windows implementations aren't there yet. -- MOS_MIGRATED_REVID=120709884
* Exposes ObjcProvider for objc_proto_library and j2objc_library rules.Gravatar Erik Abair2016-04-25
| | | | | -- MOS_MIGRATED_REVID=120708846
* Add the workspace name to the SDK pathGravatar Kristina Chodorow2016-04-25
| | | | | | | | | | | | This makes the android rules work if the workspace name is set. See https://github.com/bazelbuild/bazel/wiki/Updating-the-runfiles-tree-structure for more details. This is required for rolling forward https://github.com/bazelbuild/bazel/issues/848. -- MOS_MIGRATED_REVID=120705755
* Fix bug in experimental_oom_more_eagerly_threshold options parsing.Gravatar Janak Ramakrishnan2016-04-25
| | | | | -- MOS_MIGRATED_REVID=120704733
* Fix cache invalidation problem in CppModuleMapAction.Gravatar Manuel Klimek2016-04-25
| | | | | | | | | When a file changes its execution root (for example, a previously checked in file now becoming a generated file), the cache key would be the same, using a broken module map. -- MOS_MIGRATED_REVID=120703120
* Make the Bazel client check the response cookie.Gravatar Lukacs Berki2016-04-25
| | | | | -- MOS_MIGRATED_REVID=120702105
* Add mechanism to crosstool language to specify action-specific execution ↵Gravatar Cal Peyser2016-04-25
| | | | | | | requirements. Uses this mechanism to configure c/c++ compilation and linking for darwin execution from the crosstool. -- MOS_MIGRATED_REVID=120701108
* Make gRPC mode honor --max_idle_secs.Gravatar Lukacs Berki2016-04-25
| | | | | -- MOS_MIGRATED_REVID=120699557
* Make the client wait for running commands to finish before shutting the ↵Gravatar Lukacs Berki2016-04-25
| | | | | | | server down due to differing startup options. -- MOS_MIGRATED_REVID=120697380
* Make cancel_thread_mutex_ protect cancel_thread_action_ properly.Gravatar Lukacs Berki2016-04-25
| | | | | | | This is just a minor fix because when this call happens, the other thread is not running yet, but better be safe than sorry. -- MOS_MIGRATED_REVID=120695754
* Fixed broken link in the documentation.Gravatar Florian Weikert2016-04-25
| | | | | -- MOS_MIGRATED_REVID=120695090
* Write the server.pid file from C++ instead of Java.Gravatar Lukacs Berki2016-04-25
| | | | | | | This is because OsUtils.getpid() cannot work under msys2 since java.exe is not an msys2 binary. We might make it work by including JNI code, but the current plan is to go without JNI on Windows. -- MOS_MIGRATED_REVID=120694746
* Extend API to add interface-only deps.Gravatar Googler2016-04-25
| | | | | -- MOS_MIGRATED_REVID=120690977
* Make the server tell not only the port, but also the address it is listening on.Gravatar Lukacs Berki2016-04-25
| | | | | | | This is necessary because on Windows/msys2, the Java gRPC server listens only on IPv6 but the C++ client only tries to connect over IPv4, resulting in breakage. -- MOS_MIGRATED_REVID=120689437
* Updated javadoc that was invalidated by commit ↵Gravatar Florian Weikert2016-04-25
| | | | | | | 0dbe07f017d391aba0613b4e6ca1503b62382ccd -- MOS_MIGRATED_REVID=120687334
* ExperimentalEventHandler: narrow synchronization blocksGravatar Klaus Aehlig2016-04-25
| | | | | | | | | | | In particular, do not own a lock while waiting for another thread---especially not the update thread that might be waiting for the very lock were holding. -- Change-Id: I46aef3585b712e25cd4317004eacd8b48557a341 Reviewed-on: https://bazel-review.googlesource.com/#/c/3462 MOS_MIGRATED_REVID=120686232
* Make the PID be the contents of the PID file instead of a symlink.Gravatar Lukacs Berki2016-04-25
| | | | | | | I wonder why it was implemented like this in the first place. Unsurprisingly, it doesn't work on Windows. -- MOS_MIGRATED_REVID=120682316
* Always output entitlements plist in the XML formatGravatar Googler2016-04-25
| | | | | | | Adding --extra_entitlements flag to a build triggers a merge of entitlements files using plmerge tool. Configure build rules to output the resulting plist file in the XML format. Bundles signed with entitlements in the binary format fail to load on device. -- MOS_MIGRATED_REVID=120588271
* Add a --legacy_external_runfiles optionGravatar Kristina Chodorow2016-04-25
| | | | | | | | This isn't hooked up to anything yet, but is another piece of getting #848 rolled forward. -- MOS_MIGRATED_REVID=120582973
* Wire up --host_java_toolchainGravatar Liam Miller-Cushon2016-04-22
| | | | | -- MOS_MIGRATED_REVID=120574676
* Clean up launcher attributeGravatar Liam Miller-Cushon2016-04-22
| | | | | -- MOS_MIGRATED_REVID=120567604
* Fix target parsing bug with targets in the empty package (e.g. "blah" was ↵Gravatar Nathan Harmata2016-04-22
| | | | | | | | | | | | | incorrectly not being parsed as "//:blah"). Also add tests for parsing absolute labels in the empty package. The empty package has been a thing in Bazel for a while now. Note that the old error message in this case "couldn't determine target for filename 'blah'" was almost always misleading and unhelpful since we were (almost certainly incorrectly) assuming the user intended for 'blah' to be an input file in the empty package. Now the error message would be "no such target '//:blah'") which is similarly misleading and unhelpful but probably marginally less so. If we desire to improve this, a future cleanup can introduce smarter error messages. -- MOS_MIGRATED_REVID=120566819
* cpp: keep the documentation of MakeAbsolute() function up-to-dateGravatar Thiago Farina2016-04-22
| | | | | | | | | | | | | | commit 2ad804cef42f: ("Fixed bugs blocking bazel shell test on Windows"), updated the documentation in blaze_util.cc but forgot to update the same doc comment in the header file. To prevent this from happening again, this copies the added sentence to the header file and deletes the documentation from the source file. -- Change-Id: I240b3a31d7b457ef4d50558f1ca54619666b8d2c Reviewed-on: https://bazel-review.googlesource.com/#/c/3470 MOS_MIGRATED_REVID=120561630
* Check for additions to the directory in new_local_repositoryGravatar Kristina Chodorow2016-04-22
| | | | | | | | | | Fixes #806. RELNOTES: External repository correctness fix: adding a new file/directory as a child of a new_local_repository is now noticed. -- MOS_MIGRATED_REVID=120557511
* Make suffix a PathFragmentGravatar Kristina Chodorow2016-04-22
| | | | | | | | | Breaking up the runfiles tree change into some smaller changes this time around. First step of rolling forward #848. -- MOS_MIGRATED_REVID=120553288
* Make aspects work through bind(). Gravatar Lukacs Berki2016-04-22
| | | | | | | | | | | bind() is assumed to be able to provide any provider. This is suboptimal, but beats the alternative of traversing the dependency graph to an arbitrary depth. The reason for the removal of the iteration ability in TransitiveInfoCollection is that now aspects can be attached to BindConfiguredTarget, too, which is not a RuleConfiguredTarget. Whereas I could have implemented the iterator, it was used only in BindConfiguredTarget anyway, so there didn't seem to be much reason to. Some work towards #952. -- MOS_MIGRATED_REVID=120549877