aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
Commit message (Collapse)AuthorAge
* Make symlinks consistentGravatar kchodorow2017-05-04
| | | | PiperOrigin-RevId: 155105523
* Introduce package_name() function to replace the magic PACKAGE_NAME constant.Gravatar laurentlb2017-05-04
| | | | | | | | Also, repository_name() replaces REPOSITORY_NAME. In .bzl files, they are prefixed with "native.". RELNOTES: None. PiperOrigin-RevId: 155102221
* Implement dynamically configured LIPO builds.Gravatar gregce2017-05-04
| | | | | | | | | | | | | | | Quick overview: - provide a dynamic interface for getting the artifact owner configuration - provide a (dynamic) RuleTransitionFactory LIPO_ON_DEMAND to replace the (static) RuleClass.Configurator LIPO_ON_DEMAND. Eventually we'll remove the rule class configurator interface entirely. This doesn't actually turn dynamic LIPO on. So the direct effect of this change should be a no-op. The flip will come in a followup change. For now, dynamic LIPO can be triggered with --experimental_dynamic_configs=notrim. PiperOrigin-RevId: 155096056
* Implement a flag to forbid the `+` operator for dictsGravatar vladmos2017-05-04
| | | | | Usage: --incompatible_dict_plus=true (the default value is false). PiperOrigin-RevId: 155094639
* Use a normal SpawnAction for some header compilation actionsGravatar cushon2017-05-04
| | | | | | | | | | | | If the compilation involves API-generating annotation processors none of the features in JavaHeaderCompileAction are necessary. Instead, just use a SpawnAction. Also set a different mnemonic (JavacTurbine) to track how often this happens, and to better understand the performanec breakdown between javac-turbine and regular turbine actions. PiperOrigin-RevId: 155094632
* Refactor "isMutable" -> "isFrozen"Gravatar brandjon2017-05-04
| | | | | | | | | This helps readability, particularly since we also have "isImmutable" for SkylarkValues and in EvalUtils. I considered changing those to isFrozen as well, but we can leave it as-is since the terminology of freezing doesn't necessarily apply to non-Freezable things. Also rephrased some javadoc. RELNOTES: None PiperOrigin-RevId: 155090987
* Implement a flag for extend-like behavior of the `+=` operator for listsGravatar vladmos2017-05-04
| | | | | Usage: --incompatible_list_plus_equals=true (the default value is false). PiperOrigin-RevId: 155084916
* Cleanup SolibSymlinkAction: "target" is never null, and no need to ↵Gravatar felly2017-05-04
| | | | | | | re-implement what we get for free in the base class. RELNOTES: None PiperOrigin-RevId: 155080289
* Add patch transitions for DATA -> TARGET and LIPO_COLLECTOR -> TARGET.Gravatar gregce2017-05-04
| | | | | | | | | EnableLipoTransition provides the dynamic equivalent for LIPO_ON_DEMAND. ContextCollectorOwnerTransition provides the ability to get the "owner" configuration from the LIPO collector configuration. PiperOrigin-RevId: 155079187
* Add the flag --incompatible_keyword_only_syntax to forbid keyword-only syntax.Gravatar laurentlb2017-05-04
| | | | | | | | | | | | | | | | Keyword-only syntax is when a parameter happens after the `*` paramter, e.g. def foo(a, *, b): pass or: def foo(a, *b, c): pass The syntax is not compatible with Python 2 (it's supported only in Python 3), and breaking tooling based on Python2. RELNOTES: Keyword-only syntax in a function definition is deprecated (e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`) and will be removed in the future. PiperOrigin-RevId: 155071704
* Remove implicitRequirements from --experimental_android_compress_java_resources.Gravatar ajmichael2017-05-04
| | | | | | | This was implicitly adding --use_singlejar_apkbuilder, which was not the intended effect. RELNOTES: None PiperOrigin-RevId: 155022967
* Introduce BazelPackageLoader.Gravatar nharmata2017-05-04
| | | | | | | | | This is a standalone library for loading packages. It is intended to be used by clients outside of Bazel (for now, Kythe). Perform BazelPackageLoader#loadPackage in the testing hook used in all of Bazel's unit tests and integration tests. This gives us very good test coverage for BazelPackageLoader. RELNOTES: None PiperOrigin-RevId: 155004070
* BuildOptions cleanup:Gravatar gregce2017-05-04
| | | | | | | | | | | | | | | | | | | | | 1) Remove obsolete originalOptions field. This was originally added to support "parent" transitions, which supported config1 -> config2 -> config1 transitions by having config2 store config1's options. The purpose of this feature was to support LIPO (which has a DATA -> TARGET transition). But https://github.com/bazelbuild/bazel/commit/ff29c0b39cf936a2699b05edd54f483f1a037d93 makes this unnecessary. 2) Support the "disable actions" feature of the LIPO context collector configuration. Putting this in BuildOptions make this dynamic config-compatible. This change intentionally doesn't add disableOptions to BuildOptions.equals() or BuildOptions.hashCode(). It'd be great to do that. But that has semantic consequences. And we've run into really tricky bugs in the past with dynamic configurations and BuildOptions.equals / BuildConfiguration.equals. So it's best to experiment with that in its own change. PiperOrigin-RevId: 154999718
* Remove xcodeproj as implicit output.Gravatar schmitt2017-05-04
| | | | | | | RELNOTES[INC]: Blaze no longer generates xcode projects. Use tulsi.bazel.build instead. PiperOrigin-RevId: 154997997
* Don't let latebound split attributes leave the host configuration.Gravatar gregce2017-05-04
| | | | | | | This fixes a bug that put them out of sync from how all other attributes manage the host configuration. PiperOrigin-RevId: 154992583
* Make SkyKey an interface, and start the migration of not creating SkyKey ↵Gravatar janakr2017-05-04
| | | | | | wrapper objects: for OwnedArtifacts, which are the most numerous during builds, and for Labels for TransitiveTraversalValues, which are the most numerous during queries. PiperOrigin-RevId: 154989520
* Add the option for warning-level enforcement of One Version violations. This ↵Gravatar Googler2017-05-04
| | | | | | updates --experimental_one_version_enforcement from a boolean flag to a 3-state enum (OFF, WARNING, ERROR). PiperOrigin-RevId: 154978203
* Implement a flag to deprecate old constructor for depsets (`set`)Gravatar vladmos2017-05-04
| | | | | Usage: --incompatible_depset_constructor=true (the default value is false). PiperOrigin-RevId: 154971526
* Rollforward of commit aa7f9307636d38cbb93a03acac8f4c59adfa0ee8.Gravatar ccalvarin2017-05-04
| | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Filter out conflicting flag policies for applicable commands. Only enforce the filtered, applicable policy. *** Original change description *** Automated g4 rollback of commit aa7f9307636d38cbb93a03acac8f4c59adfa0ee8. *** Reason for rollback *** Broke --experimental_inmemory_dotd_files *** Original change description *** Filter out conflicting flag policies before invocation policy enforcement. This is to minimize the likelihood of obscure policy conflict. Now, the last policy on a flag (after policy expansion) will be the only one in the "canonical" invocation policy. There should be no reason for explicitly setting multiple policies on a single flag, but if an expansion flag is policy'd and one of its children has a more specific policy on it, make sure that the policy on the child flag is after the policy on the expansion flag. Note that this restriction (only the last policy gets applied) also applies for repeatable flags. Make sure all values being set to a repeatable flag are set in a single SetValue operation, with multiple flagValues set. PiperOrigin-RevId: 154969189
* Document output groups.Gravatar Dmitry Lomov2017-05-04
| | | | | | | Work towards #2880. Change-Id: I7b661e368c0bd60fc6bcc10c7c1d63b82ba9702e PiperOrigin-RevId: 154957882
* Actually encode HTML entitiesGravatar kchodorow2017-05-03
| | | | | | Otherwise they're read as HTML tags and "invisible." Oops. PiperOrigin-RevId: 154956817
* Fix ObjcRuleTestCase#checkClangCoptsForCompilationMode - order is different forGravatar cpeyser2017-05-03
| | | | | | | | | crosstool case. To make the ios_framework_binary case to pass, the apple crosstool transition needs to be applied to that rule. PiperOrigin-RevId: 154949950
* Automated g4 rollback of commit f2f7839eefe1274bf9e25708201ec3cd89b19846.Gravatar cushon2017-05-03
| | | | | | | | | | *** Reason for rollback *** The experiment did not succeed. It is valid for the fallback to succeed if the original failure was due to a Strict Java Deps error, so enabling this feature as it is currently implemented is not possible. PiperOrigin-RevId: 154948042
* Do not add SkylarkProviders to target's provider map unless it is needed.Gravatar dslomov2017-05-03
| | | | | RELNOTES: None. PiperOrigin-RevId: 154943665
* BEP: Report stdout/stderrGravatar Klaus Aehlig2017-05-03
| | | | | | | | By recording registering a properly synchronized OutErr as listener and providing it as OutErrProvider to the BuildEventStreamer. Change-Id: Id553fcdb85327be28561634268511304fcc2ad3f PiperOrigin-RevId: 154943162
* Do not put OutputGroupProvider into SkylarkProviders.Gravatar dslomov2017-05-03
| | | | | | | | | Almost every target has an OutputGroupProvider. Putting an ("output_groups", value) pair into SkylarkProviders creates an unneccessary map. This CL removes it. RELNOTES: None. PiperOrigin-RevId: 154940624
* Remove memory regression introduced with OutputGroupInfo provider.Gravatar dslomov2017-05-03
| | | | | | | | Almost every target has an OutputGroupProvider. Do not create another Key->Provider map just for it. RELNOTES: None. PiperOrigin-RevId: 154937690
* Automated g4 rollback of commit ce33ab7a49126a513d7d5a6bc16f86154d9a85b6.Gravatar plf2017-05-03
| | | | PiperOrigin-RevId: 154931201
* Flag cleanup (Step 1 of 3): Make use_singlejar_for_proguard_libraryjars a ↵Gravatar Googler2017-05-03
| | | | | | | no-op, and default behavior to on since it has been on in the global blazerc for awhile now. RELNOTES: Deprecate use_singlejar_for_proguard_libraryjars and force behavior to always on. PiperOrigin-RevId: 154890445
* Clarify commentGravatar brandjon2017-05-03
| | | | | RELNOTES: None PiperOrigin-RevId: 154877525
* Add static methods to return target kinds for built-in targetsGravatar Googler2017-05-03
| | | | | | | | Add static methods to return target kinds of InputFile and OutFile, as well as suffix of target kind of Rule. RELNOTES: None PiperOrigin-RevId: 154866926
* Add "uses_protobuf" attribute to objc_proto_library rule.Gravatar kaipi2017-05-03
| | | | PiperOrigin-RevId: 154860105
* Set the local CPU reservation for tests based on their "cpu:<n>" tag.Gravatar philwo2017-05-03
| | | | | | | | | | | | | | | | | | This lets users specify that their test needs a minimum of <n> CPU cores to run and not be flaky. Example for a reservation of 4 CPUs: sh_test( name = "test", size = "large", srcs = ["test.sh"], tags = ["cpu:4"], ) This could also be used by remote execution strategies to tune their resource adjustment. RELNOTES: You can increase the CPU reservation for tests by adding a "cpu:<n>" (e.g. "cpu:4" for four cores) tag to their rule in a BUILD file. This can be used if tests would otherwise overwhelm your system if there's too much parallelism. PiperOrigin-RevId: 154856091
* BEP: Add WorkspaceStatusGravatar Klaus Aehlig2017-05-03
| | | | | | | | Add an event reporting the workspace status as key-value pairs reported via the workspace_status_command. Change-Id: I5791551798a594bc2465f483eb97f9d4fd4c7cfd PiperOrigin-RevId: 154845224
* Clarify the meaning of the two symbol counts that Gold outputs forGravatar Googler2017-05-03
| | | | | | --print-symbol-counts. PiperOrigin-RevId: 154843561
* Remove superpowers from default provider.Gravatar dslomov2017-05-03
| | | | | RELNOTES: 'output_groups' and 'instrumented_files' cannot be specified in DefaultInfo. PiperOrigin-RevId: 154842022
* Automated g4 rollback of commit 7beadb7277453efec7e12b925005e7f0e003b592.Gravatar nharmata2017-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Original CL was rolled backed incorrectly. See post-submit discussion on http://https://github.com/bazelbuild/bazel/commit/7beadb7277453efec7e12b925005e7f0e003b592. *** Original change description *** Automated g4 rollback of commit 38b835097f9ae9a6062172b8a33ec2e2d1edde20. *** Reason for rollback *** Breaking Bazel build on linux, see http://ci.bazel.io/job/bazel-tests/733/ Repro: bazel build //src/test/java/com/google/devtools/build/lib:packages_test Found by bisecting. *** Original change description *** Only allocate some formerly frequently allocated PathFragment objects once. This reduces both gc churn and retained memory usage. RELNOTES: None PiperOrigin-RevId: 154839279
* Silence the Test runner's debug output when we runs as a persistent runner ↵Gravatar kush2017-05-03
| | | | | | | as it corrupts its stdout RELNOTES: None PiperOrigin-RevId: 154838603
* Handle null action inputs in TreeNodeRepositoryGravatar ulfjack2017-05-03
| | | | | | | | The SpawnInputExpander can return null action inputs to indicate that we should create an empty file at the corresponding location, without a corresponding input file. PiperOrigin-RevId: 154832564
* Delete objc_xcodeproj rule.Gravatar schmitt2017-05-03
| | | | | | RELNOTES[INC]: objc_xcodeproj has been removed, use tulsi.bazel.build instead. PiperOrigin-RevId: 154829733
* Implement OutputGroupInfo provider.Gravatar dslomov2017-05-03
| | | | | | | Work towards #2894. RELNOTES: None. PiperOrigin-RevId: 154829065
* Automated g4 rollback of commit 38b835097f9ae9a6062172b8a33ec2e2d1edde20.Gravatar dmarting2017-05-02
| | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaking Bazel build on linux, see http://ci.bazel.io/job/bazel-tests/733/ Repro: bazel build //src/test/java/com/google/devtools/build/lib:packages_test Found by bisecting. *** Original change description *** Only allocate some formerly frequently allocated PathFragment objects once. This reduces both gc churn and retained memory usage. RELNOTES: None PiperOrigin-RevId: 154821457
* BuildEventStreamer: support also providing stdout/stderrGravatar Klaus Aehlig2017-05-02
| | | | | | | | | | | | | Extend the build-event streamer to also report about stdout/stderr, if provided. This information is reported in the progress events. At the moment, we only report stdout/stderr in progress events we send anyway, but the interface is generic enough that we could add time-based reporting later, if needed. Also note, that at the end of the build, we report the final progress event, so that all stdout/stderr generated before the build-complete event get also reported in the build-event protocol. Change-Id: If5dbd59c151edbce02d0a9b2e5938b63c0a5dc58 PiperOrigin-RevId: 154811110
* Automated g4 rollback of commit 27a136b9bbb4d73b0a343d407b5da9f890175aea.Gravatar ajmichael2017-05-02
| | | | | | *** Reason for rollback *** PiperOrigin-RevId: 154776438
* Automated g4 rollback of commit d5217515002d468a3095243975e21e89eccc46b7.Gravatar ajmichael2017-05-02
| | | | | | | | | *** Reason for rollback *** Relies on a CL that is being rolled back due to breaking some LIPO builds. RELNOTES: None PiperOrigin-RevId: 154776370
* Remove implicit requirements on --use_singlejar_apkbuilder.Gravatar ajmichael2017-05-02
| | | | | | | The flag is still a no-op without --use_singlejar_apkbuilder. RELNOTES: None PiperOrigin-RevId: 154744739
* apple_static_library passes the correct crosstool to platform-specific compileGravatar cpeyser2017-05-02
| | | | | | and fully linke actions. PiperOrigin-RevId: 154733524
* Support cpufeatures from Android NDK.Gravatar ajmichael2017-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/2499. Example usage: $ cat jni.cc #include "ndk/sources/android/cpufeatures/cpu-features.h" ... AndroidCpuFamily family = android_getCpuFamily(); $ cat BUILD cc_library( name = "jni", srcs = ["jni.cc"], deps = ["@androidndk//:cpufeatures"], ) android_binary( name = "app", manifest = 'AndroidManifest.xml', srcs = glob(["*.java"]), deps = [":jni"], ) $ cat WORKSPACE android_sdk_repository(name = 'androidsdk') android_ndk_repository(name = 'androidndk') RELNOTES: android_ndk_repository now creates a cc_library (@androidndk//:cpufeatures) for the cpufeatures library that is bundled in the Android NDK. See https://developer.android.com/ndk/guides/cpu-features.html for more details. PiperOrigin-RevId: 154732798
* Roll forward of ↵Gravatar Googler2017-05-02
| | | | | | | | | | | | | | | | | | | | | | | | https://github.com/bazelbuild/bazel/commit/5f31944b8942818aaf53571c76f5c6a9a9dafc72: Custom module map for j2objc_library Automated g4 rollback of commit e7fe50aa727df9ef0a3d37fa258d017971035515. *** Reason for rollback *** Roll forward. The bzl change is removed because it has to be submitted after next Blaze release. *** Original change description *** Automated g4 rollback of commit 5f31944b8942818aaf53571c76f5c6a9a9dafc72. *** Reason for rollback *** This caused some build breaks. *** Original change description *** Custom module map for j2objc_library PiperOrigin-RevId: 154726197
* Move platform providers to a new package to break cyclic dependencies.Gravatar John Cater2017-05-02
| | | | | | | Part of #2219. Change-Id: I87c7bc9fbfb38d3dbdf193b46247901d0f2a838d PiperOrigin-RevId: 154719063