aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
Commit message (Collapse)AuthorAge
* Convert ActionLookupKey implementations to directly implement SkyKey, ↵Gravatar janakr2018-01-11
| | | | | | removing the layer of indirection of getting SkyKey out of ActionLookupKey, which uses more memory for no reason. PiperOrigin-RevId: 181658615
* Remove unused code from AndroidIdeInfoProvider.Gravatar tomlu2018-01-11
| | | | PiperOrigin-RevId: 181657963
* Move custom err msg functionality from Info to SkylarkInfoGravatar brandjon2018-01-11
| | | | | | | Info objects no longer store a string pointer for their error message format, which is almost always the same as the one specified by their provider type. Only map-based SkylarkInfo used this (for fancy built-in structs like ctx.attr), so the field is pushed down to there. RELNOTES: None PiperOrigin-RevId: 181654641
* Final cleanup of android_resourcesGravatar Googler2018-01-11
| | | | | RELNOTES: none PiperOrigin-RevId: 181653922
* Remove BuildConfigurationValue#Key#enableActions field. Saves 8 bytes of ↵Gravatar janakr2018-01-11
| | | | | | memory and some work: BuildOptions#equals and #hashCode already take that value into account, so pulling it out does nothing but slow us down during Key construction. PiperOrigin-RevId: 181645301
* Remove some trivally unneeded usages of FileSystem#getRootDirectory.Gravatar tomlu2018-01-11
| | | | | | Windows doesn't have a root directory, so this abstraction doesn't make sense and should be removed. PiperOrigin-RevId: 181638749
* Use Path#createDirectoryAndParents in SkylarkRepositoryContext.Gravatar tomlu2018-01-11
| | | | PiperOrigin-RevId: 181638689
* Remove use of Path#isRootDirectory from BlazeDirectories.Gravatar tomlu2018-01-11
| | | | | | It was put there to support "/" as the workspace. Checking for a null parent will do the same thing. PiperOrigin-RevId: 181638375
* Adds a CODECs for Package and PackageValue.Gravatar shahan2018-01-11
| | | | PiperOrigin-RevId: 181624201
* Refactor SkylarkInfo constructorsGravatar brandjon2018-01-11
| | | | | | | | | - Info now has one protected constructor. (Would've preferred the builder pattern, but inheritance makes it much more verbose.) - Direct SkylarkInfo subclass access is replaced by factory methods and an isCompact() accessor. - Added/simplified tests RELNOTES: None PiperOrigin-RevId: 181616757
* Automated rollback of commit c166cd99ce9f72eed522e78d63c93ff410b6dc18.Gravatar plf2018-01-11
| | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** This was missing adding LTO files in the cc_embed_data rule. Fixed and added test. *** Original change description *** Automated rollback of commit 67330ad52391ad6562d439f77cc5133a0ea4247d. *** Reason for rollback *** Breaks nightly: b/71790513 *** Original change description *** C++ refactoring: Separate compilation and linking calls to CcLibraryHelper RELNOTES:none PiperOrigin-RevId: 181613477
* sandbox: add env[TMPDIR] instead of `tmpDir`Gravatar Laszlo Csomor2018-01-11
| | | | | | | | | | | | | | | | Bazel now adds env[TMPDIR] to the set of sandbox-writable paths, instead of adding the caller-defined `tmpDir` as it used to. Since every caller of getWritableDirs passes the LocalEnvProvider-processed environment to getWritableDirs, and because all such callers use either PosixLocalEnvProvider or XCodeLocalEnvProvider, we can be sure that the environment has an entry for TMPDIR. Change-Id: Ia89544a009e56d9cc922ab56823d16d20465545e PiperOrigin-RevId: 181595606
* Minor cleanup: move all code from JavaConfigurationLoader to the ctor of ↵Gravatar lberki2018-01-11
| | | | | | | JavaConfiguration. RELNOTES: None. PiperOrigin-RevId: 181593727
* sandbox: properly add `tmpDir` to `writablePaths`Gravatar Laszlo Csomor2018-01-11
| | | | | | | | | | | | | | | When Bazel creates the sandbox for an action, Bazel collects a set of paths that the action may write to. The action needs write access to its temp directory, so Bazel needs to add it to the writable paths. See https://github.com/bazelbuild/bazel/issues/4376 Change-Id: Ifd3c482aa67ff8a2070045356abad8b39c808db8 PiperOrigin-RevId: 181591520
* BuildEventStreamer: ingore noop-flush()sGravatar Klaus Aehlig2018-01-11
| | | | | | | | | | | | The BuildEventStreamer supports a method flush() to report any pending stdout/stderr in the BEP; in particular, all internal buffers of for those streams are cleared (and the memory can be reclaimed). If there are no pending bytes in those streams, however, there is no need to generate an additional progress event to get rid of the buffered stream contents. Make flush() a no-op in this case. Change-Id: Ia8cf8733fdeaf4d1a50488736d2637862e7cb4f5 PiperOrigin-RevId: 181590982
* Fold the Jvm configuration fragment into JavaConfiguration.Gravatar lberki2018-01-11
| | | | | RELNOTES: None. PiperOrigin-RevId: 181579365
* Remove the unused --[no]experimental_disable_jvm command line option.Gravatar lberki2018-01-11
| | | | | | RELNOTES: The --[no]experimental_disable_jvm command line option is not supported anymore. PiperOrigin-RevId: 181575259
* BEP: make stdout/stderr buffering configurableGravatar Klaus Aehlig2018-01-11
| | | | | | | | | | For different applications, different size of buffered stdout/stderr might be acceptable; essentially it is a trade off between latency and number of messages generated. Put this trade off into the control of the user by adding an appropriate flag. Change-Id: I8fb4d19a336205fa28d01340f2f0b2be9b4a24f3 PiperOrigin-RevId: 181570242
* Have the RemoteSpawnRunner use the execution platform present in the Spawn ↵Gravatar John Cater2018-01-10
| | | | | | | | | | | to get the remote execution properties. Fixes #4128. This reverts commit 3ce42ef3074ee6d3ac7d9968381c8c0a51d9d38d. Change-Id: I8b9ad5099f6334c2488a22baf05d0b273e10f776 PiperOrigin-RevId: 181550828
* Codec for BuildConfigurationValue.Gravatar shahan2018-01-10
| | | | PiperOrigin-RevId: 181545835
* AutoCodec proto marshaller bug fix and support for mutable Map.Gravatar shahan2018-01-10
| | | | PiperOrigin-RevId: 181533491
* AutoCodec's constructor strategy recognizes fields in a (transitive)Gravatar cpeyser2018-01-10
| | | | | | superclass of the class in question. PiperOrigin-RevId: 181524469
* Remove synchronization from InMemoryNodeEntry#getValue{,MaybeWithMetadata} ↵Gravatar janakr2018-01-10
| | | | | | and #toValue. I saw significant contention from this method in some experiments, and the synchronization isn't needed, since we only call these methods on done nodes (as determined by #isDone), and a node that is observably done cannot racily change its value. PiperOrigin-RevId: 181507133
* Produce data binding file from compile action when "enable_data_binding" ↵Gravatar Googler2018-01-10
| | | | | | | attribute is on. RELNOTES: none PiperOrigin-RevId: 181503682
* Fix turbine command lines with empty javacoptsGravatar cushon2018-01-10
| | | | | | See #4422 PiperOrigin-RevId: 181497117
* Use an annotation preprocessor to validate SkylarkConfigurationField.Gravatar cparsons2018-01-10
| | | | | | | | This is a rollforward -- the previous attempt was rolled back due to incorrectly adding test sources. In addition, the newly checked in tests do not work on Windows, and are thus disabled on the Windows platform. I suspect this is due to a bug in the compile-testing library. RELNOTES: None. PiperOrigin-RevId: 181482589
* Info-related cleanupsGravatar brandjon2018-01-10
| | | | | | | | | - Reorder Info methods for consistency with ClassObject - "StructConstructor" -> "StructProvider" - Added javadoc RELNOTES: None PiperOrigin-RevId: 181469643
* Genrules do not override c++ toolchain Make variables using the toolchains ↵Gravatar cpeyser2018-01-10
| | | | | | | | attribute. This fixes an issue where CC_FLAGS was being overwritten. PiperOrigin-RevId: 181463694
* Make fake link actions "work" with ThinLTO.Gravatar lberki2018-01-10
| | | | | RELNOTES: None. PiperOrigin-RevId: 181462949
* Automated rollback of commit 67330ad52391ad6562d439f77cc5133a0ea4247d.Gravatar plf2018-01-10
| | | | | | | | | | | | | *** Reason for rollback *** Breaks nightly: b/71790513 *** Original change description *** C++ refactoring: Separate compilation and linking calls to CcLibraryHelper RELNOTES:none PiperOrigin-RevId: 181457811
* Automated rollback of commit a705eaa9225ff8a03975c8cb49faa6b2899e398d.Gravatar plf2018-01-10
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Rolling back due to previous CL breaking nightly. *** Original change description *** Removes call to CcLibraryHelper.link() in cc_binary. This call is unnecessary when the sources of the cc_binary are being built as EXECUTABLE or DYNAMIC LIBRARY. The call doesn't do anything, no linking outputs are returned. RELNOTES:none PiperOrigin-RevId: 181457495
* Removes call to CcLibraryHelper.link() in cc_binary.Gravatar plf2018-01-10
| | | | | | | | | This call is unnecessary when the sources of the cc_binary are being built as EXECUTABLE or DYNAMIC LIBRARY. The call doesn't do anything, no linking outputs are returned. RELNOTES:none PiperOrigin-RevId: 181455622
* Remove ctx.fragments.jvm .Gravatar lberki2018-01-10
| | | | | | | | It contained no fields or any other information accessible from Skylark, so it's not a big loss. RELNOTES[INC]: ctx.fragments.jvm is not available anymore. PiperOrigin-RevId: 181455474
* Create function createJavaInfo with new API. Implement ↵Gravatar dbabkin2018-01-10
| | | | | | | | | | JavaCompilationArgsProvider. Added tests for checking JavaCompilationArgsProvider state. All other providers will be implemented in next CLs. RELNOTES:none PiperOrigin-RevId: 181451235
* BEP: add a separate id for visibility errorsGravatar Klaus Aehlig2018-01-10
| | | | | | | | | | A build might fail because of a visibility violation that does not happen at a top-level target. To avoid confusion, add a separate namespace for configured targets that are just mentioned to report the details of an error. Change-Id: I86587f7489500f1d888bae6ce3d6f4bd79ea1609 PiperOrigin-RevId: 181448003
* Adds a CODEC for CppConfiguration.Gravatar shahan2018-01-10
| | | | | | | * Creates an enum for cpu transformer, which is easier to serialize than an opaque function. This also means moving FakeCPU to avoid introducing a circular dependency. * Adds a CODEC to Path using InjectingObjectCodec. PiperOrigin-RevId: 181445911
* Remove package loading from JvmConfigurationLoader .Gravatar lberki2018-01-10
| | | | | | | | | | | | | This should not cause a user-visible change: --{host_,}javabase was already required to point to a java_runtime_suite / java_runtime rule, the only change is that we now enforce it differently. If anything, this makes Bazel more lenient in that it now accepts Skylark rules that provide JavaRuntimeInfo, but I doubt anyone does that, since it does not work at HEAD. RELNOTES: None. PiperOrigin-RevId: 181444563
* Adjust semantics of Metadata interface, remove isFile (use getType)Gravatar ulfjack2018-01-10
| | | | | | | | After some consideration, I think it makes sense to always allow a getDigest call, instead of specifying it as disallowed based on type. This is a follow-up CL for a previous CL introducing the getType method, which increased the complexity of the specification. I have a follow-up CL, which is related, namely unknown commit. After that CL, Metadata instances for directories (but not Filesets) also have digests rather than using mtime, which is compatible with the documentation changes made here. Said CL is solving a correctness issue with directory dependencies, which I think we want, and using the digest in the Metadata is a natural way to get correct action cache lookups. PiperOrigin-RevId: 181440548
* use built-in params file support in DexArchiveAspectGravatar kmb2018-01-09
| | | | | | RELNOTES: None. PiperOrigin-RevId: 181397098
* Automated rollback of commit 80c8ff1819a889814cbe2dae477d7fedce6aa181.Gravatar tomlu2018-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Rolling forward after underlying issue has been fixed. *** Original change description *** Automated rollback of commit d50cbbeef115f28c0cea1ac17572e0f12c0cf312. *** Reason for rollback *** b/71442447 *** Original change description *** Remove synchronization from file system. After the path refactor we will no longer have path instances to synchronize on. The underlying OS file systems are already naturally thread safe, that is, their internal data structures cannot be damaged. Any further synchronization (eg. races between directory creation and deletion) has to be managed at the client level. The l... *** PiperOrigin-RevId: 181368707
* Automated rollback of commit cb7689404ef9a69488d64bfc2e0bfb9326e664d6.Gravatar tomlu2018-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Rolling forward after the underlying issue has been fixed. *** Original change description *** Automated rollback of commit 6a54339bb943702bd7dffc43f85267dac98dc355. *** Reason for rollback *** b/71442447 *** Original change description *** Call through to Path#createDirectoryAndParents from FileUtils. This CL removes a method that due to its implementation causes threading difficulties for Path#createDirectory. The tests for the method are brought across to FileSystemTests since the methods are now implemented natively by the FileSystem classes. The tests were also cleaned up. The test revealed an edge c... *** PiperOrigin-RevId: 181367850
* Stop memoizing Label#hashCode()Gravatar michajlo2018-01-09
| | | | | | | | | | | | Both members of Label (String & PackageIdentifier) have memoized hash codes so this should be marginally more expensive but probably not noticably so. The benefit is it makes Label objects smaller in certain vm conditions. As to why things were the way they were, I believe this is from before PackageIdentifier memoized its hashCode. RELNOTES: None PiperOrigin-RevId: 181362077
* Refactor ObjcProvider to abide by Native Declared Provider best practices.Gravatar cparsons2018-01-09
| | | | | | | This has the effect of documenting exposed struct fields on the provider. RELNOTES: None. PiperOrigin-RevId: 181346052
* RELNOTES: Make PIC and non PIC outputs for C++ compilation with Tree ArtifactsGravatar Googler2018-01-09
| | | | PiperOrigin-RevId: 181330907
* sandbox: allow adding some non-existent pathsGravatar Laszlo Csomor2018-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | When Bazel creates the sandbox, it will allow making non-existent paths writable, as long as the path is under the sandbox root. As Bazel adds entries to the sandbox's set of writable paths, Bazel needs to make sure that it's not adding symlinks, because doing so would make the symlink writable, not what the link points to. If the path is under the sandbox root, then at the time of setting up the sandbox's writable paths the path surely doesn't exist yet, but that's OK, because at that time Bazel didn't yet create the sandbox root. If the path is not under the sandbox root, then Bazel needs to resolve all symlinks on this path, which is only possible if the path exists, therefore Bazel checks for the path's existence. Change-Id: Ic7d99a81905e7401455286c0b375d69b85ece1d5 PiperOrigin-RevId: 181325749
* Removes unnecessary check for LinkTargetType.EXECUTABLE.Gravatar plf2018-01-09
| | | | | | | | | | | The precondition check in line 1274 makes sure that it has Staticness.STATIC. EXECUTABLE has Staticness.DYNAMIC which precludes the checks from ever being executed. NO_SQ=Kokoro failing without giving an actual error. RELNOTES:none PiperOrigin-RevId: 181314900
* Expose the Java home to Skylark.Gravatar lberki2018-01-09
| | | | | RELNOTES: None. PiperOrigin-RevId: 181297029
* Cleanup: move some tests {ArtifactFunction,FileArtifactValue}TestGravatar ulfjack2018-01-09
| | | | | | | | These tests don't require a full Skyframe instance, so we might as well move them to a lighter-weight test class. Also, it turns out that we have duplicate tests for equality and hashing - this is now explicit. PiperOrigin-RevId: 181285144
* Fix android_binary.aapt_version docs referencing the wrong flagGravatar Googler2018-01-08
| | | | PiperOrigin-RevId: 181255541
* Expose apple_common.link_multi_arch_binary to Skylark.Gravatar cparsons2018-01-08
| | | | | | | | This API mimics the linking logic of apple_binary, and is a step to migrating apple_binary to skylark. This API is *highly experimental* and subject to change. RELNOTES: None. PiperOrigin-RevId: 181215275