aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
Commit message (Collapse)AuthorAge
* BEP: also report make variablesGravatar Klaus Aehlig2017-05-29
| | | | | | | | | An important part of a configuration are the "make variables", containing values such as TARGET_CPU. Report them as part of the description of the configuration. Change-Id: Id918cc340acac87cf95cc66581345f8060cb4877 PiperOrigin-RevId: 157378950
* Keep "srcs", "hdrs" and "textual_hdrs" separate.Gravatar Googler2017-05-29
| | | | | | | | | | Each can has slightly different semantics for the IDE, and it is better to use the information on which files belong to which group from BUILD file rather than use heuristics like file extension to determine it. The contents of "textual_hdrs" are added by the prefetcher. RELNOTES: None. PiperOrigin-RevId: 157256048
* Delete ios_framework native rule.Gravatar cparsons2017-05-29
| | | | | RELNOTES: ios_framework native rule has been removed. This rule had been essentially broken for several months now; users should be using the skylark ios framework rule. https://github.com/bazelbuild/rules_apple has details. PiperOrigin-RevId: 157246539
* Propagate objc_library SDK Frameworks through cc_library edgesGravatar cparsons2017-05-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 157235505
* Make workspace cycle reporting a little more flexibleGravatar kchodorow2017-05-29
| | | | | | Fixes #2999. PiperOrigin-RevId: 157222957
* For objc rules, generated headers are mandatory inputs to CppCompileAction.Gravatar cpeyser2017-05-26
| | | | PiperOrigin-RevId: 157218175
* BEP: report more test-result files and add a constants classGravatar aehlig2017-05-26
| | | | | | | | | | | In a test result, report more standard files, if present. Also, add a class with the constants used to name those files. Note that we have to identify files generated by a test with strings rather than an enum, as we want to support extensions of bazel to add their own files reported by tests. RELNOTES: None. PiperOrigin-RevId: 157204042
* Use FeatureConfiguration to compute value of CC_FLAGS make variableGravatar hlopko2017-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | This cl introduces new action_config type for Crosstool named 'generic'. This can be used to set the value of CC_FLAGS make variable using much more expressive mechanism (action_configs + features) than previous make_variable Crosstool messages. This has been requested by the C++ LPT. However, as FeatureConfiguration needs RuleContext, CC_FLAGS cannot be computed using configuration only anymore. Also, FeatureConfiguration is C++ rules specific class, and Bazel build-base cannot depend on it. Therefore we cannot use FeatureConfiguration for ExtraActions, for example. Because it cannot be made perfect, this cl is not updating all the possible places that expand make variables but limits the scope to: * genrule (the only widely used rule that often expands make variables) * *_test (CC_FLAGS is used by Tensorflow in the 'args' attribute) * cc_rules (people sometimes set 'copts' to something like: "-DCC_STRING=\\\"$(CC)\\\" -DCC_FLAGS_STRING=\"$(CC_FLAGS)\"" The long term plan is to use Skylark C++ API to get C++ command lines, so CC_FLAGS together with this inconsistent solution will be removed. RELNOTES: CC_FLAGS can be defined using 'generic' action_config in CROSSTOOL PiperOrigin-RevId: 157202883
* Use the correct extension_safe copt for extension_safe attributeGravatar cparsons2017-05-26
| | | | | | | The previous copt was in error, and was not caught due to only causing warnings to be omitted. Tests are now updated to throw an error in such cases of warning. RELNOTES: None. PiperOrigin-RevId: 157150798
* Make platform providers creatable from Skylark.Gravatar John Cater2017-05-26
| | | | | | | This will allow custom rules to interact more fully with the platform system. Change-Id: I22dd2efab55b1c6e6129b1ba99fb5f0aa9c2d6b2 PiperOrigin-RevId: 157145828
* Remove workspace tree under correct nameGravatar kchodorow2017-05-26
| | | | | | Actual fix for #2819. PiperOrigin-RevId: 157142420
* Remove no-op use_singlejar_for_proguard_libraryjars flag - it was removed ↵Gravatar Googler2017-05-26
| | | | | | | from global .blazerc in unknown commit RELNOTES: n/a PiperOrigin-RevId: 157133716
* Expose creation method for DottedVersion to skylark.Gravatar cparsons2017-05-26
| | | | | RELNOTES: Skylark support (apple_common.dotted_version(string)) for building DottedVersion objects to interface with native apple rules PiperOrigin-RevId: 157131109
* Use nested sets for configured target runfiles instead of flattened lists.Gravatar Googler2017-05-26
| | | | | RELNOTES: None PiperOrigin-RevId: 157124371
* Clean up SkylarkToolchainConstructor's argument handling.Gravatar John Cater2017-05-26
| | | | | Change-Id: I0604355801bd7e4f77a93bfc38e970713a1392c5 PiperOrigin-RevId: 157116222
* Added an implicit output target to j2objc_libraryGravatar Googler2017-05-26
| | | | | | This implicit output is similar to objc_library's fully linked static library. For j2objc_library targets, we can use this output to trigger transpilation and generate a fully linked static library. PiperOrigin-RevId: 157062831
* Modify misleading TODO.Gravatar ccalvarin2017-05-26
| | | | | | Unfortunately, we aren't ready to turn logging on by default, so cannot convert die/pdie to FATAL log messages. PiperOrigin-RevId: 157041142
* Automated g4 rollback of commit e2edf2e141a09c025a958d580c7cac7b57c70d83.Gravatar Googler2017-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Rollforward with fix. *** Original change description *** Automated g4 rollback of commit c78c947e6a8cbb323304f872a3dcabb989a3d76b. *** Reason for rollback *** Breaks android targets in the nightly - see [] *** Original change description *** Do not retain transitive data in AndroidLocalTestBase... *** ROLLBACK_OF=156745610 RELNOTES: None PiperOrigin-RevId: 157028029
* process-tools: Fail silently when we can't install a signal handler.Gravatar philwo2017-05-26
| | | | | | | | | | | | | | | | | | | | | | | linux-sandbox expects InstallSignalHandler to fail silently when called for a signal that doesn't allow one to install a signal handler. This behavior was accidentally lost and changed into a DIE() on sigaction failure when unifying the signal handling code with process-wrapper in https://github.com/bazelbuild/bazel/commit/f5900474b8bce417c3ef4c3e06af6da5ed57b929. This CL restores the previous behavior. The issue results in this failure: $ linux-sandbox -- /bin/true third_party/bazel/src/main/tools/process-tools.cc:112: "sigaction": Invalid argument We do have tests for linux-sandbox and Bazel's usage of the linux-sandbox strategy. None of these actually started failing when the linux-sandbox stopped working, due to our automatic fallback logic that we added in order to not annoy users / CI on platforms that don't support the Linux sandbox :( Bazel silently falls back to the processwrapper-sandbox strategy and disables the entire linux-sandbox test suite, but signals to CI that it passed (because we don't support a "Skipped" test status). Well, congrats. What an epic fail. I will have to rework this next week. PiperOrigin-RevId: 157021455
* Root GenObjcBundledProtos input filelist under the appropriate build ↵Gravatar cparsons2017-05-26
| | | | | | | configuration RELNOTES: None. PiperOrigin-RevId: 157017608
* Add one version enforcement to android_robolectric_testGravatar Googler2017-05-26
| | | | | RELNOTES: add one-version enforcement to android_local_test PiperOrigin-RevId: 157014802
* Add toolchains attribute to aspect.Gravatar John Cater2017-05-26
| | | | | | | Part of #2219. Change-Id: I39ced1f3e2605154771df9424d6ed2f971820baf PiperOrigin-RevId: 157002268
* Don't throw runtime exception on interruption - since we know the future is ↵Gravatar Googler2017-05-26
| | | | | | already done, we should leave the thread in an interrupted state and proceed. This fixes a blaze crash when a 'genquery' execution is interrupted at the right time. PiperOrigin-RevId: 157000269
* cpp: remove blaze_util::sys_ioprio_set() call from FreeBSD portGravatar Thiago Farina2017-05-24
| | | | | | | Currently sys_ioprio_set() is only implemented for Linux. Change-Id: Iadacf8fd48a804b981274e92ca3066a403c467fb PiperOrigin-RevId: 156977281
* Improve error messages for malformed Android SDK/NDK.Gravatar ajmichael2017-05-24
| | | | | | | | | | | | | Currently, if the user has an SDK/NDK that is missing required directories, we print out an InconsistentFileSystemException. This CL will give a better error, indicating which directory is missing (or is not a directory). Implementation is roughly taken from NewLocalRepositoryFunction. Followup to https://github.com/bazelbuild/bazel/issues/2739. RELNOTES: None PiperOrigin-RevId: 156913532
* Remove outdated documentation about appcompat library.Gravatar ajmichael2017-05-24
| | | | | | | The documentation for the current iteration of this feature is under android_sdk_repository. RELNOTES: None PiperOrigin-RevId: 156909364
* Remove possibility of circular initialization errors inGravatar John Cater2017-05-24
| | | | | | | SkylarkType.Simple. Change-Id: I7d6898bcba1689fee9e730b6134b659948501dae PiperOrigin-RevId: 156903849
* Set --experimental_enable_objc_cc_deps by default in the blaze binary.Gravatar cpeyser2017-05-23
| | | | PiperOrigin-RevId: 156896360
* Automated g4 rollback of commit c4134802dd15d6ef5cca6521f6bf6aac395ee2ad.Gravatar kchodorow2017-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Roll forward of directory name change *** Original change description *** Automated g4 rollback of commit 1d9e1ac90197b1d3d7b137ba3c1ada67bb9ba31b. *** 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: 156892980
* cpp: change PrintError() to print "ERROR:"Gravatar Thiago Farina2017-05-23
| | | | | | | | | | | As it was suggested in https://bazel-review.googlesource.com/#/c/10875/3/src/main/cpp/util/errors.cc@58 This is because that way it's consistent with the warnings/errors that the Bazel server displays. Change-Id: I65ee961ac4db5b21461fa7f7864e7f3c94a6e4f3 PiperOrigin-RevId: 156884812
* Automated g4 rollback of commit 7f520a8286c39c5145b6d816cd0be5a6b7b18250.Gravatar elenairina2017-05-23
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** This broke Bazel CI on freebsd: http://ci.bazel.io/view/Dashboard/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=freebsd-11/1516/console# *** Original change description *** Refactor process-wrapper code so the spawn/wait code is pluggable. In an upcoming change I'll reintroduce the new platform-specific implementations that can kill and wait for all descendant processes spawned by the wrapped process. This has no functional changes. PiperOrigin-RevId: 156884488
* Make PackageOrException.get() public + make loadPackages() variant.Gravatar carmi2017-05-23
| | | | | RELNOTES: None PiperOrigin-RevId: 156876531
* Update remote caching / execution docsGravatar ulfjack2017-05-23
| | | | | | Progress on #904. PiperOrigin-RevId: 156862823
* Refactor process-wrapper code so the spawn/wait code is pluggable.Gravatar philwo2017-05-23
| | | | | | | | In an upcoming change I'll reintroduce the new platform-specific implementations that can kill and wait for all descendant processes spawned by the wrapped process. This has no functional changes. PiperOrigin-RevId: 156849610
* experimental UI: Support limiting consoleGravatar Klaus Aehlig2017-05-23
| | | | | | | | | | | | Add an option allowing to set a hard limit on the number of characters bazel will write to stdout/stderr (combined). In this way, it can be avoided to overwhelm the user with information (especially, if the invocation of bazel is wrapped in some way). Once the limit is approaching, bazel will try hard to meaningfully reduce the output, but will ultimately resort to just dropping output completely. Change-Id: I49cce96cc6a025c9753632dd489021766df81077 PiperOrigin-RevId: 156849105
* BEP: explicitly mark the important outputs as deprecatedGravatar aehlig2017-05-23
| | | | | | | | While the fact that they are only added temporarily is obvious from the comment, a machine-readable deprecation annotation is more likely to be honored. So add it. PiperOrigin-RevId: 156846712
* Don't de-duplicate linkopts from two different configured targets that have ↵Gravatar lberki2017-05-23
| | | | | | | the same value. RELNOTES: None. PiperOrigin-RevId: 156837699
* Fix typos in android_device.system_image attribute documentationGravatar Googler2017-05-23
| | | | | RELNOTES: None PiperOrigin-RevId: 156827893
* Store the features enabled for each targetGravatar Googler2017-05-23
| | | | | | | ctx.features has already merged the package-level and rule-level feature sets. RELNOTES: None. PiperOrigin-RevId: 156811464
* Add CC_FLAGS to the macros that pull in the CcToolchainProvider for genrulesGravatar Googler2017-05-23
| | | | | RELNOTES: Using $(CC_FLAGS) in a GenRule adds a dependency to the c++ toolchain PiperOrigin-RevId: 156770639
* Remove outdated comment.Gravatar ajmichael2017-05-23
| | | | | RELNOTES: None PiperOrigin-RevId: 156770067
* Add deprecation warning if the "legacy" manifest merger is used, now that ↵Gravatar apell2017-05-23
| | | | | | | the default has been switched to "android". RELNOTES: The 'legacy' Android manifest merger is deprecated. Please upgrade to the 'android' manifest merger, which is the same merger used by Gradle. https://developer.android.com/studio/build/manifest-merge.html PiperOrigin-RevId: 156765307
* If the target apple_binary is a loadable_bundle, always pass the ↵Gravatar kaipi2017-05-23
| | | | | | @loader_path/Frameworks rpath flag to the linker. PiperOrigin-RevId: 156759162
* Fix ordering of -fPIC for PIC compiles in the LTOBackendActionGravatar Googler2017-05-23
| | | | | | | | | | For compiles that the CppConfiguration flags as needing PIC, the -fPIC option needs to be added after the other compile options so that it cannot be overridden (e.g. with a --copt). This is consistent with the way the CppCompileAction compile options are ordered. RELNOTES: None. PiperOrigin-RevId: 156746218
* Automated g4 rollback of commit c78c947e6a8cbb323304f872a3dcabb989a3d76b.Gravatar cpeyser2017-05-23
| | | | | | | | | | | | | | *** Reason for rollback *** Breaks android targets in the nightly - see [] *** Original change description *** Do not retain transitive data in AndroidLocalTestBase. The argument strings and artifacts were both transitive and flattened, causing O(N^2) memory consumption. PiperOrigin-RevId: 156745610
* Loosen java_library.exports and java_import.*Gravatar Stephen Twigg2017-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | java_library.exports and java_import.runtime_deps|exports|deps will now accept any label from a rule that has a JavaProvider declared provider. Note that java_library.deps|runtime_deps already had this feature and this simply extends that privilege. This relies on the fact that both those targets (via JavaCommon) are simply searching for jars via JavaProvider anyway. Added test for passing a custom Skylark rule (that provides a JavaProvider) can successfully be added to the deps, runtime_deps, and exports of java_library, java_import, and java_binary (where appropriate). Added integration tests for java_library.exports|runtime_deps (the basic sandwich already tests deps) and java_import.exports|runtime_deps. Note that custom Skylark rules are still unable to provide or propagate a JavaNativeLibraryProvider, which results from a cc dependency. Also, the deps argument for java_import is somewhat odd. Change-Id: I7b2c19c6b99516ce524e8c82193d0c73e2d66530 PiperOrigin-RevId: 156740729
* Extract determining which manifest merger to use (legacy v android) to a ↵Gravatar Googler2017-05-22
| | | | | | | separate method. This is so that android_local_test won't need access to the AndroidConfiguration fragment. RELNOTES: None PiperOrigin-RevId: 156740056
* Fix aspect processing when same dep appears in 2 attributes.Gravatar kaipi2017-05-22
| | | | | | If a target appeared in 2 different attributes, it is not processed twice, even if different aspects were applied to the different attributes. In that case, only one of the aspects is applied. This commit fixes this by checking which aspects have been applied to the target, instead of checking if the target was already processed. PiperOrigin-RevId: 156738275
* Extract :cc_toolchain as constantGravatar hlopko2017-05-22
| | | | | | | | And while at it cleanup all the calls of CppHelper.getToolchain and CppHelper.getFdoSupport. RELNOTES: None. PiperOrigin-RevId: 156716291
* Create a loadPackages() method that loads multiple packages simultaneously, ↵Gravatar carmi2017-05-22
| | | | | | | | | using multiple threads. The immediate upside is that if multiple packages load the same bzl file, that file will only be read once when using loadPackages(). RELNOTES: None PiperOrigin-RevId: 156621988