| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Change-Id: Iad1e07ad55d5304d7c3dbb8bdab856728a91432d
PiperOrigin-RevId: 155375893
|
|
|
|
|
| |
Change-Id: I68797947905166b71a58d8332be18fc7bd6de30d
PiperOrigin-RevId: 155360327
|
|
|
|
| |
PiperOrigin-RevId: 155194438
|
|
|
|
|
|
|
|
|
| |
This is a standalone library for loading packages. It is intended to be used by clients outside of Bazel (for now, Kythe).
Perform BazelPackageLoader#loadPackage in the testing hook used in all of Bazel's unit tests and integration tests. This gives us very good test coverage for BazelPackageLoader.
RELNOTES: None
PiperOrigin-RevId: 155004070
|
|
|
|
|
|
| |
wrapper objects: for OwnedArtifacts, which are the most numerous during builds, and for Labels for TransitiveTraversalValues, which are the most numerous during queries.
PiperOrigin-RevId: 154989520
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This lets users specify that their test needs a minimum of <n> CPU cores
to run and not be flaky. Example for a reservation of 4 CPUs:
sh_test(
name = "test",
size = "large",
srcs = ["test.sh"],
tags = ["cpu:4"],
)
This could also be used by remote execution strategies to tune their
resource adjustment.
RELNOTES: You can increase the CPU reservation for tests by adding a "cpu:<n>" (e.g. "cpu:4" for four cores) tag to their rule in a BUILD file. This can be used if tests would otherwise overwhelm your system if there's too much parallelism.
PiperOrigin-RevId: 154856091
|
|
|
|
|
|
|
| |
Part of #2219.
Change-Id: I87c7bc9fbfb38d3dbdf193b46247901d0f2a838d
PiperOrigin-RevId: 154719063
|
|
|
|
|
|
|
|
|
|
|
| |
We pass every file in //third_party:srcs to merge_licenses.sh and when
trying to update protobuf that list grew too large and caused errors on
macOS.
With xargs we can split the list of files into smaller chunks.
Change-Id: I402813f14e35ca6dac393112ff4f3c963e789536
PiperOrigin-RevId: 154536807
|
|
|
|
|
|
|
|
|
| |
This is the first of two CLs for making command line options able to affect the Skylark interpreter. It introduces SkylarkSemanticsOptions, and stores it as a precomputed (injected) value in Skyframe. The next CL will read these options from Skyframe when constructing the Skylark environment.
This CL affects the dataflow from command/test initialization to Skyframe. Some code paths, like those used for testing, use the default SkylarkSemanticsOptions and therefore won't be able to use (for example) --incompatible_* flags. The call sites to update were found by searching for uses of defaultVisibility and working upward from there.
RELNOTES: None
PiperOrigin-RevId: 154432058
|
|
|
|
| |
PiperOrigin-RevId: 154078281
|
|
|
|
|
|
|
|
|
|
| |
This module rely on an un-maintained codepath and is hardly used by anyone.
We should also archive the code from dash until we can revive it with BEP
RELNOTES[INC]: --use_dash, --dash_url and --dash_secret are removed.
PiperOrigin-RevId: 153701824
|
|
|
|
|
|
|
|
|
|
|
| |
RELNOTES: Adds a --override_repository option that takes a repository
name and path. This forces Bazel to use the directory at that path
for the repository. Example usage:
`--override_repository=foo=/home/user/gitroot/foo`.
Fixes #1266
PiperOrigin-RevId: 153599291
|
|
|
|
|
|
|
|
|
|
|
|
| |
The logic is already in Bazel but wasn't available to build rules.
This change makes it available, but still requires data binding's
{build|run}time libraries to be checked into appropriate depot
spots for everything to work.
Followup changes will make those libraries easily available.
Issue: #2694
PiperOrigin-RevId: 153359861
|
|
|
|
|
|
|
|
| |
This logger makes it easier to parse log statements and is now enabled for Bazel's java.log.
RELNOTES[INC]: Bazel now prints logs in single lines to java.log
PiperOrigin-RevId: 152954337
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first actual user of the config_feature_flag rule, able to actually
set its value (and thus give a point to using it!)
This feature is not fully launched yet, but it is usable in any build
containing this change.
RELNOTES: None.
PiperOrigin-RevId: 152948153
|
|
|
|
|
|
|
|
|
| |
The LocalSpawnRunner is a non-sandboxed local execution implementation, which
will replace the current StandaloneSpawnStrategy. The code has been around for
a long time and has seen a lot of bugfixes. It also supports local prefetching,
which is required for Google. I have a follow-up change to make it support
Windows, so it's not a drop-in replacement for StandaloneSpawnStrategy yet.
PiperOrigin-RevId: 152486973
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ConfigSetting was previously in analysis/config, where it was slightly out
of place (as it is a rule, not an integral part of the analysis backend).
This is also necessary to integrate it with ConfigFeatureFlag, as otherwise
this would be a circular dependency (analysis/config <-> rules/config).
ConfigFeatureFlagRule itself has been moved into ConfigRuleClasses, where
it can use the ConfigBaseRule and the nonconfigurable reason from the other
configuration rules.
RELNOTES: None.
PiperOrigin-RevId: 152275823
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ConfigSetting is being moved to rules/config, and that means that it
no longer has its special package-private access to BuildConfiguration.
The solution: a new TransitiveOptionDetails class which cuts down on
clutter in BuildConfiguration and is publicly accessible.
However, we don't really want anyone accessing BuildConfiguration's
TransitiveOptionsDetails - only config-related rules should ever need
it. As a result, BuildConfigurationOptionDetails provides public access
to BuildConfiguration's TransitiveOptionDetails, but is limited via
Blaze visibility to only configuration rules.
RELNOTES: None.
PiperOrigin-RevId: 151828068
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This rule has an implicit dependency on unified_launcher, which is hosted in an external repository at https://github.com/google/android-testing-support-library and must be set up in the WORKSPACE file with repository name @android_test_support. A future change will introduce an Android tools set-up macro that will create workspace rules for all of the remote Android tools, including unified_launcher.
Note that unified_launcher is not supported on Mac or Windows, so Bazel will only be able to successfully build the android_device rule on Linux.
Instructions to set up unified_launcher for use with android_device:
1. Install xvfb
2. In your WORKSPACE add
```
android_sdk_repository(name = "androidsdk") # Also set $ANDROID_HOME
git_repository(
name = "android_test_support",
remote = "https://github.com/google/android-testing-support-library",
commit = "79725fed7a6884074fb3647a683869e7141ecf64",
)
load(
"@android_test_support//tools/android/emulator:unified_launcher.bzl",
load_unified_launcher_deps = "load_workspace")
load_unified_launcher_deps()
```
In your BUILD file, you can create an android_device rule for a system image that you have installed in your Android SDK as:
```
android_device(
name = "my_device",
cache = 256,
default_properties = "@bazel_tools//tools/android/emulator:no_se_linux.properties",
horizontal_resolution = 640,
vertical_resolution = 800,
screen_density = 133,
ram = 2048,
vm_heap = 256,
system_image = "@androidsdk//:android-23_default_x86_files",
)
```
RELNOTES: Introduces experimental android_device rule for configuring and launching Android emulators.
PiperOrigin-RevId: 151766489
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This rule allows users to define flags as part of the Bazel configuration.
These flags will be select-able through a new attribute on config_setting,
and settable through transitions within certain special rules.
This rule is currently not supported by any other rules, not even
config_setting, and its values cannot be set; accordingly, it's not very
useful yet.
RELNOTES: None.
PiperOrigin-RevId: 151746523
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, a stamped bazel binary contains the actual timestamp at build
time. This means, that building bazel we either include no version
information at all, or the binary contains a not reproducible time
stamp. Both are not acceptable from the point of view of a downstream
maintainer of a bazel package, where the requirement is that the package
be reproducible, but the binary still provide sensible version information.
Fortunately, there is a suggested standard to solve this problem taking
the "current time" from the SOURCE_DATE_EPOCH environment variable, if
set, rather than the actual time.
See https://reproducible-builds.org/specs/source-date-epoch/.
Honor this proposed standard, so that bazel can reasonably be packaged
downstream. See issue #2240.
Note that we only use the environment variable in our bootstrap script;
for bazel itself we communicate that information via an appropriate
option.
--
Change-Id: I55409a117285b9a3446421179c20f4e8c59088f8
Reviewed-on: https://cr.bazel.build/9467
PiperOrigin-RevId: 150896326
MOS_MIGRATED_REVID=150896326
|
|
|
|
|
|
|
|
| |
--
Change-Id: I07c15f7d232a3e9363ebedfb9b5523999630c401
Reviewed-on: https://cr.bazel.build/9450
PiperOrigin-RevId: 150887776
MOS_MIGRATED_REVID=150887776
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will eventually be used to store the values of user-defined
configuration flags, once such a rule is added. Because this rule
does not exist yet, this fragment is currently not part of the
rule class provider. This will have to be done when that rule
is turned on.
--
PiperOrigin-RevId: 150638292
MOS_MIGRATED_REVID=150638292
|
|
|
|
|
|
|
|
| |
all embedded open-source components.
--
PiperOrigin-RevId: 150435047
MOS_MIGRATED_REVID=150435047
|
|
|
|
|
|
|
|
| |
RELNOTES: Repository context's execute() function can print stdout/stderr while running. To enable, pass quiet=False.
--
PiperOrigin-RevId: 150206218
MOS_MIGRATED_REVID=150206218
|
|
|
|
|
| |
PiperOrigin-RevId: 150019356
MOS_MIGRATED_REVID=150019356
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 149789440
MOS_MIGRATED_REVID=149789440
|
|
|
|
|
|
|
|
|
|
| |
This fixes PackagePathLocatorTest.
--
Change-Id: I3d14a80993f6b256acfc732adf2d97b1d2dcb804
Reviewed-on: https://cr.bazel.build/9310
PiperOrigin-RevId: 149634730
MOS_MIGRATED_REVID=149634730
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After this change, a msys bazel can be built with
a MSVC-default Bazel by adding --cpu=x64_windows_msys --host=x64_windows_msys
See https://github.com/bazelbuild/bazel/issues/2627
--
Change-Id: Iaa82bf4dd911c5740b98d3b2739dfccca6203f79
Reviewed-on: https://cr.bazel.build/9293
PiperOrigin-RevId: 149532274
MOS_MIGRATED_REVID=149532274
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the experimental UI, to be able to report appropriately about ongoing
downloads, we need to track their state, as updated by the DownloadProgressEvents.
Do so. Also report on ongoing downloads in the progress bar.
--
Change-Id: I668e963cd6da85ec598b23724066d366d465271f
Reviewed-on: https://cr.bazel.build/9114
PiperOrigin-RevId: 148899297
MOS_MIGRATED_REVID=148899297
|
|
|
|
|
|
|
|
|
|
|
|
| |
platform-related constraints and values.
Part of ongoing work on #2219.
--
Change-Id: Ice370ee26469f4992faf72c0c95a1a3e51a9f9e7
Reviewed-on: https://cr.bazel.build/9091
PiperOrigin-RevId: 148758190
MOS_MIGRATED_REVID=148758190
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148749485
MOS_MIGRATED_REVID=148749485
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 148697913
MOS_MIGRATED_REVID=148697913
|
|
|
|
|
|
|
|
|
| |
Also moved ProtoJavaApiInfo*Provider to package
com.google.devtools.build.lib.rules.java to avoid a dependency cycle.
--
PiperOrigin-RevId: 148324664
MOS_MIGRATED_REVID=148324664
|
|
|
|
|
|
|
|
|
|
| |
Skylark modules.
With this change, we no longer have to manually register modules whose generation should be generated. Manual registration turned out to be prone to errors since engineers didn't know about it or simply forgot to register their modules. As a result, we had ~20 modules that featured nice documentation texts, but that were not being picked up by the documentation pipeline.
--
PiperOrigin-RevId: 148136776
MOS_MIGRATED_REVID=148136776
|
|
|
|
|
|
|
|
|
|
|
|
| |
...through the ExtendedEventHandler. The main use case of the extended
event handler is to allow posting of BuildEvents. So it is implicit that
they are all good to be posted. Declare this.
--
Change-Id: I9fcb2f33e57e05c3a05509b1121e44396f28c168
Reviewed-on: https://cr.bazel.build/9011
PiperOrigin-RevId: 148090465
MOS_MIGRATED_REVID=148090465
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Vanilla roll forward
--
PiperOrigin-RevId: 147512649
MOS_MIGRATED_REVID=147512649
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 147416635
MOS_MIGRATED_REVID=147416635
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rules: If the collection of jars for a java_binary contain more than one
instance of the same class, one of them will be arbitrarily loaded at runtime.
This is problematic if the instances of the class are not identical, as methods
or fields from one class version might be missing in the other, leading to
runtime failures when methods are missing.
This change adds an experimental flag to enable one version enforcement. The
actual enforcement tool will come later.
--
PiperOrigin-RevId: 147166361
MOS_MIGRATED_REVID=147166361
|
|
|
|
|
|
|
|
|
|
| |
//third_party/protobuf:protobuf to refer to the Java proto runtime.
This is the name in the upstream protobuf repo.
--
PiperOrigin-RevId: 146949832
MOS_MIGRATED_REVID=146949832
|
|
|
|
|
|
|
|
| |
internal Google code.
--
PiperOrigin-RevId: 145795255
MOS_MIGRATED_REVID=145795255
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 145744124
MOS_MIGRATED_REVID=145744124
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Unwrapping JavaCompilationArgsProvider from JavaProvider when collecting compile time dependencies artifacts (in addition to JavaCompilationArgsProvider), so that java_library could depend on Skylark rules that return java_common.provider. (this makes java sandwich complete \o/)
* Added a new param (source_files) to java_common.compile to allow compilation of source files in addition to source jars.
* Added a new sourceFiles field to JavaLibraryHelper in order to pass them to JavaCompilationHelper.
* Added a new method (java_common.default_javac_opts) for default Java compilation.
* Added a test for a basic java sandwich.
--
PiperOrigin-RevId: 145064700
MOS_MIGRATED_REVID=145064700
|
|
|
|
|
|
|
|
|
|
|
| |
Bazel-created files (like log files of test runs) are internally reported
as Paths. However, this is not always the most useful representation of the
location of that artifact for a consumer of build events. Therefore, support
a mapping of paths to more useful URIs.
--
PiperOrigin-RevId: 144843525
MOS_MIGRATED_REVID=144843525
|
|
|
|
|
|
|
|
|
|
|
| |
The mobile_install command has a hard dependency on the Android rules. For
mu-Bazel, we're trying to build a minimally useful Bazel binary, and that
should not contain the Android rules. Moving the mobile install command
implementation to a separate package is one step towards that.
--
PiperOrigin-RevId: 144680452
MOS_MIGRATED_REVID=144680452
|
|
|
|
|
|
|
|
|
| |
These rules can be used to configure JDKs, as an alternative to
the filegroups and filegroups-of-filegroups used currently.
--
PiperOrigin-RevId: 144655277
MOS_MIGRATED_REVID=144655277
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When spawning a new process with CreateProcessA,
convert argv0 to a 8dot3 style short path so we
can support longer paths than MAX_PATH. This is
the same approach we did in commit 44ecf9a0c7c25496a43f59f1c8f20df9527e12cb.
See https://github.com/bazelbuild/bazel/issues/2107
See https://github.com/bazelbuild/bazel/issues/2181
--
PiperOrigin-RevId: 144613589
MOS_MIGRATED_REVID=144613589
|
|
|
|
|
|
|
|
| |
* This new configuration allows for passthrough of Swift-specific options into Skylark for further consumption by swift_library. It also keeps things nicely isolated until we get a way to create configurations in Skylark directly.
--
PiperOrigin-RevId: 144210267
MOS_MIGRATED_REVID=144210267
|
|
|
|
|
|
|
|
| |
No production code should depend on inmemoryfs.
--
PiperOrigin-RevId: 144054981
MOS_MIGRATED_REVID=144054981
|