aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
Commit message (Collapse)AuthorAge
* Set the execution platform on a new SpawnAction based on the RuleContext.Gravatar John Cater2017-12-18
| | | | | | | Part of #4128. Change-Id: Ic46d2db2017b6cf4c14a91653ab75b3381b80b5a PiperOrigin-RevId: 179426362
* Automatic formatting cleanup of Android *.java files.Gravatar jingwen2017-12-18
| | | | | RELNOTES: None. PiperOrigin-RevId: 179425421
* Remove only native caller of CppConfiguration#getTargetGnuSystemName. This isGravatar cpeyser2017-12-18
| | | | | | required to migrate the c++ rules onto platform-based toolchain resolution. PiperOrigin-RevId: 179422935
* Fix a documentation linkGravatar vladmos2017-12-18
| | | | PiperOrigin-RevId: 179416493
* Change CommandHelper to use TemplateExpander directlyGravatar ulfjack2017-12-18
| | | | | | | | This is a partial rollback of https://github.com/bazelbuild/bazel/commit/e8d32b7c922f65539b74357711d5ad6b70934115, only the CommandHelper change. Progress on #2475. PiperOrigin-RevId: 179413908
* remote: Add support for Google Cloud Storage.Gravatar Jakob Buchgraber2017-12-18
| | | | | | | | | | | | | | | | | | | | | | Add support for Google Cloud Storage (GCS) as a HTTP caching backend. This commit mainly adds the infrastructure necessary to authenticate to GCS. Using GCS as a caching backend works as follows: 1) Create a new GCS bucket. 2) Create a service account that can read and write to the GCS bucket and generate a JSON credentials file for it. 3) Invoke Bazel as follows: bazel build --remote_rest_cache=https://storage.googleapis.com/<bucket> --auth_enabled --auth_scope=https://www.googleapis.com/auth/devstorage.read_write --auth_credentials=</path/to/creds.json> I'll add simplification's and docs in a subsequent commit. Change-Id: Ie827d7946a2193b97ea7d9aa72eb15f09de2164d PiperOrigin-RevId: 179406380
* Preemptively add deps back for Objective-C compilation after it was removed inGravatar plf2017-12-18
| | | | | | | https://github.com/bazelbuild/bazel/commit/d6ac11dab81ec40e9adc717575904574c6c9dc48. RELNOTES:none PiperOrigin-RevId: 179401717
* Filter out generated databinding files from instrumentation APK.Gravatar ajmichael2017-12-15
| | | | | | | Note that this implies that databinding cannot be used on resources in the test apk. However, the resources in the test apk are already very weird - so I don't think this makes them much weirder. RELNOTES: None PiperOrigin-RevId: 179243983
* Optionally allow loaded packages to not be tracked.Gravatar janakr2017-12-15
| | | | | | If we are running with a single source root and not going to set up the execroot (since we know how to resolve all packages), we can avoid tracking loaded packages, since they're only used to set up the execroot. PiperOrigin-RevId: 179234932
* Don't suggest using bazel clean --async when it's unsupportedGravatar Akira Baruah2017-12-15
| | | | | | | Fixes #4176 (https://github.com/bazelbuild/bazel/issues/4176). Closes #4236. PiperOrigin-RevId: 179218605
* Fix the documentation formatting for SkylarkAttrGravatar vladmos2017-12-15
| | | | | | Make sure all sentences are capitalised and end with a point PiperOrigin-RevId: 179214070
* Clarify the documentation for File.dirnameGravatar vladmos2017-12-15
| | | | PiperOrigin-RevId: 179213789
* Remove source specific build variables from C++ API.Gravatar plf2017-12-15
| | | | | | | | | | | The only use case was for Objective-C rules so that different set of sources specified in the same rule could be compiled with either ARC or no ARC. To replace source specific build variables, we call into CcLibraryHelper twice for each set of sources. This has led to separating the building of compilation providers and outputs from those related to linking. In the case of Objective-C, the compilation outputs are merged and then passed to a single invocation of linking in CcLibraryHelper. In a later CL, the distinction between compilation and linking will be refined by separating them in different classes. RELNOTES:none PiperOrigin-RevId: 179167102
* Make FileSystem operate on LocalPath instead of Path.Gravatar tomlu2017-12-14
| | | | PiperOrigin-RevId: 179082062
* Rename --keep_incrementality_data to --track_incremental_state.Gravatar ccalvarin2017-12-14
| | | | | | | | | New name clears the namespace a 2nd flag that will wipe the build graph after the build. The old name would be confusing as it could easily apply to that, and so needs to be more specifically just about tracking state in the first place. The new flag can be clearly separate and about keeping state after the build. Partial roll forward of https://github.com/bazelbuild/bazel/commit/9321316b34767b06c3071b2cf2a4de189874fcce, with fixes to documentation that are still relevant. RELNOTES: Rename --keep_incrementality_data to --track_incremental_state PiperOrigin-RevId: 179078292
* Accept build IDs by flag. (Rollforward of ↵Gravatar ccalvarin2017-12-14
| | | | | | | | | | | | | https://github.com/bazelbuild/bazel/commit/c6b6dbadd0a93936c51154b25abc5fbba8f2d1af) We accepted these by environment variable largely because setting it via invocation policy would require changing invocation policy for each command, which had caused the Bazel server to restart, loosing incremental state. This is fixed: changing invocation policy no longer causes Bazel to restart its servers, so accept these as normal options. We will soon no longer accept these flags by environment variable, but will accept both for a transition period, so that nobody relying on these values is broken by a single release. To inform users of this environment variable, anyone setting the environment variable without the flag will receive a warning but the value will be kept. The following release will no longer accept an environment variable. Note on format: invocation_id we accept only clean UUIDs, but for build_request_id, to help differentiate otherwise undifferentiable id types, we accept arbitrary prefixes before the UUID. The user is responsible for picking prefixes that are sane. RELNOTES: None. PiperOrigin-RevId: 179063120
* Move msys path support into DependencySet, removing it from the general Path ↵Gravatar tomlu2017-12-14
| | | | | | | | system. This is the only place that should actually need it. PiperOrigin-RevId: 179054861
* Clarify types of `ctx.attr.<attr_name>` objects.Gravatar vladmos2017-12-14
| | | | PiperOrigin-RevId: 179053724
* Properly capitalize Build Event Protocol in Blaze output for consistency.Gravatar jingwen2017-12-14
| | | | | | | | | | | | | | | | | Before: ____Waiting for build event protocol upload: 0s ____Waiting for Build Event Protocol upload to finish. ____Build Event Protocol upload finished successfully. After: ____Waiting for Build Event Protocol upload: 0s ____Waiting for Build Event Protocol upload to finish. ____Build Event Protocol upload finished successfully. RELNOTES: None. PiperOrigin-RevId: 179049827
* Rename OutputGroupProvider -> OutputGroupInfo.Gravatar dslomov2017-12-14
| | | | | RELNOTES: None PiperOrigin-RevId: 179046403
* Automatic code cleanup.Gravatar Googler2017-12-14
| | | | PiperOrigin-RevId: 179042182
* Shell code cleanupGravatar Androbin2017-12-14
| | | | | | | | | | | | - Argument mixes string and array. Use * or separate argument. - Quote the grep pattern so the shell won't interpret it. - Use "${var:?}" to ensure this never expands to /* . - > is for string comparisons. Use -gt instead. - Quote the parameter to -name so the shell won't interpret it. Closes #4163. PiperOrigin-RevId: 179042046
* Fix light typo in java docs.Gravatar dbabkin2017-12-14
| | | | | RELNOTES:none PiperOrigin-RevId: 179028810
* Initial @AutoCodec implementation.Gravatar Googler2017-12-13
| | | | PiperOrigin-RevId: 178994972
* Perform ZipFilterAction on the instrumentation JAR using the target JAR as ↵Gravatar jingwen2017-12-13
| | | | | | | | | | filter. .class and R.class files are filtered out. During an instrumentation test, jars from both APKS will be loaded onto the same classloader by ART. To prevent runtime crashes due to duplicate classes, we strip the dupe class out from the instrumentation jar. GITHUB: #903 RELNOTES: None. PiperOrigin-RevId: 178983712
* Add check for $experimental_testsupport in isExperimentalJavaTest.Gravatar dannark2017-12-13
| | | | | | | | | This should be a no-op because because before testsupport is set (https://github.com/bazelbuild/bazel/blob/3d362fb9a122ceee6d781be127dfedbbff8051f8/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BazelJavaSemantics.java#L509), it's checking that main_class is pointing to the experimental testrunner. This is needed because android_local_test doesn't have a main_class attribute and then bazel breaks when it tries to get the main_class attribute. RELNOTES: None PiperOrigin-RevId: 178964286
* Add more links to examples in the documentation.Gravatar laurentlb2017-12-13
| | | | | RELNOTES: None. PiperOrigin-RevId: 178946746
* Adds a codec for RegexFilter.Gravatar Googler2017-12-13
| | | | PiperOrigin-RevId: 178942449
* Allow not recognized Artifact category to be handled in Analysis phaseGravatar Googler2017-12-13
| | | | | | | Nonexistent artifact categories or categories that are not supported by the action config now throw InvalidConfigurationException instead of ExpansionException. This allows the checked exception to be caught and reported as a RuleErrorException in Analysis phase. RELNOTES: None. PiperOrigin-RevId: 178919727
* Fix the documentation to allow making links to BE documetation articlesGravatar vladmos2017-12-13
| | | | PiperOrigin-RevId: 178910168
* Explain why --include_imports should not be used when creating the ↵Gravatar carmi2017-12-13
| | | | | | | descriptor set output. RELNOTES: None PiperOrigin-RevId: 178904210
* Use java.nio.file.Files.createTempDirectory() to create temporary directory ↵Gravatar ruperts2017-12-13
| | | | | | | | | | | | | | | | | in LocalSpawnRunner, to avoid a race condition. Aside: The old, real temporary directory paths looked like this: TMPDIR=/.../tmp15e_5dd5a8e8347813f5 The new, real temporary directory paths now look like this: TMPDIR=/.../local-spawn-runner.3217503035718074040 RELNOTES: None. PiperOrigin-RevId: 178903361
* Allow access to some TestAttempt fields for testingGravatar ulfjack2017-12-13
| | | | PiperOrigin-RevId: 178893146
* Implement --(no)expand_test_suites flag.Gravatar dslomov2017-12-13
| | | | | | | | | --noexpand_test_suites flag will suppress expansion of test_suite targets into constituent tests, so that command-line aspects can analyze test_suite targets. RELNOTES: Added --(no)expand_test_suites flag. PiperOrigin-RevId: 178892829
* GitRepository: Close repository when cloning is doneGravatar Yun Peng2017-12-13
| | | | | | | Fixed https://github.com/bazelbuild/bazel/issues/3700 Change-Id: I5fef0065aa90ab0a13f0e060be486b76b930ccc9 PiperOrigin-RevId: 178883672
* Enable local action execution statistics collection when the ↵Gravatar ruperts2017-12-12
| | | | | | | | | | | LocalSpawnRunner uses the process-wrapper to run commands. In particular, record metrics for user and system CPU execution time, block I/O and involuntary context switches. This feature is guarded behind a new option, --experimental_collect_local_action_metrics. RELNOTES: None. PiperOrigin-RevId: 178856077
* Initialize the RuleClassProvider only once.Gravatar carmi2017-12-12
| | | | | | | This saves some CPU/wall time when creating multiple PackageLoader instances. RELNOTES: None PiperOrigin-RevId: 178834826
* Add a new file path type, LocalPath.Gravatar tomlu2017-12-12
| | | | | | | | This path type is a local file path as a wrapper around a string. It works much the same as java.io.File, but without its file operations. For the most part, FilePath shouldn't add much overhead compared to using plain strings. Strings do get normalised on the way in, but no extra objects are allocated unless the path actually needs normalisation. PiperOrigin-RevId: 178798497
* Remove hyperthreading multiplier to improve performance.Gravatar dmaclach2017-12-12
| | | | | | | Tests on my local machine show that the Hyperthreading multiplier is significantly hurting our builds times. RELNOTES: Set build jobs equivalent to number of logical processors by default. Should improve build times significantly. PiperOrigin-RevId: 178795078
* Add --checkHashMismatch flag to ZipFilterAction.Gravatar jingwen2017-12-12
| | | | | | | | | | This flag is set to true by default. If `--checkHashMismatch IGNORE` is passed, ZipFilterEntryFilter will filter duplicate files based on filenames and not do the check for different content hashes. This is used for Android instrumentation tests: classes already in the target APK are removed from the instrumentation APK to prevent runtime crashes in ART. GITHUB: #903 RELNOTES: Added --checkHashMismatch flag to ZipFilterAction. Valid values are IGNORE, WARN and ERROR. --errorOnHashMismatch is deprecated, please use this flag instead. PiperOrigin-RevId: 178787292
* Fix a CCE in ConfiguredTargetCycleReporterGravatar cushon2017-12-12
| | | | PiperOrigin-RevId: 178785887
* Add a new flag to disable glob tracking: --incompatible_disable_glob_trackingGravatar laurentlb2017-12-12
| | | | | RELNOTES: None. PiperOrigin-RevId: 178760403
* Automated rollback of commit 367f704e71f352b404df38161f4c367b9ff506c9.Gravatar hlopko2017-12-12
| | | | | | | | | | | | | | *** Reason for rollback *** Rollforward of https://github.com/bazelbuild/bazel/commit/c861c0afd9a4df283936218b9e5b33c452b07c95 after fixing fake link actions. *** Original change description *** Rollback of 178106899. RELNOTES: Linkstamping is now a separate and full-blown CppCompileAction, it's no longer a part of linking command. PiperOrigin-RevId: 178760072
* Update cc_import rule documentationGravatar Yun Peng2017-12-12
| | | | | | | | 1. Allowing .lib as interface library, which is necessary on Windows 2. Documenting cc_improt by giving specific example use cases. Change-Id: Ia50850495a1e91fe913ad69f9119753c32f9b4a7 PiperOrigin-RevId: 178754145
* [java_common.compile] Name output source jar relative to the output jar nameGravatar elenairina2017-12-12
| | | | | | | instead of the rule name. RELNOTES: None. PiperOrigin-RevId: 178747070
* Remove an unused fieldGravatar cushon2017-12-12
| | | | PiperOrigin-RevId: 178731961
* Thread FileSystem instance through a few call sites.Gravatar tomlu2017-12-11
| | | | PiperOrigin-RevId: 178704585
* disambiguate mnemonics for $shuffle_jars and $dexsharder actionsGravatar kmb2017-12-11
| | | | | | RELNOTES: None. PiperOrigin-RevId: 178693605
* Removes skyframe/serialization's dependency on cmdline and vfs. Instead, ↵Gravatar Googler2017-12-11
| | | | | | make cmdline and vfs depend on serialization. This allows a class to have a pointer to its codec, which simplifies automatic recursive composite codecs. PiperOrigin-RevId: 178683500
* Automated rollback of commit 9321316b34767b06c3071b2cf2a4de189874fcce.Gravatar ccalvarin2017-12-11
| | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Design change, 2 boolean flags instead of 1 enum flag *** Original change description *** Add --incremental_state_retention_strategy This option is intended to replace some of the uses of --batch. It lets users specify that builds should not be incremental, and how eagerly to discard the state that is kept around for incrementality. Note that for both values discard_eargerly and keep_for_life_of_build, the build graph is kept around until the next build. This may change. Will add tests for keep_for_life_of_build in a later change, for now it will warn that that feature is experimen... *** ROLLBACK_OF=178661777 RELNOTES: None. PiperOrigin-RevId: 178681472