aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
Commit message (Collapse)AuthorAge
...
* Implement ctx.actions.expand_template.Gravatar dslomov2017-07-05
| | | | | | | | It also changes the return value of ctx.template_action to None, so a very minor breaking change. There are no internal usages at least. RELNOTES: None. PiperOrigin-RevId: 160825636
* Migrate tests to ctx.actions.run/run_shell.Gravatar dslomov2017-07-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 160817326
* Fix broken code tag.Gravatar Chaoren Lin2017-07-05
| | | | | | | | | | | | Docs currently shows this: > C and C++ source files: `.c`, `.cc`, `.cpp`, `.cxx`, `.c++.C` I was wondering who the heck uses `.c++.C`. Closes #3282. PiperOrigin-RevId: 160810749
* Bazel, Windows: sh_binary now builds a .cmd fileGravatar Laszlo Csomor2017-07-05
| | | | | | | | | | | | | | | | | | | | | | | | On Linux/MacOS, sh_binary creates an output file with the same name as the rule. The file is a symlink pointing to the main script of the rule (sh_binary.srcs only allows one file.) On Windows sh_binary also creates an output file called the same as the rule, but it's a copy of the main script file (due to lack of symlink support on Windows). However the rule now also creates the <rulename>.cmd output, which is a wrapper script similar to the java_binary-generated launcher. If however the sh_binary rule's name ends with ".exe", ".cmd", or ".bat", and its main file also ends with the same extension, then sh_binary will not create the launcher .cmd file, and will copy the main file to the output tree instead. Change-Id: Idcf92ce3bb254bd6d9a1fb5c659a52220efe19aa PiperOrigin-RevId: 160805720
* Categorize proto options.Gravatar carmi2017-07-03
| | | | | RELNOTES: None PiperOrigin-RevId: 160695158
* Add new flag defining an environment group for automatic cpu-based environmentGravatar jcater2017-07-03
| | | | | | detection. PiperOrigin-RevId: 160686932
* Enable --feature_control_policy policy for feature flag usage.Gravatar mstaib2017-07-03
| | | | | | | | | | To limit rollout of this potentially risky feature, a new policy is added to the --feature_control_policy feature list. The contents of the package_group pointed to by that label are then used to control which targets are allowed to use feature flags and related features. RELNOTES: None. PiperOrigin-RevId: 160686186
* Enable aapt2 support in binary actions.Gravatar corysmith2017-07-03
| | | | | RELNOTES: None PiperOrigin-RevId: 160684786
* Bugfix: improper handling of IOException. This was triggered when we decided ↵Gravatar olaola2017-07-03
| | | | | | | | to change some other exception types into IOExceptions. TESTED=unit tests RELNOTES: n/a PiperOrigin-RevId: 160677771
* Remove unused method shouldUseObjcModulesGravatar cparsons2017-07-03
| | | | | RELNOTES: None. PiperOrigin-RevId: 160675033
* Add minSdkVersion optimization to Blaze.Gravatar Googler2017-07-03
| | | | | | | This optimization reduces the size of Android apps that use Proguard by ~0.2 - 0.3% depending on the minSdkVersion. RELNOTES: None. PiperOrigin-RevId: 160673030
* Inline AttributeContainer.ATTRIBUTE_CONTAINER_FACTORY and ↵Gravatar laurentlb2017-07-03
| | | | | | | PathFragment.TO_PATH_FRAGMENT RELNOTES: None. PiperOrigin-RevId: 160668541
* Enable incremental dexing by default.Gravatar ajmichael2017-07-03
| | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/3045. RELNOTES: Enable --incremental_dexing for Android builds by default. Note that some dexopts are incompatible with incremental dexing, including --force-jumbo. PiperOrigin-RevId: 160650101
* Add recursive jars to java_common.create_providerGravatar elenairina2017-07-03
| | | | | | Progress on #2614. PiperOrigin-RevId: 160649080
* Add plugins and exported_plugins params to java_common.compile.Gravatar elenairina2017-07-03
| | | | | | | | | | This is a step forward to having the same semantics for java_library and custom Skylark rules that use java_common.compile, facilitating the migration from native Java rules to Skylark. Progress on #2614 PiperOrigin-RevId: 160644961
* Implement ctx.actions.run() and ctx.actions.run_shell(),Gravatar dslomov2017-07-03
| | | | | | | | | | | Also implement deprecated ctx.action(...) by delegating to these new functions. Test migration will happen in the follow-up Cl. In this CL, ctx.actions.run_shell() still accepts 'arguments' parameter, removal of that is a follow-up too. RELNOTES: None. PiperOrigin-RevId: 160643870
* Windows, JNI: move around sourcesGravatar Laszlo Csomor2017-07-03
| | | | | | | | | | | | | | | | | | | | | | | | Move the Java JNI sources to a separate package: c.g.devtools.build.lib.windows.jni and c.g.devtools.build.lib.windows.runfiles. Make the native method declarations private, create public wrapper methods for them that ensure that the JNI library is loaded. Split the C++ JNI source processes.cc into two parts (processes-jni.cc and file-jni.cc), extract common functionality to jni-util.{h,cc}. This change preparse the code for Android rule support on Windows, specifically it lets the Android BusyBox use the file JNI library so it can create junctions on Windows to work around long path issues when calling external tools. See https://github.com/bazelbuild/bazel/issues/3264 Change-Id: I7f1a746d73f822ae419d11b893a91f4eb45d64da PiperOrigin-RevId: 160643355
* Enforce the new category and effect tags.Gravatar ccalvarin2017-07-03
| | | | | | | | | | All options need to explicitly list their category and effect. If they are uncategorized, this makes the lack of information obvious. Remove defaults from the annotation to enforce this. Also enforce the sanity check that no option should have UNKNOWN or NO_OP effects listed with other effect tags. Includes some last default sets for options I missed in the previous mass-setting change, and some that were added since. PiperOrigin-RevId: 160641861
* Add methods for filtering LocalResourceContainerGravatar Googler2017-07-03
| | | | | | | | | | | | | | | | | Dynamically Configured Resource Filtering change 1/6 To enable dynamically configured resource filtering, we'll need to be able to pass filtered resources into resource processing code used by android_library targets. The resource parsing action, used only in android_library targets, takes the LocalResourceContainer as an input, unlike android_binary processing code which never used it directly. Abstract the code for actually building the collection of resource roots out of the withResources method, and create an additional method for calling it from resource filtering. Also, split some common test code out of ResourceFilterTestBase to make a ResourceTestBase class for testing changes to this (and eventually, other) resource-oriented classes, and create LocalResourceContainerTest for this class in particular. RELNOTES: none PiperOrigin-RevId: 160640192
* Refactor PrinterGravatar vladmos2017-07-03
| | | | | | | It's now easier to customize Printer if in different situations objects should be printed differently. Also its API is cleaner now. Names of methods of SkylarkValue objects now reflect names of Skylark functions: SkylarkValue#repr and SkylarkPrintableValue#str. PiperOrigin-RevId: 160635154
* Make osx crosstool standalone (working without bazel patches)Gravatar hlopko2017-07-03
| | | | | | | | | | | | This cl promotes //tools/osx/crosstool to be fully specified on its own, without any blaze patches needed. While at it, I (think I) unified objc and c++ coverage features. Other than coverage, this cl only adds features that bazel would add otherwise. Ping #2420 RELNOTES: ObjC and C++ coverage feature is unified under name 'coverage' PiperOrigin-RevId: 160633192
* Introduce ctx.actions.write in place of ctx.file_action.Gravatar dslomov2017-06-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 160630261
* Undo Java 8 updates to fix bootstrapping on MacOS.Gravatar laszlocsomor2017-06-30
| | | | | | | Fixes fallout from https://github.com/bazelbuild/bazel/commit/fda985b069ed4cc1966a6ced5743c396f91ac688. RELNOTES: none PiperOrigin-RevId: 160626838
* Implement ctx.actions.do_nothing instead of ctx.empty_actionGravatar dslomov2017-06-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 160621674
* A little cosmetic cleanup in the wake of the Java 8 migration.Gravatar lberki2017-06-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 160619371
* Implement retry logic for the gRPC calls in remote execution and caching. TheGravatar olaola2017-06-30
| | | | | | | | retry strategy may need tuning. Other behavior changes: swallowing gRPC CANCELLED errors when the thread is interrupted, as these are expected and just make debugging difficult. Also, distinguishing between the gRPC DEADLINE_EXCEEDED caused by the actual command timing out on the server vs. other causes (the former should not be retriable, while the latter should retry). TESTED=unit tests, remote worker on Bazel PiperOrigin-RevId: 160605830
* Slight refactoring, functional noop: uploadChunks will need to get a ↵Gravatar olaola2017-06-30
| | | | | | | Chunker.Builder in my next change, so all the from factory methods are removed. TESTED=unit test PiperOrigin-RevId: 160594730
* Automated conversion to Java 8Gravatar laurentlb2017-06-30
| | | | | | | With a few manual fixes for readability. RELNOTES: None. PiperOrigin-RevId: 160582556
* Remove --xcode_override_workspace_root and ↵Gravatar cparsons2017-06-30
| | | | | | | | | --experimental_use_absolute_paths_for_actions. These flags are old and unused -- with the deletion of xcodegen, addition of Tulsi, and near-migration to crosstool objc compilation, these flags are long-deprecated and are now cleaned up. RELNOTES: None. PiperOrigin-RevId: 160578161
* Add categories transition values to android options.Gravatar ccalvarin2017-06-30
| | | | | | Automated formatting fixes standardize the @Option annotation. PiperOrigin-RevId: 160567787
* {ios,macos}_minimum_os flags now default to {ios_macos}_sdk_version valuesGravatar cparsons2017-06-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 160566592
* Decrease memory used by SpawnAction's param file builder.Gravatar tomlu2017-06-30
| | | | | | The previous implementation stores a copy of the param file's path fragment with an '@' prepended. This can add up if you have a lot of params files, but can be avoided by deferring that string expansion. PiperOrigin-RevId: 160559793
* Pick up default crosstool features in objc.Gravatar rduan2017-06-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 160553181
* Add a #getBytes() method to DeterministicWriter that returns a ByteString. ↵Gravatar janakr2017-06-30
| | | | | | | | By default it just delegates to the existing #writeOutputFile, but implementations may choose to override if they have easy access to a ByteString. Also change some DeterministicWriter implementations that do have easy access to the ByteString. PiperOrigin-RevId: 160550028
* Lambda cleanupGravatar laurentlb2017-06-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 160516183
* Add exports param to java_common.compile.Gravatar elenairina2017-06-29
| | | | | | | | This is a step forward to having the same semantics for java_library and custom Skylark rules that use java_common.compile, facilitating the migration from native Java rules to Skylark. Progress on #2614 PiperOrigin-RevId: 160513771
* Fix a few style issues.Gravatar lberki2017-06-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 160510979
* Migrate the lib.server package to Java 8.Gravatar lberki2017-06-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 160504704
* Add a lambda now that we can.Gravatar lberki2017-06-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 160498120
* Remove resource_extractor from android_sdk rule.Gravatar ajmichael2017-06-29
| | | | | | | | | | resource_extractor has nothing to do with the Android SDK. Once upon a time, it was needed for jack support, so it was colocated with the jack attributes in android_sdk. Nowadays, it is used as a necessary step before singlejar can run to build the APK. RELNOTES: None PiperOrigin-RevId: 160479247
* Introduce new android_instrumentation_test rule.Gravatar ajmichael2017-06-29
| | | | | | | | | | | This rule works with the android_instrumentation, android_device_script_fixture and android_host_service_fixture rules to support testing Android applications. None of these rules are installed yet, because the forthcoming Android test runner is not yet open sourced. https://github.com/bazelbuild/bazel/issues/903. RELNOTES: None PiperOrigin-RevId: 160465920
* Add a FeaturePolicyConfiguration for supporting limited feature rollouts.Gravatar mstaib2017-06-29
| | | | | | | | | | A common need is to limit access to a rule or feature - restricting a feature which is being deprecated or controlling the rollout of a new feature. This change adds the feature_control_policy flag, which allows developers to easily manage this process. RELNOTES: None. PiperOrigin-RevId: 160454166
* Enable aapt2 support in library actions.Gravatar corysmith2017-06-29
| | | | | RELNOTES: None PiperOrigin-RevId: 160445869
* Make sure that objc_ and apple_binary pass the host/nonhost feature flag forGravatar Googler2017-06-29
| | | | | | | parity with the cc_ rules. RELNOTES:None. PiperOrigin-RevId: 160438691
* List the default timeout values for all 4 possible values, not just 3 out of 4.Gravatar Googler2017-06-29
| | | | PiperOrigin-RevId: 160427360
* Remove implicit dependency of objc rules on //tools/objc:header_scannerGravatar cparsons2017-06-29
| | | | | | | | | The correct dependency is on @bazel_tools//tools/objc:header_scanner, and this is determined by configuration value. I have manually verified this fixes https://github.com/bazelbuild/bazel/issues/2723 . Ultimately we will want to follow up and write a regression test for rdeps functioning, but that is significantly harder than this quick fix. RELNOTES: None. PiperOrigin-RevId: 160424016
* Refactoring the ApplicationManifest for clarity:Gravatar corysmith2017-06-29
| | | | | | | | * Split the aar, library and binary packWith calls. * Remove unused argument from the new binary and library packWith calls. RELNOTES: None PiperOrigin-RevId: 160414867
* Add categories to BES-related optionsGravatar aehlig2017-06-29
| | | | | | | | | | The build event stream reports about events during the build, so it is logging (in a broad sense). The idividual options affect where we (remotely) log to, how eager we do it, etc. So they affect where the output (of the logging) goes to. RELNOTES: None PiperOrigin-RevId: 160409925
* Writing build events to a file is no longer experimentalGravatar aehlig2017-06-28
| | | | | | | | Reflect this by renaming the options appropriately. While there, also add categories to those options. RELNOTES: writing build events to a file is no longer experimental PiperOrigin-RevId: 160400332
* Add ActionEnvironment, which is a wrapper class for a fixed+inherited envGravatar ulfjack2017-06-28
| | | | | | | | | | | | | | | | We are currently tracking the action environment (computed from --action_env), and the test action environment (computed from --test_env, and not including the action env) as two pairs of fields, and a lot of callers haven't been updated to handle both parts (TestRunnerAction does, but many 'normal' actions don't). However, both parts have always both be handled, and moving them into a single abstraction makes it harder to accidentally miss one part. We'll subsequently need to update all the action implementations to use the new abstraction, and also update the Skylark API (or bypass it and always apply the action environment for all actions, except we don't know which configuration to use). PiperOrigin-RevId: 160386181