aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google
Commit message (Collapse)AuthorAge
* Deprecate use of option category to describe documentation level / usage ↵Gravatar ccalvarin2017-04-19
| | | | | | | | restrictions. Prevent the old category strings "undocumented," "hidden," or "internal" from being used as categories, to prevent developers from relying on deprecated behavior. PiperOrigin-RevId: 153525499
* Change Bazel's LIPO model to support dynamic configurations.Gravatar gregce2017-04-19
| | | | | | | | | | The key change is to eliminate the need to transition from the data to the target configuration by relying on out-of-band configuration state. Specifically, the old model drops LIPO options from the data configuration. In the cases when we have to switch back (i.e. TARGET_CONFIG_FOR_LIPO), those options have to get re-injected somehow. Static configurations achieve this with the global configuration transitions table. But dynamic configs have no comparable source (and they consciously eschew global state). This cl changes the model to *keep* LIPO settings in the data config, then use a new "enableOrDisable" flag to determine whether or not to actually use them. With this model, the data -> target transition is now as simple as toggling that flag. This change doesn't actually add dynamic config LIPO support. It's doing enough as it is, and we need to make sure it doesn't break existing LIPO semantics. Dynamic support will come as a followup. PiperOrigin-RevId: 153504240
* Add warning to git_repositoryGravatar kchodorow2017-04-19
| | | | | | #2147 PiperOrigin-RevId: 153494286
* Make Bazel android_library exports_manifest default to True.Gravatar ajmichael2017-04-19
| | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/2743. RELNOTES: android_library exports_manifest now defaults to True. PiperOrigin-RevId: 153493900
* Turn on --experimental_j2objc_header_map by default.Gravatar rduan2017-04-19
| | | | | RELNOTES: None. PiperOrigin-RevId: 153489730
* Fix RemoteSpawnStrategy to upload stdout/stderr to the remote cacheGravatar ulfjack2017-04-19
| | | | | | | | | | This is already fixed in the CachedLocalSpawnRunner, with tests there, which will replace RemoteSpawnStrategy in the near future. For now, I'd like to get this in in time for 0.5.0 to get test caching working. Fixes #1413. PiperOrigin-RevId: 153486592
* Skip params file handling for resource jar actions with short command linesGravatar cushon2017-04-19
| | | | PiperOrigin-RevId: 153485708
* Fix crash on graph cycle in configuration loadingGravatar gregce2017-04-19
| | | | PiperOrigin-RevId: 153473961
* Skip params file handling for genjar actionsGravatar cushon2017-04-19
| | | | | | All genjar actions have very short command lines. PiperOrigin-RevId: 153468708
* Revert "Expect the python binary on path to be a symlink "Gravatar Klaus Aehlig2017-04-19
| | | | | | | | | | | | | | This reverts commit 1cd2096284959ead26687d1d58b695d2abffb8e2. That commit tried to find a more suitable python binary by following symlinks. That, however, is not necessary, as our follow-up infrastructure can call symbolic links and our tests os.path.isfile(path) and os.access(path, os.X_OK) follow symbolic links as well. Fixes #2836. Change-Id: If37589622d141265577eb3872f68342ae1c263dc PiperOrigin-RevId: 153461118
* Write stdout and stderr to the remote cacheGravatar ulfjack2017-04-18
| | | | | | | | | | Only write a cache entry when the spawn executed successfully, and with a 0 exit code. In the test, we only check that uploadFileContents is called exactly twice. Progress on #1413. PiperOrigin-RevId: 153458240
* Eliminate some middleman methodsGravatar brandjon2017-04-18
| | | | | | | | | Reduce spaghetti code by exposing the parser's OptionsData as package-private, rather than exposing individual methods ad hoc between OptionsParser and OptionsParserImpl. Also change some calls from static constructors to diamond syntax. RELNOTES: None PiperOrigin-RevId: 153457442
* Implement logging in LocalSpawnRunnerGravatar ulfjack2017-04-18
| | | | | | | | This is a prerequisite for Google to use it; there's no consistent logging strategy yet, but Google internally requires logging, and it needs to be somewhat backwards compatible. PiperOrigin-RevId: 153454160
* Reword commentGravatar laurentlb2017-04-18
| | | | | RELNOTES: None. PiperOrigin-RevId: 153449924
* Generating PDB files on WindowsGravatar Yun Peng2017-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | 1. Add /Z7 as compiler flag in CROSSTOOL, this causes full debugging infomation built into object files, no PDB file is generated. 2. Add /DEBUG as linker flag so that a PDB file will be generated for executable or dll. * /DEBUG:FULL for dbg mode. the full PDB can be used to debug the executable when no other build products are available, such as when the executable is deployed. * /DEBUG:FASTLINK for fastbuild mode. object files are still needed when debugging the executable, but linking speed can be two to four times faster that full PDB generation. * No option is added for opt mode. More detailed info: https://msdn.microsoft.com/en-us/library/xe4t6fc1.aspx 3. Add an empty feature in MSVC CROSSTOOL to tell Bazel we need PDB file 4. Add PDB file artifact in an output named pdb_file of cc_binary, then you can build the pdb file by bazel build //foo/bar:bin --output_groups=pdb_file 5. Add test for PDB file generation Change-Id: Ia5096470187ebca72f2c804f32d5b723f40c0b85 PiperOrigin-RevId: 153449059
* Simplify LocalSpawnRunnerGravatar ulfjack2017-04-18
| | | | PiperOrigin-RevId: 153444516
* Partial rollback of unknown commitGravatar cushon2017-04-18
| | | | PiperOrigin-RevId: 153403092
* Split out option usage restriction from option category.Gravatar ccalvarin2017-04-18
| | | | | | | | | These are two different concepts. Do not remove category overload compatibility in this CL, to keep this change limited to converting the current uses of category. With some flyby formatting fixes on affected OptionsBases. RELNOTES: None. PiperOrigin-RevId: 153390002
* Add ordering semantics for cached options dataGravatar brandjon2017-04-18
| | | | | | | This lets us easily get all options classes of a parser, or all fields of those options classes, in a deterministic way. RELNOTES: None PiperOrigin-RevId: 153376699
* Improve DottedVersion validation for minimum_os attribute, and fix error ↵Gravatar cparsons2017-04-18
| | | | | | | message. RELNOTES: None. PiperOrigin-RevId: 153372617
* Remove the overloading of option category to cover documentation level.Gravatar ccalvarin2017-04-18
| | | | | | | | This prevents having to parse the category, and allows the category to potentially be used in the future for information about all options, included undocumented, hidden, or internal options. Also rename DocumentationLevel to OptionUsageRestrictions, since INTERNAL was not really documentation related. PiperOrigin-RevId: 153367769
* Add /sdk/extras/m2repository the list of Android SDK embedded Maven ↵Gravatar ajmichael2017-04-18
| | | | | | | | | repositories. Fixes https://github.com/bazelbuild/bazel/issues/2830 RELNOTES: None PiperOrigin-RevId: 153367521
* Automated g4 rollback of commit e1d692e486a2f838c3c894fd9de693fabd6685ed.Gravatar schmitt2017-04-18
| | | | | | | | | | | | | | | | | | *** Reason for rollback *** broken tests *** Original change description *** Init absent action configs for CppCompile actions So far only link actions were initialized in CppLinkActionConfigs. This cl changes this class to also initialize CppCompile actions. This is needed for our ongoing work removing hard-coded flags from Bazel and moving them into Crosstool. RELNOTES: None. PiperOrigin-RevId: 153366563
* Expose Bazel's Android data binding support to users.Gravatar gregce2017-04-18
| | | | | | | | | | | | The logic is already in Bazel but wasn't available to build rules. This change makes it available, but still requires data binding's {build|run}time libraries to be checked into appropriate depot spots for everything to work. Followup changes will make those libraries easily available. Issue: #2694 PiperOrigin-RevId: 153359861
* Automated g4 rollback of commit e7c730ba64d1c34ac7049f4165a33dc1329d0019.Gravatar jfield2017-04-18
| | | | | | | | | | | | | | | *** Reason for rollback *** breaks tests *** Original change description *** Extract --sysroot flag from bazel and move it into crosstool This is an encore of https://github.com/bazelbuild/bazel/commit/6127358c1799d8d83cebbd499edac89f869df41b . RELNOTES: None. PiperOrigin-RevId: 153351147
* Report an error for missing java_library.exported_pluginsGravatar cushon2017-04-18
| | | | PiperOrigin-RevId: 153349925
* Automated g4 rollback of commit 045104899738594d85f9ab9b0b9ccbde320b8055.Gravatar jfield2017-04-18
| | | | | | | | | | | | | *** Reason for rollback *** Breaks internal tests that use nonstandard crosstools *** Original change description *** Make C++ archiving use action_configs instead of hardcoded flags RELNOTES: Use action_config in crosstool for static library archiving, remove ar_flag. PiperOrigin-RevId: 153344597
* Fix an expansion flag issue where it expands to a repeatable flag.Gravatar ccalvarin2017-04-18
| | | | | | | | There's no reason an expansion flag should not expand to multiple values for a repeatable flag (a flag with allowMultiple set to true.) If this expansion flag is set in a SetValue policy, group its repeatable subflags into a single SetValue per subflag. For an overridable SetValue policy on an expansion, any repeatable flag that it expands to should append its value, and not override the user's original values. PiperOrigin-RevId: 153233784
* Expose the native libs of the android_binary rule to skylark.Gravatar Googler2017-04-18
| | | | | RELNOTES: none PiperOrigin-RevId: 153223511
* Canonicalize-flags can now show the canonical invocation policy.Gravatar ccalvarin2017-04-18
| | | | | | | | | Canonicalize-flags will provide the expanded and filtered version of the policy passed to it as a command argument if also passed the command arg --canonicalize_policy. This is the version that would be actually applied to the command line in another command. In this mode, it will not also print out the interpretation of the flags passed after "--", so to get both outputs, it will have to be run twice. This was to keep the output clean and easy to parse. RELNOTES: new option for bazel canonicalize-flags, --canonicalize_policy PiperOrigin-RevId: 153215518
* Add bitcode support to objc crosstool linking.Gravatar cpeyser2017-04-18
| | | | PiperOrigin-RevId: 153202296
* Enable params files for resource jar actionsGravatar cushon2017-04-18
| | | | | | | to avoid exceeding the command line length limit for libraries with very large numbers of resources. PiperOrigin-RevId: 153191465
* Remove the use_objc_header rule warning. Add a generic migration warning to ↵Gravatar kaipi2017-04-18
| | | | | | objc_proto_library without the portable_proto_filters attribute. PiperOrigin-RevId: 153189663
* Migrate UnixGlob to Path#statIfFound() instead of #statNullable(). The ↵Gravatar felly2017-04-18
| | | | | | | | | latter swallows all filesystem failures, and does not disambiguate missing files from filesystem problems. The syscall cache now tracks IOExceptions if they are present, just as it does with readdir(). RELNOTES: None PiperOrigin-RevId: 153185433
* In android_library targets, R.class files should not be runtime dependenciesGravatar Googler2017-04-18
| | | | | | | | | | | | | | | | | | android_binary targets have their own R.java files (built from merging dependencies and any resources that belong directly to the target). As such, they don't need inherited R.java files at runtime. Taking these out makes for smaller APKs and less inheritance from the target's dependencies. Add a flag to control this behavior. Have it default to continue to include R.class files as runtime dependencies so we can control rollout of this behavior. Add tests of android_binary to ensure the JAR is filtered out as appropriate, and of android_robolectrictest to ensure that those tests still have access to the JARs. RELNOTES: none PiperOrigin-RevId: 153177074
* Fix `in` operator for targetsGravatar vladmos2017-04-18
| | | | | | `DefaultInfo in target` should always return `true` for any target. PiperOrigin-RevId: 153166669
* Introduce linkmap support for --experimental_objc_crosstool=allGravatar cpeyser2017-04-18
| | | | PiperOrigin-RevId: 153161442
* Partition ObjC header scanning actions to better handle large targets.Gravatar Googler2017-04-14
| | | | PiperOrigin-RevId: 153140874
* Sets --objc_includes_prioritize_static_libs to be true by default.Gravatar cpeyser2017-04-14
| | | | PiperOrigin-RevId: 153096906
* BEP: report shard and numbers 1-basedGravatar Klaus Aehlig2017-04-14
| | | | | | | | | In this way, all indices are reported with 1 being the smallest possible. Also, the numbers fit better with the file names generated for log files etc. Change-Id: I7671e5a79dd47c3e3afac16108acaeacdf018fc5 PiperOrigin-RevId: 153080339
* Update comments and remove obsolete field.Gravatar laurentlb2017-04-13
| | | | | RELNOTES: None. PiperOrigin-RevId: 153058374
* Make C++ archiving use action_configs instead of hardcoded flagsGravatar hlopko2017-04-13
| | | | | RELNOTES: Use action_config in crosstool for static library archiving, remove ar_flag. PiperOrigin-RevId: 153046587
* BEP: for local transports optionally drop path conversionGravatar Klaus Aehlig2017-04-13
| | | | | | | | | For transports that are purely local (like the ones writing to a local file), it sometimes can be useful to skip path conversion and use the local paths directly. Support this for the text and binary format file transports. Change-Id: I2ac2e187ebb11ff82c4e1ddf4881ea54f9d4205d PiperOrigin-RevId: 153044267
* Make FakeCppCompileAction fail if its source file doesn't compile without ↵Gravatar lberki2017-04-13
| | | | | | any extra defines. PiperOrigin-RevId: 153039146
* Lifting restriction that java home cannot be absolute path when jvm label is ↵Gravatar Googler2017-04-13
| | | | | | used. PiperOrigin-RevId: 153020672
* Add qemu2_x86 filegroup to @androidsdk.Gravatar ajmichael2017-04-13
| | | | | | | | | | | | This filegroup is used by the Android testing infrastructure to launch QEMU2 emulators. This filegroup will only build correctly on Linux. Tracking issue: https://github.com/bazelbuild/bazel/issues/903 RELNOTES: None PiperOrigin-RevId: 153003267
* Remove special cases for "name" in implicit outputs codeGravatar Benjamin Peterson2017-04-13
| | | | | | | | | | | | | fa97703c1edf ("allow skylark implicit output callbacks to use the rule name") fixed a limitation of the skylark implicit outputs by adding a special case for "name" to the implicit outputs code. Later, 015e5954157a ("Remove special handling of name attribute") fixed the general problem of "name" being a special case in the attribute map. Therefore, we can remove my original fix. We may also excise an older special case in the implicit outputs templating code. Change-Id: I606c9decd98a8df492d2359abe540d3263f99fe1 PiperOrigin-RevId: 152974774
* Remove Preprocessor.ResultGravatar laurentlb2017-04-13
| | | | | RELNOTES: None. PiperOrigin-RevId: 152965874
* Fix memory regression introduced by default providersGravatar vladmos2017-04-13
| | | | | | | The memory regression was introduced in https://github.com/bazelbuild/bazel/commit/360fb4d9a1e2c44154b17aeb866e07bac2dd1b5b , now default providers are optimized and are built only on demand for all types of targets. PiperOrigin-RevId: 152957220
* Add select() support for "query --output=build".Gravatar gregce2017-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | Before this change, attributes with select() were completely skipped. This doesn't attempt to merge "trivial" selects, e.g. even though: attr = [":foo"] + select({"//conditions:default": [":bar"]}) always resolves to: attr = [":foo", ":bar"] this change still produces: attr = [":foo"] + [":bar"] We could merge these in a future change, if desired. But it's not even clear that's desired. There's conceptual value in keeping the lists separate since that's how they were originally written. That gives users a cue to maybe refactor their rules. RELNOTES[NEW]: "query --output=build" now includes select()s PiperOrigin-RevId: 152956939