aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
Commit message (Collapse)AuthorAge
* Add FileSystem#createDirectoryAndParents.Gravatar tomlu2017-12-21
| | | | | | | | A native implementation of this (instead of using FileSystemUtils, which can only use public interfaces) should be more efficient and more easy to make correct. In particular, it should allow removing FileSystemUtils#createDirectoriesAndParents, which has poor thread safety characteristics. The latter method has a lot of logic that forces certain unnatural atomicity guarantees on createDirectory, and it also has logic that is conditional on sub-string content of exception messages. PiperOrigin-RevId: 179819623
* Refactor WalkableGraph and BuildDriver interfacesGravatar Googler2017-12-21
| | | | | | | | Remove WalkableGraph#isUpToDate and BuildDriver#alreadyEvaluated and delegate the work to implementation. RELNOTES: None PiperOrigin-RevId: 179815374
* Use more robust check for bitcode inputs to linkGravatar Googler2017-12-21
| | | | | | | | | | | | The current checks used in several places for whether an LTO indexing step is needed only looked for direct LTO bitcode inputs. Instead we should use the existing hasLtoBitcodeInputs() method to look both at the direct inputs as well as inputs on all LibraryToLink. This was already used in similar checking on the CppBinary. With this change, all places that test for needing an LTO indexing step use the correct interface. RELNOTES: None PiperOrigin-RevId: 179812972
* Fix the attr documentationGravatar vladmos2017-12-21
| | | | | | | | The documentation refers the `executable` attribute that doesn't exist for `attr.label_list` or `attr.label_keyed_string_dict`. Also it doesn't explain what the available options for `cfg` mean. PiperOrigin-RevId: 179807288
* Refactor SkylarkProvider constructors and add testsGravatar brandjon2017-12-21
| | | | | | | A new constructor is exposed for building an already-exported SkylarkProvider. The existing constructor no longer takes a name argument (since it was almost entirely ignored). The contract around the name arg for BaseFunction has been refined: it is null if the subclass provides its own naming mechanism. RELNOTES: None PiperOrigin-RevId: 179804491
* Remove xcode_toolchain flagGravatar dmishe2017-12-21
| | | | PiperOrigin-RevId: 179785531
* Automated rollback of commit 56ef727987c05df2953a4a53935b4f9b899f9d81.Gravatar dannark2017-12-20
| | | | | | | | | | | | | | *** Reason for rollback *** Breaks guitar tests *** Original change description *** Allow --javabase to accept java_runtime (not just java_runtime_suite) Fixes bazelbuild/bazel#3407 PiperOrigin-RevId: 179771492
* Move compulsory ProcessWrapperUtil parameters into its builder() method, to ↵Gravatar ruperts2017-12-20
| | | | | | | be consistent with LinuxSandboxUtil. RELNOTES: None. PiperOrigin-RevId: 179758847
* Enable syscall cache and eager sub-directory globbing in AbstractPackageLoader.Gravatar carmi2017-12-20
| | | | | RELNOTES: None PiperOrigin-RevId: 179757650
* Remove ConfigurationTransition.HOST references from lib.packages.Gravatar gregce2017-12-20
| | | | | | | | | | | | | | | | | | | | This removes the main barrier to making host transitions routine patch transitions. Today you signify a host transition by calling Attribute.Builder.cfg(ConfigurationTransition.HOST). Blaze's configuration machinery auto-converts this to HostTransition.INSTANCE, which is a patch transition. This change provides the groundwork for removing ConfigurationTransition.HOST and removing the special conversion logic. This also paves the way for better API support for multiple host configurations. Also change some cfg(HOST) rule references to cfg(HostTransition.INSTANCE). PiperOrigin-RevId: 179754619
* Remove legacy_native_support attribute.Gravatar ajmichael2017-12-20
| | | | | | | | This has been a no-op for a while. RELNOTES[INC]: android_* rules no longer support legacy_native_support attribute. PiperOrigin-RevId: 179749745
* Correct typos found by the linter.Gravatar gregce2017-12-20
| | | | PiperOrigin-RevId: 179748374
* Expose ObjcProtoAspect to Skylark.Gravatar cparsons2017-12-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 179737025
* Inline JavaToolchainData into JavaToolchainProviderGravatar cushon2017-12-20
| | | | PiperOrigin-RevId: 179735701
* Allow --javabase to accept java_runtime (not just java_runtime_suite)Gravatar cushon2017-12-20
| | | | | | Fixes bazelbuild/bazel#3407 PiperOrigin-RevId: 179735489
* Doccomment missing space.Gravatar Nathan Herring2017-12-20
| | | | | | Closes #4326. PiperOrigin-RevId: 179734266
* Make BuildConfigurationValue.Key a SkyKey. For now, it would be nice to put ↵Gravatar janakr2017-12-20
| | | | | | it inside ConfiguredTargetKey instead of having a BuildConfiguration there, so it's going to be more widely used. PiperOrigin-RevId: 179734211
* Default to not allowing the Android 'resources' attributeGravatar Googler2017-12-20
| | | | | RELNOTES: none PiperOrigin-RevId: 179733057
* remote: fix download of output directoriesGravatar buchgr2017-12-20
| | | | | | | | Fix a bug where Bazel would crash if two Directory protos had the same hash. RELNOTES: Remote Caching and Execution support output directories. PiperOrigin-RevId: 179731040
* Get rid of LabelAndConfiguration class: ConfiguredTargetKey contains the ↵Gravatar janakr2017-12-20
| | | | | | same information and is more useful, since it's practically a SkyKey. PiperOrigin-RevId: 179727105
* Remove references to some internal tooling.Gravatar ajmichael2017-12-20
| | | | | RELNOTES: None PiperOrigin-RevId: 179722149
* Use linux-sandbox via the (new) LinuxSandboxUtil. (second attempt).Gravatar ruperts2017-12-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 179705357
* remote: rename auth flags.Gravatar Jakob Buchgraber2017-12-20
| | | | | | | | | | | | | | | | | | | | | | --auth_* flags only work with Google Cloud Authentication. That's confusing and restricts the naming of more general purpose authentication flags that we might want to add in the future. So instead of --auth_* let's call them --google_* (the old ones will continue working for a while). Also, --auth_enabled (aka --google_default_credentials) is no longer required when specifying --auth_credentials (aka --google_credentials). So now there's two simple ways to authenticate with Google Cloud: * bazel build --google_default_credentials * bazel build --google_credentials=creds.json RELNOTES: --auth_* flags were renamed to --google_* flags. The old names will continue to work for this release but will be removed in the next release. Change-Id: Ia1736f32e15a37995be3172cd9608d518ddeab44 PiperOrigin-RevId: 179700832
* Adjusts the filegroups generated for the Android NDK crosstool to correctlyGravatar ahumesky2017-12-20
| | | | | | | include certain toolchain binaries. RELNOTES: None. PiperOrigin-RevId: 179694510
* Change the definition of genrule to require a c++ toolchain.Gravatar cpeyser2017-12-20
| | | | | | This will allow a genrule implementation to make checks against the c++ target platform. PiperOrigin-RevId: 179692246
* remote: add directory support for remote caching and executionGravatar Hadrien Chauvin2017-12-20
| | | | | | Add support for directory trees as artifacts. Closes #4011. PiperOrigin-RevId: 179691001
* Support for ThinLTO to be enabled implicitly with AFDOGravatar Googler2017-12-20
| | | | | | | Allows for ThinLTO to be enabled once the --features=autofdo_implicit_thinlto feature is enabled in the crosstool. Also allows for --features=-thin_lto to override and prevent ThinLTO from being enabled. RELNOTES: None. PiperOrigin-RevId: 179687743
* Remove CppConfiguration#supportsFission and #useFission. To do this, we:Gravatar cpeyser2017-12-20
| | | | | | | | | | | | (1) Remove configuration-level warnings arising from fission. (2) Move the setting of the "per_object_debug_info" feature from the configuration to FeatureConfiguration construction in the analysis phase. (3) Access the c++ toolchain in java_binary to decide on stripping. In order to migrate the c++ rules to platform-based toolchain resolution, we must remove all toolchain information from CppConfiguration. PiperOrigin-RevId: 179682420
* Automated rollback of commit 52b62164af031c50b7a0584303caad67af5e1d4d.Gravatar aehlig2017-12-20
| | | | | | | | | | | | | *** Reason for rollback *** Breaks //src/test/shell/bazel:bazel_sandboxing_test *** Original change description *** Use linux-sandbox via the (new) LinuxSandboxUtil. RELNOTES: None. PiperOrigin-RevId: 179676894
* Aspects-on-aspect see and propagate over aspect attributes.Gravatar dslomov2017-12-20
| | | | | | | | | | | If an aspect is applied to a rule+aspect node, all attributes are merged into ctx.rule.attr collection, and the first one with the same name wins (in particular, rule attribute will always win over aspect attribute). This is backwards-compatible, and unlikely to cause problems in practice. RELNOTES: Aspects-on-aspect see and propagate over aspect attributes. PiperOrigin-RevId: 179675660
* remote: delete dead codeGravatar Jakob Buchgraber2017-12-20
| | | | | Change-Id: Iacbba3eced0abc0dcfd7311a0f07da48cbaba6e4 PiperOrigin-RevId: 179664071
* Use linux-sandbox via the (new) LinuxSandboxUtil.Gravatar ruperts2017-12-20
| | | | | RELNOTES: None. PiperOrigin-RevId: 179646155
* @AutoCodec features.Gravatar Googler2017-12-20
| | | | | | | * Adds PUBLIC_FIELDS strategy, which can be used to generate codecs for FragmentOptions. * Support for boolean, enum, Void, String and List types. PiperOrigin-RevId: 179636138
* Add java_toolchain definitions that work with JDK 8 and 9 host_javabasesGravatar cushon2017-12-19
| | | | | | | And inject the correct toolchain for the current host_javabase into tools.WORKSPACE. PiperOrigin-RevId: 179618337
* Move java and android skylark constants into the correct rulesets.Gravatar ajmichael2017-12-19
| | | | | RELNOTES: None PiperOrigin-RevId: 179609932
* Expose --android_sdk to skylark as a configuration field.Gravatar ajmichael2017-12-19
| | | | | | | This is necessary for the Skylark migration of the Android rules. RELNOTES: None PiperOrigin-RevId: 179609332
* Attempt #4 Adds FakeAutoCodecProcessor to bazel-distfile.Gravatar Shahan Yang2017-12-19
| | | | | Change-Id: Ie8dd0aa0ed6234fc3fd2e337fd50f9f7d5c7d2c1 PiperOrigin-RevId: 179607524
* Automated rollback of commit 2f10da0db062e023b1f0f8222f8545467b29ae4e.Gravatar schmitt2017-12-19
| | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks skylark rules using $ in action cmd line. *** Original change description *** Change CommandHelper to use TemplateExpander directly This is a partial rollback of https://github.com/bazelbuild/bazel/commit/e8d32b7c922f65539b74357711d5ad6b70934115, only the CommandHelper change. Progress on #2475. PiperOrigin-RevId: 179607027
* Replace java_plugin_configuration with java_package_configurationGravatar cushon2017-12-19
| | | | | | | | | java_toolchain.plugin_configuration creates cycles in the unconfigured target graph. Instead, use the same per-package configuration approach to allow enabling javacopts, which can be used to enable built-in checks on a per-package basis. PiperOrigin-RevId: 179598500
* Have the RemoteSpawnRunner use the execution platform present in the Spawn ↵Gravatar John Cater2017-12-19
| | | | | | | | | to get the remote execution properties. Fixes #4128. Change-Id: I7e71caef2465204d2dd8225448d54e52366807e6 PiperOrigin-RevId: 179595126
* Initial java_toolchain Java 9 readinessGravatar cushon2017-12-19
| | | | | | | | | | | | | Add a generic java_toolchain.javacopts attribute, and make some attributes that aren't needed for Java 9 optional (source_version, target_version, bootclasspath, extclasspath). In hindsight there aren't any real advantages to baking details of javac flags into java_toolchain except for the ones that deal with search paths (classpath etc.). Using a more general javacopts attribute will avoid churn in the future as the javac API changes. This is pre-work for supporting e.g. --release. PiperOrigin-RevId: 179590640
* Makes PathFragment have internal CODEC definition.Gravatar Googler2017-12-19
| | | | PiperOrigin-RevId: 179588512
* Remove wrapper options support.Gravatar ccalvarin2017-12-19
| | | | | RELNOTES: None. PiperOrigin-RevId: 179588174
* Retire some pre-skylark machinery for accessing the contents of java_toolchainGravatar cushon2017-12-19
| | | | | | and replace the only use with java_common.default_javac_opts. PiperOrigin-RevId: 179571481
* Ensure that the target package in the <instrumentation> tag of the ↵Gravatar jingwen2017-12-19
| | | | | | | | | | | | instrumentation android_binary's AndroidManifest.xml references the correct package name of the instrumented android_binary. During an instrumentation test, ART will use the targetPackage specified in the instrumentation APK's AndroidManifest to determine the application to be instrumented. We can perform this check in Bazel at execution time, before the apps are loaded onto the device. See android_instrumentation_test_integration_test.sh for the e2e example. GITHUB: https://github.com/bazelbuild/bazel/issues/903 RELNOTES: None. PiperOrigin-RevId: 179564246
* Add convenience method for wrapping SerializationExceptionGravatar brandjon2017-12-19
| | | | | RELNOTES: None PiperOrigin-RevId: 179557378
* look for the prelude in each repository (fixes #1673)Gravatar Kevin Gessner2017-12-19
| | | | | | | | | | Instead of every package using the root repository's prelude, it is resolved in each repository for the packages in that repository. There weren't any tests using the prelude at all, so these are better than nothing. I wrote them as bash integration tests instead of Java tests because I couldn't get the prelude to work at all with `BuildViewTestCase` -- I'd be happy to share the busted test I wrote if someone would like to help debug it. Closes #3991. PiperOrigin-RevId: 179557018
* Fix links to Build EncyclopediaGravatar vladmos2017-12-19
| | | | PiperOrigin-RevId: 179556225
* Move CppConfiguration#getCompilerFlags and #getCxxFlags to CcToolchainProvider.Gravatar cpeyser2017-12-19
| | | | | | This is required to migrate the c++ rules to use platform based toolchain selection. PiperOrigin-RevId: 179552579
* Automated rollback of commit 82e68b75304438c96ff878a0c2b8d18b42002486.Gravatar aehlig2017-12-19
| | | | | | | | | | | | | | Fixes #4322, #4306. *** Reason for rollback *** Introduces a deadlock (see https://github.com/bazelbuild/bazel/issues/4322) *** Original change description *** Make FileSystem operate on LocalPath instead of Path. PiperOrigin-RevId: 179549866