| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
1) remove no-op conversion to dictionary
2) use [] instead of dict.get
--
MOS_MIGRATED_REVID=125655793
|
|
|
|
|
|
|
|
|
| |
merger that is used (legacy or android) is controlled by the manifest_merger attribute on android_binary and the default is controlled by the --android_manifest_merger flag.
RELNOTES: The Android manifest merger is now available as an option for android_binary rules. The merger will honor tools annotations in AndroidManifest.xml and will perform placeholder substitutions using the values specified in android_binary.manifest_values. The merger may be selected by setting the manifest_merger attribute on android_binary.
--
MOS_MIGRATED_REVID=125603954
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125592395
|
|
|
|
|
|
|
| |
don't want to throw IOExceptions unless there is an actual IOException. Syntax errors in WORKSPACE files don't qualify, and neither do badly written Skylark rules. I may have misunderstood some code here, so please do push back if the root causes here really can be filesystem issues.
--
MOS_MIGRATED_REVID=125591177
|
|
|
|
|
|
|
|
| |
Also update HelpCommand to output the configuration options in the hmtl
output.
--
MOS_MIGRATED_REVID=125570665
|
|
|
|
|
|
|
|
|
| |
The character sequences in the test cases behave the same way Python does.
Fixed #1306.
--
MOS_MIGRATED_REVID=125568600
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125562946
|
|
|
|
|
|
|
| |
Part of the rollforward for #1262.
--
MOS_MIGRATED_REVID=125562871
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
write R classes directly
NEW: add check that primary R.txt exists before
trying to load its symbols.
Rollback of commit 32c6c15c8b9bc4e203529f60bedbc5cd8a496a36.
*** Reason for rollback ***
Rollforward with check that primary R.txt exists
*** Original change description ***
Automated [] rollback of commit 1f1f207573c7b9c3e2d3ca1ffb0780a8fd592214.
*** Reason for rollback ***
Doesn't handle aapt that doesn't generate R.txt properly.
--
MOS_MIGRATED_REVID=125559472
|
|
|
|
|
|
|
| |
Consider /src/ in the path when locating the java root directory.
--
MOS_MIGRATED_REVID=125461909
|
|
|
|
|
|
|
| |
It's not used and it causes difficulties, since it's a function of the CROSSTOOL file, which we want not to affect configurations (eventually).
--
MOS_MIGRATED_REVID=125455664
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Newly passing:
//src/test/java/com/google/devtools/build/...
lib/skyframe:SkyframeTests
lib:actions_test
Also refactored FileSystems.java
--
Change-Id: I03ab9db5c1ab5e5be4ff1efbc5cf2d280084254a
Reviewed-on: https://bazel-review.googlesource.com/#/c/3843
MOS_MIGRATED_REVID=125449456
|
|
|
|
|
|
|
| |
causing LocalLinuxSandboxedStrategyTest to fail due to unexpected lines in the output.
--
MOS_MIGRATED_REVID=125439352
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125428066
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the experimental UI always shows the 3 oldest, still running actions.
While this seems a reasonable default, some users requested to be able to change
the number of actions shown. Hence replace the hard-coded value by a flag.
While there, also fix an off-by-one error in deciding when to put the ellipsis
symbol.
--
Change-Id: I037d208360fa1d3f100c99ab1ab1f5fc140138ac
Reviewed-on: https://bazel-review.googlesource.com/#/c/3811
MOS_MIGRATED_REVID=125427168
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Doesn't handle aapt that doesn't generate R.txt properly.
--
MOS_MIGRATED_REVID=125405481
|
|
|
|
|
|
|
|
| |
to remove the call from RuleConfiguredTarget.getProvider() and instead check the
types when the providers ImmutableMap is built.)
--
MOS_MIGRATED_REVID=125389561
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For android_binary rules, we regenerate all of
the R.java of the libraries to get the final
resource IDs. Compiling all of them together can
be slow with the normal JavaBuilder, so add a
specialized class writer.
Example build with many R.java classes:
- R.java -> R.class via JavaBuilder: over 80s
- ErrorProne takes about 40% of that. So turning off
ErrorProne would be projected to be 48s.
Some of ErrorProne slowness is from static field
checks (e.g., on Flag classes), which may look
up the same Type over and over.
In comparison, if we write our own bytecode with ASM:
- ~16s total
- 4.7s to parse R.txt
- 4.8s to write class files
- 5.8s to copy and compress .jar
TODO: clean up SymbolLoader patching (upstream)
This only creates the action. We will need to
separately wire this up in blaze.
NOTE: This also makes the exising R.txt loading
used by live code multi-threaded, since that is
partly I/O-bound. Something to watch out for
(for flakiness, etc.) once this is submitted.
--
MOS_MIGRATED_REVID=125384467
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
configurations.
This is important for dynamic configurations.
invalidatePackages() invalidates every file. This includes CROSSTOOL,
which the CppConfiguration fragment depends on.
For static configurations, this doesn't matter because all configurations
and their fragments are pre-computed at the beginning of the build (or
in the case of tests before the test case starts).
For dynamic configurations, the configuration can get custom-created
each configured target. When that happens after invalidatePackages,
a new CppConfiguration instance gets created. This can impact code
like CcLibraryHelper.addDeps(), which assumes equality (CppConfiguration
has no .equals() method).
Normally that's not a problem because the same CppConfiguration instance
is used for every target in the post-invalidatePackages() graph. But
host configurations break this: we keep a non-Skyframe host config cache
in SkyframeBuildView.hostConfigurationCache. Without this change, it
doesn't get cleared out, so it keeps old pre-invalidation references that
under certain circumstances get applied to post-invalidation targets.
--
MOS_MIGRATED_REVID=125379342
|
|
|
|
|
|
|
|
| |
Avoids constructing and manipulating expected value sets
for containsExactlyElementsIn when containsExactly will do.
--
MOS_MIGRATED_REVID=125371446
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125368119
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125362963
|
|
|
|
|
|
|
|
|
|
|
| |
nodes, where there is no work to do anyway.
This triggered some non-determinism that we explicitly workaround in the unit tests.
Also add a comment about a potential but unrelated optimization.
--
MOS_MIGRATED_REVID=125355303
|
|
|
|
|
|
|
| |
Part 1 of many for #1262, rolling forward.
--
MOS_MIGRATED_REVID=125334954
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Newly passing:
//src/test/java/com/google/devtools/build/...
lib:syntax_test
lib/skylark:SkylarkTests
lib:analysis_actions_test
lib:pkgcache_test
--
Change-Id: Iefdcf9e90ad28e664126aa7269487db95da1000a
Reviewed-on: https://bazel-review.googlesource.com/#/c/3840
MOS_MIGRATED_REVID=125324588
|
|
|
|
|
|
|
| |
(But this will make it easier to try out the overlayfs-based sandbox later.)
--
MOS_MIGRATED_REVID=125320914
|
|
|
|
|
|
|
| |
passed-in modified file sets.
--
MOS_MIGRATED_REVID=125173579
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125171507
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125166943
|
|
|
|
|
|
|
|
|
|
| |
In the experimental UI, for the running actions also report their strategy.
This will give a more complete picture of what Bazel is currently doing.
--
Change-Id: I9553c952ed494e0db225b2a1ae5e8eba00f68617
Reviewed-on: https://bazel-review.googlesource.com/#/c/3820
MOS_MIGRATED_REVID=125162808
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125160288
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
configuration creation fails because transitive fragment
visitation hits these cycles.
This makes CircularDependencyTest pass with dynamic
configurations.
It's a little bit unfortunate that BuildViewTestCase
follows a different code path to create configured targets
than production (BuildView.getConfiguredTargetForTesting
vs. BuildView.update). As a result, doing an actual build over
the rules defined in CircularDependencyTest#testTwoCycles
correctly reports the cycle, while the test itself doesn't.
That means the test isn't 100% faithfully testing production
logic.
But I'm not interested in fixing the gap between
BuildView.update and BuildView.getConfiguredTargetForTesting
in this change. That's part of a larger refactoring effort
on the various forked ways of acccessing configured targets
and dependencies in BuildView.
--
MOS_MIGRATED_REVID=125118553
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
repositories
One interesting side effect of how this is implemented is that for external
repositories, bin/ and genfiles/ are combined. External repo output is under
bazel-out/local-fastbuild/repo_name for each repo.
Fixes #1262.
RELNOTES[INC]: Previously, an external repository would be symlinked into the
execution root at execroot/local_repo/external/remote_repo. This changes it to
be at execroot/remote_repo. This may break genrules/Skylark actions that
hardcode execution root paths. If this causes breakages for you, ensure that
genrules are using $(location :target) to access files and Skylark rules are
using http://bazel.io/docs/skylark/lib/File.html's path, dirname, etc.
functions.
--
MOS_MIGRATED_REVID=125095799
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this change, another 5 java_test targets of Bazel passed on Windows:
//src/test/java/com/google/devtools/...
build/lib/bazel/repository/downloader:DownloaderTests
build/lib:graph_test
build/lib:java-rules-tests
build/lib:profiler-tests
build/lib:windows_test
Already passing targets are:
//src/test/java/com/google/devtools/...
build/android/ziputils:ziputils-tests
build/lib:BazelDocumentationTests
build/lib:objc-rules-tests
build/skyframe:skyframe_base_test
common/options:options_test
--
Change-Id: Ibb63f29615b84d6df44289c902f6d85ab6569d61
Reviewed-on: https://bazel-review.googlesource.com/#/c/3821
MOS_MIGRATED_REVID=125084737
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add toolchain configuration for x64_windows in MOCK_CROSSTOOL
This makes the following targets pass:
//src/test/java/com/google/devtools/build/...
docgen:DocumentationTests
lib:analysis_config_test
lib:analysis_constraints_test
lib:analysis_select_test
lib/bazel/repository:RepositoryTests
lib:bazel-rules-tests
lib:packages_test
lib/rules/repository:RepositoryTests
lib:runtime-tests
lib:exec-tests
lib:filegroup-rules-tests
--
Change-Id: If8a0bfca0a2506ee2c344803ca3776cc31bc4441
Reviewed-on: https://bazel-review.googlesource.com/#/c/3822
MOS_MIGRATED_REVID=125084693
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=125013752
|
|
|
|
|
|
|
| |
8be7fd0bb7cc8f0819f23ef4bbf6328472110db7 when NotifyingNodeEntry stopped inheriting from InMemoryNodeEntry.
--
MOS_MIGRATED_REVID=124960351
|
|
|
|
|
|
|
| |
functionality was only used in tests.
--
MOS_MIGRATED_REVID=124841573
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124832306
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Relatively few locations are set relative to the number of attributes.
Replace the sparse array with a dense one.
- BitSet requires a minimum of two objects (48 bytes in our current JVM),
but we set an average of just six bits. Replace it with a list of
indices packed into a byte[], shared with the locations array.
Also add some assertions to help the next reader.
--
MOS_MIGRATED_REVID=124830576
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Optional and named parameters are now specified using `defaultValue`
and `named` (and `positional`). The new structure allow for parameters
that are both named and positional (which was forbidden before).
This new structure will be used to give the @SkylarkCallable annotation
the possibility to provide named and default arguments. It should be
a functional no-op for Bazel users.
--
MOS_MIGRATED_REVID=124821455
|
|
|
|
|
|
|
|
|
| |
This involved refactoring BuildViewTestCase a bit so that its behavior is closer to that of Bazel with --experimental_interleave_loading_and_analysis.
RELNOTES:
--
MOS_MIGRATED_REVID=124816624
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124792198
|
|
|
|
|
|
|
|
| |
2. In PopulateTreeArtifactAction, create the parent directories for TreeFileArtifacts before executing the spawn.
3. Allow empty tree artifacts in CustomCommandLine and PopulateTreeArtifact.
--
MOS_MIGRATED_REVID=124759286
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124744073
|
|
|
|
|
|
|
| |
RELNOTES[INC]: Removed predefined Python variable "generic_cpu".
--
MOS_MIGRATED_REVID=124611269
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=124594694
|
|
|
|
|
|
|
| |
making it easier to create PackageFactory instances in unit tests.
--
MOS_MIGRATED_REVID=124566862
|
|
|
|
|
|
|
|
| |
The @SkylarkCallable annotation is very limited and to extend it
it is best to share a similar API than the @SkylarkSignature annotation.
--
MOS_MIGRATED_REVID=124473056
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, analysis-time cycle detection expects all cycles to come from ConfiguredTargetFunction.
With dynamic configurations, ConfiguredTargetFunction calls out to TransitiveTargetFunction to figure out which configuration fragments its deps need.
If there's a cycle between the current target and a dep, the dep's TransitiveTargetFunction fails, which the current cycle detection code can't handle.
But even if it could handle it, since the failure occurs in the dep we'd get error messages like:
"in cc_library rule //the:dep: cycle in dependency graph"
instead of the expected:
"in cc_library rule //the:top_level_rule: cycle in dependency graph"
This used to not be a problem because loading-phase cycle detection caught the cycle before all this triggered. But interleaved loading and analysis removes that gate.
Tested: BuildViewTest cycle detection tests with dynamic configurations turned on
--
MOS_MIGRATED_REVID=124391277
|