| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113524029
|
|
|
|
|
|
|
| |
Fix a minor bug in the process.
--
MOS_MIGRATED_REVID=113519574
|
|
|
|
|
|
|
|
| |
Add test coverage by re-running BuildViewTest with the new Skyframe loading
phase runner.
--
MOS_MIGRATED_REVID=113517509
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the immutability interfaces of existing implementations.
Eventually we want all implementations to comply, but right now CppConfiguration
is a glaring exception due to FDO/LIPO support.
We don't want more exceptions to arise.
This is prep work for pre-trimming ConfigurationFragment.key's BuildOptions input
to just the options needed by the fragment. That implies fragments can be shared across configurations, so that needs to be safe.
--
MOS_MIGRATED_REVID=113408041
|
|
|
|
|
|
|
|
|
|
| |
Add <String, Object> annotation to optionMap invocation in SkylarkAttr,
to make JDK 1.7 happy.
Give the visible name "aspect" to class SkylarkAspect.
--
MOS_MIGRATED_REVID=113394826
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Break Java 1.7 builds of Bazel.
See http://ci.bazel.io/job/Bazel/JAVA_VERSION=1.7,PLATFORM_NAME=linux-x86_64/327/console
Test:
git clone ... && git revert c0a8c58 && export JAVA_VERSION=1.7 && export BAZEL_COMPILE_TARGET=compile && bash -c "source scripts/ci/build.sh; bazel_build"
*** Original change description ***
Make Skylark dicts mutable
Represent Skylark dict using a new subclass SkylarkDict<K, V> of Map<K, V>.
Back it with a TreeMap to provide a deterministic iteration order.
Also make SkylarkList generic in its element type <E>.
Have Artifact implement Comparable<Object> so it can be used as TreeMap key.
--
MOS_MIGRATED_REVID=113359718
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113350910
|
|
|
|
|
|
|
|
|
|
| |
Represent Skylark dict using a new subclass SkylarkDict<K, V> of Map<K, V>.
Back it with a TreeMap to provide a deterministic iteration order.
Also make SkylarkList generic in its element type <E>.
Have Artifact implement Comparable<Object> so it can be used as TreeMap key.
--
MOS_MIGRATED_REVID=113277489
|
|
|
|
|
|
|
|
|
| |
This should never be triggered in production, where we always run a loading
phase first and only analyze targets that load successfully. I.e., this is
just plumbing which will be hooked up in a subsequent change.
--
MOS_MIGRATED_REVID=113258593
|
|
|
|
|
|
|
|
|
|
| |
This variable is no longer used because the docgen template directly calls
RuleDocumentationAttribte.getSynopsis() instead of using the SYNOPSIS variable,
and RuleDocumentationAttribute.getHtmlDocumentation() resolves the SYNOPSIS
variable to the empty string.
--
MOS_MIGRATED_REVID=113249993
|
|
|
|
|
|
|
|
|
|
|
| |
using Constants.java
It also includes one example on how to use the new mechanism in BazelCppRuleClasses.
This is the first phase for the removal of the TOOLS_REPOSITORY constant.
--
MOS_MIGRATED_REVID=113244399
|
|
|
|
|
|
|
| |
RELNOTES[INC]: Removes --objc_gcov_binary flag.
--
MOS_MIGRATED_REVID=113190035
|
|
|
|
|
|
|
|
|
|
|
| |
- if there are failed top-level aspects
- if there are conflicting actions
I ended up rewriting how errors are signaled from the SkyframeBuildView. I
think this is safe, but please review carefully.
--
MOS_MIGRATED_REVID=113150100
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=113139138
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dependencies are the data structure which needs to propagate the configuration for each
aspect as created by trimConfigurations down to the point where it's actually used. We
need this to store different configurations for different aspects in a world where aspects
have their own configurations, which may have more fragments than the target they're
attached to.
That world is on its way.
Also in this CL:
* Refactor Dependency to be an abstract parent class with separate implementations for
Attribute.Transitions and BuildConfigurations, as well as null configurations, to avoid
having to check nullness in various places. Users of the API will not see this, but get
factory methods instead of constructors. As a consequence of this, refactor Dependency
to be its own top-level class instead of a nested class in DependencyResolver.
--
MOS_MIGRATED_REVID=113109615
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runfiles.
This is necessary because the plan for Windows calls for knowing if the target of the symlink is a directory or a file, thus, we cannot create runfiles trees before the artifacts in them are built. This probably comes with a performance hit due to the extra scheduling constraints.
This makes almost every test pass save:
- test_tmpdir in bazel_test_test, which I hereby dismiss as a fluke
- test_http_archive_tgz in external_integration_test (Maybe a permissions issue due to copying things?)
- A bunch of test in external_correctness_test, probably related to the fact that since we are copying things, we don't notice changes to the original files.
--
MOS_MIGRATED_REVID=113050025
|
|
|
|
|
|
|
| |
our plans for symlink support on Windows.
--
MOS_MIGRATED_REVID=113043269
|
|
|
|
|
|
|
|
|
|
|
| |
files itself, and one that contains this middleman and the runfiles output manifest.
This is in preparation for Windows symlink support in runfiles manifests: on Windows, we'll need the target files created before we can create the runfiles symlinks for them, but we can't do that by adding the current runfiles middleman to the inputs of SymlinkTreeAction because it would create a cycle (output manifest -> SymlinkTreeAction -> runfiles manifest -> MiddlemanAction -> output manifest)
The alternative is to just add the artifacts to the inputs of SymlinkTreeAction, but that would create a bunch of extra edges and, more importantly, reverse edges in the action graph which we don't want.
--
MOS_MIGRATED_REVID=113041344
|
|
|
|
|
|
|
| |
Stamping make build non-deterministic and should not be the default.
--
MOS_MIGRATED_REVID=113040937
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=112952552
|
|
|
|
|
|
|
|
|
| |
Bazel native rule inline documentation.
These variables are no longer used because the docgen templates now directly generate the table of attributes instead of using ATTRIBUTE_DEFINITION and call RuleDocumentation.getAttributeSignature() instead of using ATTRIBUTE_SIGNATURE. RuleDocumentation.getHtmlDocumentation() currently resolves both of these variables to the empty string.
--
MOS_MIGRATED_REVID=112933659
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=112931111
|
|
|
|
|
|
|
|
|
|
|
| |
pointing back to the main repository ("@//:...") work.
In principle, we should just use main repository labels instead of default repository labels in all the SkyKeys that take labels. @bsilver8192 is working on it, but in the meantime, this will serve to unblock @chin33z.
Fixes #811.
--
MOS_MIGRATED_REVID=112787545
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=112717648
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=112709717
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an aspect has specified its configuration fragment dependencies,
use these in place of the rule's.
Note that the dynamic configuration support for this is yet to come.
Also in this CL:
* RuleContext is constructed with a ruleClassNameForLogging, which allows
error messages involving aspects to be clearer.
RELNOTES[NEW]: Skylark aspects can now specify configuration fragment
dependencies with fragments and host_fragments like rules can.
--
MOS_MIGRATED_REVID=112614357
|
|
|
|
|
|
|
| |
its intended use.
--
MOS_MIGRATED_REVID=112598772
|
|
|
|
|
|
|
|
|
|
| |
This is part of removing the requirement of having base_workspace in your
package_path for bazel builds.
This also removes --experimental_objc_gcov_binary, since it doesn't seem to be needed anymore.
--
MOS_MIGRATED_REVID=112595137
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- update some comments
- add some comments to make it easier to follow
- delete some dead code, in particular the SkyframeDependencyResolver can
never be null; remove an non-applicable @Nullable annotation
I'm trying to figure out how the error handling code works, in order to add
support for interleaved loading+analysis, which requires handling loading
errors in this code path.
--
MOS_MIGRATED_REVID=112456674
|
|
|
|
|
|
|
| |
This remove all C++ compilation in bootstrapping itself.
--
MOS_MIGRATED_REVID=112407516
|
|
|
|
|
|
|
|
| |
This simplify the bootstrap process and remove a C++ tool from
the bootstrap binary.
--
MOS_MIGRATED_REVID=112394555
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In preparation for allowing aspects to have their own configuration fragments
specified, allow ConfigurationFragmentPolicy.Builder to merge with built policies
more easily, setting up SetMultimaps in place of maps of sets. This changes how
named (Skylark) fragments are declared in the RuleContext builder, hopefully to
be a bit easier to write.
In order to do this, make SkylarkModuleNameResolver the only name resolver in use
(because it is the only name resolver which exists) so as to not worry about
collisions of different name resolvers.
This also changes isLegalConfigurationFragment's one-argument form to mean
"legal in ANY configuration" rather than "legal in the target (NONE)
configuration", as that is how it's used by TransitiveTargetFunction. Uses of it to
mean the latter have been revised to be more explicit.
Also in this CL:
* refactor ConfigurationFragmentPolicy to enforce its contracts about which
ConfigurationTransitions are legal
* use containsEntry or containsValue rather than looking in get(key) or values()
for the configuration fragment multimaps
* add tests for ConfigurationFragmentPolicy
* make SkylarkModuleNameResolver a static method
--
MOS_MIGRATED_REVID=112191439
|
|
|
|
|
|
|
| |
environments of runtime tools.
--
MOS_MIGRATED_REVID=112149571
|
|
|
|
|
|
|
|
|
|
|
| |
statements work in remote repositories.
This work is somewhat sisyphean; the principled thing to do would be to just do this resolution when labels are parsed.
Fixes #783.
--
MOS_MIGRATED_REVID=112137996
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
repository where the package group is.
There is currently no way to refer to packages in other repositories and that doesn't seem to be useful, because visibility currently checks the repository name in the label and that can be changed in the main WORKSPACE file. If needed, it'd be pretty easy to implement, though.
As a drive-by fix, made the parsing of the package name call into the same logic implemented in the cmdline package because code duplication is bad, mmmkay?
Fixes #767.
--
MOS_MIGRATED_REVID=112032508
|
|
|
|
|
|
|
| |
RELNOTES:
--
MOS_MIGRATED_REVID=111951279
|
|
|
|
|
|
|
|
|
|
| |
In particular, don't immediately call into the ForTesting functions; I need to
refactor some code that is called from here, and the semantics when called
from ide info should not change. Changes to semantics when called from tests
are much less problematic - we can simply run all the tests.
--
MOS_MIGRATED_REVID=111846384
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
files in external repositories.
In addition:
- Cleaned up and refactored some tests to reflect the new loading behavior.
Deferred to future CLs:
- Updating Bazel Skylark documentation to reflect the new load form.
- Enabling command-line loading of Aspects via labels.
RELNOTES: Skylark load statements may now reference .bzl files via build labels, in addition to paths. In particular, such labels can be used to reference Skylark files in external repositories; e.g., load("@my_external_repo//some_pkg:some_file.bzl", ...). Path-based loads are now deprecated and may be disabled in the future. Caveats: Skylark files currently do not respect package visibility; i.e., all Skylark files are effectively public. Also, loads may not reference the special //external package.
--
MOS_MIGRATED_REVID=110786452
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Skylark into their own package. This allows, e.g., classes in the syntax package to access classes in the cmdline package without creating circular dependencies.
While we're here:
- Removed a couple of unused BUILD deps flagged in [].
- Updated SkylarkRuleImplementationFunctionsTest to remove non-ASCII characters and
clarify the intent of the test.
--
MOS_MIGRATED_REVID=110360763
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=110356954
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=110153136
|
|
|
|
|
|
|
|
|
| |
- If we have a class object available, we can use .cast(Object)
- Only store the required options objects in CppConfigurationParameters
rather than keeping the entire BuildOptions
--
MOS_MIGRATED_REVID=109981236
|
|
|
|
|
|
|
| |
Reduces garbage.
--
MOS_MIGRATED_REVID=109914243
|
|
|
|
|
|
|
| |
Such providers have a create() method which returns an object whose runtime class differs from its compile-time class, which makes the shortcut methods behave unexpectedly.
--
MOS_MIGRATED_REVID=109815042
|
|
|
|
|
|
|
|
|
| |
$OUTPUT_BASE/execroot/<workspace name> instead of $OUTPUT_BASE/<workspace name>.
This makes it possible to run Bazel in directories whose name clashes with one of the pre-existing files in the output base. Note that this option is turned off by default for now.
--
MOS_MIGRATED_REVID=109791053
|
|
|
|
|
|
|
| |
RELNOTES: Fix resource handling for exported android_library rules
--
MOS_MIGRATED_REVID=109532253
|
|
|
|
|
|
|
| |
AutoValue_* classes from being provider keys.
--
MOS_MIGRATED_REVID=109440137
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108862983
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108592613
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=108555227
|