aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
Commit message (Collapse)AuthorAge
* Make FdoSupport use outputName to generate object file pathGravatar pcloudy2018-03-20
| | | | | | | | | | Object file path will no longer be derived from source file path directly. This is a preparation change for[] Related issue https://github.com/bazelbuild/bazel/issues/4149 RELNOTES: None PiperOrigin-RevId: 189722421
* Automated rollback of commit 72d28f3efc2842510a34cacd930c0204143f7412.Gravatar shreyax2018-03-19
| | | | | | | | | | | | | | | | | | | | | | | | Fix skylark caching to properly include transitive dependencies when there is a diamond-like dependency in the loaded bzl files. Also add guards to make sure we're not attempting to cache skylark files that transitively request a dependency that is in error. *** Reason for rollback *** Looking for source of non-determinism *** Original change description *** Automated rollback of commit 7ba939dfd5df48903929e9c14ebd0449656403e4. *** Reason for rollback *** Likely cause for non-determinism in skyframe *** Original change description *** Cache SkylarkLookupImportValues in memory so that we don't recompute them multiple times. PiperOrigin-RevId: 189686604
* Plumb support for mounting a sandboxfs instance during a build.Gravatar jmmv2018-03-19
| | | | | | | | | | | | | This introduces user-facing options to enable the experimental sandboxfs support and, when enabled, mounts a sandboxfs instance throughout the build. The sandboxfs' process handle is passed to the SandboxActionContextProvider so that the SpawnRunners can later consume it. Note that this does NOT yet provide sandboxfs support for the builds as the SpawnRunners are untouched. RELNOTES: None. PiperOrigin-RevId: 189678732
* Automated rollback of commit e6af9f9178e731a45e552b1d249ded90124945ba.Gravatar janakr2018-03-19
| | | | | | | | | | | | *** Reason for rollback *** See linked bug. *** Original change description *** Add behavior to NestedSetCodec to prevent it from running during testing. PiperOrigin-RevId: 189663863
* Add some testing methods to get ConfiguredTargetAndData more easily, and ↵Gravatar janakr2018-03-19
| | | | | | rename some methods that were still called ConfiguredTargetAndTarget. Move some tests over to using ConfiguredTargetAndData instead of calling ConfiguredTarget#getConfiguration() directly. PiperOrigin-RevId: 189642264
* Make "legacy globber" threads daemon.Gravatar carmi2018-03-19
| | | | | | | This allows an executable that uses PackageFactory (e.g., through PackageLoader) to exit immediately once it's done without waiting for these threads to finish. RELNOTES: None PiperOrigin-RevId: 189634305
* Expose the j2objc configuration fragment, with field dead_code_report, ↵Gravatar cparsons2018-03-19
| | | | | | | matching build flag --j2objc_dead_code_report. RELNOTES: The 'j2objc' configuration fragment is exposed to Skylark. PiperOrigin-RevId: 189630012
* RELNOTES[INC]: Remove //tools/defaults:android_jar. Use ↵Gravatar ajmichael2018-03-19
| | | | | | | | | | @bazel_tools//tools/android:android_jar instead. Bazel 0.11 release notes mentioned deprecating //tools/android:android_jar, and Bazel 0.12 has already been cut. So I think Bazel 0.13 is a reasonable time to remove it. Also, delete the machines for configuration fragments adding rules (not labels) to the //tools/defaults package. //tools/defaults:android_jar was the only user. PiperOrigin-RevId: 189628217
* Add behavior to NestedSetCodec to prevent it from running during testing.Gravatar cpeyser2018-03-19
| | | | PiperOrigin-RevId: 189602622
* Replace =0/=1 with =False/=True in documentation.Gravatar lberki2018-03-19
| | | | | RELNOTES: None. PiperOrigin-RevId: 189568573
* @AutoCodec TemplateExpansionAction. Have to make some anonymous classes ↵Gravatar janakr2018-03-17
| | | | | | concrete. PiperOrigin-RevId: 189467877
* @AutoCodec WriteZipControlFileAction (and ImmutableIterable).Gravatar janakr2018-03-16
| | | | | | Since autocodec library is now a dependency of lib/collect, properly annotate ImmutableSharedKeyMap to boot. PiperOrigin-RevId: 189432552
* Automated rollback of commit 48e205a19bed1cccaa51c7bbfbef6c2fbe47e3de.Gravatar ruperts2018-03-16
| | | | | | | | | | | | | | *** Reason for rollback *** Testing if rollback fixes http://b/75307752, http://b/75309658, and http://b/75312426 *** Original change description *** Modify the Java rules to take in JavaInfo instead of JavaCompilationArgsProvider and JavaPluginInfoProvider. This change facilitates the interaction of Java native and Java Skylark code, avoiding code duplication in the future. PiperOrigin-RevId: 189424668
* Add unit tests for ↵Gravatar janakr2018-03-16
| | | | | | https://github.com/bazelbuild/bazel/commit/f304d2be2e8c26bd85434f1d6ca036f380162fb9 (oops). Also don't use concrete build() methods: there must be an abstract one, and crash explicitly if we don't have a Builder class, rather than with an NPE down the line. And remove non-functional partial handling of iterables. PiperOrigin-RevId: 189422625
* @AutoCodec some expressions that show up in Java configured targets.Gravatar janakr2018-03-16
| | | | PiperOrigin-RevId: 189419493
* Adds codecs for more list variants.Gravatar shahan2018-03-16
| | | | PiperOrigin-RevId: 189417853
* Add @AutoCodec strategy for @AutoValue.Builder.Gravatar janakr2018-03-16
| | | | | | Still missing a lot of features (most notably the ability to construct an iterable element by element), but this is ok for now. PiperOrigin-RevId: 189410898
* Deletes list marshaller and makes map entry marshaller into a runtime codec.Gravatar shahan2018-03-16
| | | | PiperOrigin-RevId: 189390024
* PiperOrigin-RevId: 189372237Gravatar Googler2018-03-16
|
* Propagating remote results, including stdout/err, to Bazel on execution ↵Gravatar olaola2018-03-16
| | | | | | | | | timeouts. The refactoring to have an Exception that contains partial results will also be used in the next CL, in order to propagate and save remote server logs. RELNOTES: None PiperOrigin-RevId: 189344465
* Pass all TreeArtifacts to the ParameterWriteFileAction so they're expanded ↵Gravatar Googler2018-03-16
| | | | | | | | | | | by the time the action runs. Tested: custom_blaze build experimental/users/kmensah/cc_proto_library:libnon_android_example.so --config android_x86 -s RELNOTES: Properly handle tree artifacts on the link command line coming from a cc_library dependency. PiperOrigin-RevId: 189344192
* Refactor DependencyResolver#dependentNodeMap to take in a set of toolchain ↵Gravatar juliexxia2018-03-16
| | | | | | labels instead of the entire toolchain context since that's all the dependency resolver really needs. This will help make cquery transitions outputter easier to implement. PiperOrigin-RevId: 189342812
* Makes leaf level AutoCodec marshallers into runtime codecs.Gravatar shahan2018-03-15
| | | | | | Next change will convert containers. PiperOrigin-RevId: 189261293
* Begins cleanup to allow ActionFS to be injected into all action executions.Gravatar shahan2018-03-15
| | | | PiperOrigin-RevId: 189244665
* Remove unnecessary @VisibleForTestingGravatar michajlo2018-03-15
| | | | | | I imagine it was used at some point, can't find any usages now. PiperOrigin-RevId: 189226615
* Allow optimization related features to be ignored when unsupported as ↵Gravatar Googler2018-03-15
| | | | | | opposed to reporting errors PiperOrigin-RevId: 189201637
* Suppress ThinLTO indexing for linkstatic library in testsGravatar Googler2018-03-15
| | | | | | | | | | This extends the scalability fix in https://github.com/bazelbuild/bazel/commit/8c5e290dfab3cab378a9ca107ecdd6267403cd4b to apply to statically linked libraries linked into dynamically linked tests. Otherwise we are still getting the O(N*M) LTO backend job behavior for those libraries when invoking ThinLTO on many targets. RELNOTES: None PiperOrigin-RevId: 189200150
* Adds 'timeout' to the table describing test size and a table for the timeoutGravatar ahumesky2018-03-15
| | | | | | | names to time. RELNOTES: None. PiperOrigin-RevId: 189198230
* Optimize GC churn due to PackageFunction#getContainingDirectory. While I'm ↵Gravatar nharmata2018-03-15
| | | | | | | | | here, also slightly restructure the code in #handleLabelsCrossingSubpackagesAndPropagateInconsistentFilesystemExceptions to make it more readable (and defer PackageIdentifier allocations). Alternatives considered: Add a PathFragment#getParentDirectoryOfRelative(String other) instance method, and use it in PackageFunction#getContainingDirectory. I thought the approach in this CL would be preferable to adding a specialized method like that to PathFragment. RELNOTES: None PiperOrigin-RevId: 189197855
* Modify CTQEnvironment and associated files to handle AliasConfiguredTargets. ↵Gravatar juliexxia2018-03-15
| | | | | | Always handle AliasConfiguredTargets as separate nodes from their "actual" value. This is helpful in understanding certain query results e.g. somepath. PiperOrigin-RevId: 189196863
* Conditionally set the default crosstool based on the major revision by ↵Gravatar jingwen2018-03-15
| | | | | | | | | | | binding //external:android/crosstool to an alias in the NDK BUILD file. This does not change existing behavior until r17 support is released. https://github.com/bazelbuild/bazel/issues/4742 RELNOTES: None. PiperOrigin-RevId: 189195669
* Include object exec path in LTO Backend progress messageGravatar Googler2018-03-15
| | | | | | | | | | With only the filename the LTO Backend objects are hard to distinguish (i.e. many files will share the same base filename, but have different paths. Additionally, this change causes the target specific ".lto" or "shared.nonlto" subdirectory to be included, which is useful for analysis. RELNOTES: None PiperOrigin-RevId: 189194070
* Simplify ClientEnvironmentValue invalidation.Gravatar Benjamin Peterson2018-03-15
| | | | | | | Unconditionally inject the new values, and let skyframe change pruning avoid over-invalidation. Change-Id: I3f478ea756121bde1078e9e79ddcfbeb54951cbb PiperOrigin-RevId: 189156698
* Splits the iterableMarshaller into runtime codecs.Gravatar shahan2018-03-14
| | | | | | Makes NestedSetCodec into a runtime codec instead of a Marshaller. PiperOrigin-RevId: 189110883
* Dedupes aspects in BuildViewGravatar Googler2018-03-14
| | | | | | | This change ensures that there is no duplicate aspect in AnalysisResult. RELNOTES: None PiperOrigin-RevId: 189086095
* Bazel: add ar_files/as_files to cc_toolchain targetsGravatar Googler2018-03-14
| | | | | | | | These are mostly tests. This is a step toward making the ar_files/as_files attributes mandatory. RELNOTES: None. PiperOrigin-RevId: 189052327
* Modify the Java rules to take in JavaInfoGravatar elenairina2018-03-14
| | | | | | instead of JavaCompilationArgsProvider and JavaPluginInfoProvider. This change facilitates the interaction of Java native and Java Skylark code, avoiding code duplication in the future. PiperOrigin-RevId: 189011873
* Allow BazelPackageLoader to load external repositories.Gravatar carmi2018-03-13
| | | | | | | | | Also, disallow BazelPackageLoader from fetching missing external repos. Integration tests for BazelPackageLoader wrt external repos will be left for a follow-up CL. RELNOTES: None. PiperOrigin-RevId: 188967694
* Delete some unused code.Gravatar ajmichael2018-03-13
| | | | | RELNOTES: None PiperOrigin-RevId: 188937449
* Tags some more non-serializable classes (for serialization).Gravatar shahan2018-03-13
| | | | PiperOrigin-RevId: 188930446
* Integrate memoization into standard serialization. This involves a number of ↵Gravatar janakr2018-03-13
| | | | | | | | | | | | | | | | large changes: 1. SerializationContext and DeserializationContext become the owners of the Memoizer if requested. They produce new versions of themselves on demand that are memoization-aware. Because of intricacies of Skylark that I do not fully understand, we inject a Mutability object when starting memoization, and so to be conservative, that injection starts up a new memoization frame, nested if we were already memoizing, just like before. It would be nice to decouple this injection from memoization in the future. 2. MemoizingCodec is deleted, but really ObjectCodec becomes MemoizingCodec, so it lives on. BaseCodec is deleted since it now has only one implementation. 3. The simplified model of registering MemoizingCodecs is adopted for ObjectCodecs: all codecs are registered based on their #getEncodedClass and #additionalEncodedSubclasses. This also allows us to register codecs that are defined using tricky parameter types, since we're no longer trying to reflectively examine them. This required a clean-up of such codecs, and the addition of ArrayListCodec to stop NullableListCodec from making lists unmodifiable when they shouldn't be. 4. @AutoCodec is extended to allow users to specify that memoization should start with this codec. To ensure bit-equivalence, SkyKeySerializer disables memoization. PiperOrigin-RevId: 188918251
* Integrate import_deps_checker into aar_import.Gravatar cnsun2018-03-13
| | | | | RELNOTES: Enable dependency checking for aar_import targets. PiperOrigin-RevId: 188912126
* Remove documentation regarding keystore name and password.Gravatar ajmichael2018-03-13
| | | | | RELNOTES: None PiperOrigin-RevId: 188895880
* Add a helper method for checking whether toolchain resolution is enabled for ↵Gravatar John Cater2018-03-13
| | | | | | | | | a toolchain type. Closes #4832. Change-Id: Ia4fce6dd7003dc441f81ea7ca65ce865ca222142 PiperOrigin-RevId: 188882041
* PiperOrigin-RevId: 188862123Gravatar lpino2018-03-13
|
* Make DeployArchiveBuilder fetch the C++ toolchain identifier throughGravatar lberki2018-03-13
| | | | | | | | | CcToolchainProvider instead of BuildConfiguration. This is a step towards removing BuildConfiguration#getPlatformName(). RELNOTES: None. PiperOrigin-RevId: 188862029
* tests: add TimestampGranularityUtilsGravatar laszlocsomor2018-03-13
| | | | | | | | | | | | | | Add a new test utility class TimestampGranularityUtils which offers methods to wait for the filesystem timestamp granularity to pass. Such waiting is necessary if a test asserts changes in a file's mtime or ctime. This is a follow-up to comments on https://github.com/bazelbuild/bazel/commit/a31e035fb42aa8db9fd248ef2ebd665a411053b8. PiperOrigin-RevId: 188847729
* Fix toolchain and execution platform registration to use patterns.Gravatar John Cater2018-03-12
| | | | | | | | This allows more flexibility in registering toolchains and execution platforms, both in the WORKSPACE and from the command-line. Change-Id: I6fe75507d1a74de74085b7c927fdf093c152b894 PiperOrigin-RevId: 188813688
* Add mostly-ide-generated hashCode for RootedPathGravatar michajlo2018-03-12
| | | | | | | Removed null-checks since not expecting null. RootedPath's hashCode is called enough that it's worth optimizing. PiperOrigin-RevId: 188801280
* Tag Attribute, SkylarkDefinedAspect and some other Skylark classes withGravatar mjhalupka2018-03-12
| | | | | | | | | @AutoCodec. Remove Environment from SkylarkDefinedAspect. Add a note to BuiltInFunction that we shouldn't need to serialize it because all instances should be constant. PiperOrigin-RevId: 188763259