aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
Commit message (Collapse)AuthorAge
* Add all the sources to //:srcs filegroup and add a check to detectGravatar Damien Martin-Guillerez2016-07-01
| | | | | | | | | | | missing file to it. We need to activate this check on presubmits -- Change-Id: Ia95e92d3816ce92bb69bc0e2cf56e9c60b68d970 Reviewed-on: https://bazel-review.googlesource.com/#/c/3949/ MOS_MIGRATED_REVID=126404792
* Fixed Bazel deb package dependency on Ubuntu 16.04Gravatar Yun Peng2016-07-01
| | | | | | | | | | Declare openjdk-9-jdk as Conflicts Progress towards #1456 -- Change-Id: I67c17b78f90f81dbcc9c39bf6f3915789662fa94 Reviewed-on: https://bazel-review.googlesource.com/#/c/3951 MOS_MIGRATED_REVID=126402113
* Remove hacks of building dll from msvc_link.pyGravatar Yun Peng2016-07-01
| | | | | | | -- Change-Id: I53ec66581c59d4bba8460fb3e5d20258ea36d0f1 Reviewed-on: https://bazel-review.googlesource.com/#/c/3940 MOS_MIGRATED_REVID=126306276
* Make building dll less a hack on WindowsGravatar Yun Peng2016-07-01
| | | | | | | | | | | | | | | | | | | | Add .dll as a shared library type like .so If we have target: cc_binary( name = "bar.dll", srcs = ["bar.cc"], linkshared = 1, ) Now we can build a dll using bazel build //foo:bar.dll If the target name is still bar.so, the wrapper script also build the dll by copying the output file to bar.dll. -- Change-Id: Ie3d1fb83965ddf691d0cc4734a61a0b0ce89d948 Reviewed-on: https://bazel-review.googlesource.com/#/c/3931 MOS_MIGRATED_REVID=126301390
* Adding features to MSVC CROSSTOOLGravatar Yun Peng2016-07-01
| | | | | | | | | | | | This stops Bazel from passing some of the gcc options to wrapper script. Options we get rid of: -c -o -MD -MF -frandom-seed -isystem -iquote -I -- Change-Id: I416b393c6875a2033d5382a644471c416cd5e8d1 Reviewed-on: https://bazel-review.googlesource.com/#/c/3930 MOS_MIGRATED_REVID=126299789
* Add compilation mode handling to swift_library.Gravatar Dmitry Shevchenko2016-06-30
| | | | | -- MOS_MIGRATED_REVID=126235788
* Rollback of commit 368cc56fb2baa3e21be4acdd2410a4ce8245de93.Gravatar Googler2016-06-30
| | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Broke builds that use apple_genrule. *** Original change description *** Move platform environment from xcrun_action to apple_action. This change ensures that scripts that don't need to be wrapped with xcrun_action (like actoolwrapper, ibtoolwrapper, and friends, because they internally invoke xcrunwrapper) also have the Xcode version and platform envvars set. RELNOTES: -- MOS_MIGRATED_REVID=126205606
* Move platform environment from xcrun_action to apple_action.Gravatar Googler2016-06-30
| | | | | | | | | | | | This change ensures that scripts that don't need to be wrapped with xcrun_action (like actoolwrapper, ibtoolwrapper, and friends, because they internally invoke xcrunwrapper) also have the Xcode version and platform envvars set. RELNOTES: -- MOS_MIGRATED_REVID=126195267
* Refactor how coverage support files get to test actions.Gravatar Lukacs Berki2016-06-29
| | | | | | | | | Previously we used labels in each configuration fragment that then got added to every test action. Instead, we now have a filegroup under //tools/test for coverage files that truly need to be on the inputs of every test action and collect language-specific support files in InstrumentedFilesProvider. This makes configuration creation simpler and makes it possible to turn --crosstool_top into something else other than a filegroup (previously, it was that filegroup that got added to every test action) -- MOS_MIGRATED_REVID=126170241
* Improve Clang modules compilation from swift_library ruleGravatar Dmitry Shevchenko2016-06-29
| | | | | | | | * Passes additional defines and copts specified by objc_ rules to clang from the swift compilation. * Adds a module cache path flag that equals to the on used by objc_ targets. -- MOS_MIGRATED_REVID=126099975
* Adds the Android manifest merger as an option for android_binary rules. The ↵Gravatar Andrew Pellegrini2016-06-23
| | | | | | | | | merger that is used (legacy or android) is controlled by the manifest_merger attribute on android_binary and the default is controlled by the --android_manifest_merger flag. RELNOTES: The Android manifest merger is now available as an option for android_binary rules. The merger will honor tools annotations in AndroidManifest.xml and will perform placeholder substitutions using the values specified in android_binary.manifest_values. The merger may be selected by setting the manifest_merger attribute on android_binary. -- MOS_MIGRATED_REVID=125603954
* Description redacted.Gravatar Carmi Grushko2016-06-23
| | | | | -- MOS_MIGRATED_REVID=125589653
* Rename data_path to strip_prefix, and directory to package_dir.Gravatar Yue Gan2016-06-22
| | | | | | | Fixes #1403 -- MOS_MIGRATED_REVID=125543227
* Roll forward of commit 2ba818ca7d2c77f517f1c0e6540c9af0501b7fb2: Ensure ↵Gravatar Andrew Pellegrini2016-06-22
| | | | | | | | | | | manifest merger places the application element as the last child of the manifest element. This is required for Android N. NEW: fixed index out of range exception RELNOTES: Merged manifests are guaranteed to have the application element as the last child of the manifest element as required by Android N. -- MOS_MIGRATED_REVID=125493743
* Fix test runner on Windows without runfiles.Gravatar Dmitry Lomov2016-06-21
| | | | | | | -- Change-Id: I9187a50b8070e0615863d1e4f14373c902278489 Reviewed-on: https://bazel-review.googlesource.com/#/c/3851/ MOS_MIGRATED_REVID=125451055
* Replace #!/bin/bash -eu with #!/bin/bash and "set -eu". Otherwise, the "-eu" ↵Gravatar Philipp Wollermann2016-06-21
| | | | | | | | | is not picked up when you run the scripts manually using "bash script.sh". This is also in our shell style guide: "Executables must start with #!/bin/bash and a minimum number of flags. Use set to set shell options so that calling your script as bash <script_name> does not break its functionality." -- MOS_MIGRATED_REVID=125450962
* When running Java-based tools, use -XX:+TieredCompilation ↵Gravatar Philipp Wollermann2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -XX:TieredStopAtLevel=1 instead of -client, as the latter is ignored on 64-bit JVMs since at least JDK 6. The new flags have been shown to cut down CPU time by 50% due to reduced time spent in JIT and improving overall run time for short running actions, some times also cutting them in half. Here's a benchmark of Bazel building itself, giving a nice 2-4x speedup: ./output/bazel clean && ./output/bazel build //src:bazel Bazel before this change: INFO: Elapsed time: 197.783s, Critical Path: 194.10s INFO: Elapsed time: 198.928s, Critical Path: 195.65s INFO: Elapsed time: 194.913s, Critical Path: 191.56s Bazel before this change with --strategy=Javac=worker: INFO: Elapsed time: 130.436s, Critical Path: 124.27s INFO: Elapsed time: 116.114s, Critical Path: 112.30s INFO: Elapsed time: 116.852s, Critical Path: 84.45s Bazel with this change: INFO: Elapsed time: 121.625s, Critical Path: 119.08s INFO: Elapsed time: 119.401s, Critical Path: 115.80s INFO: Elapsed time: 121.198s, Critical Path: 119.03s Bazel with this change and --strategy=Javac=worker: INFO: Elapsed time: 54.456s, Critical Path: 51.28s INFO: Elapsed time: 53.272s, Critical Path: 51.09s INFO: Elapsed time: 52.966s, Critical Path: 49.86s Bazel with this change and --strategy=Javac=worker and stripping -XX:TieredStopAtLevel=1 from JVM flags when using workers: INFO: Elapsed time: 61.599s, Critical Path: 58.93s INFO: Elapsed time: 48.695s, Critical Path: 45.02s INFO: Elapsed time: 46.874s, Critical Path: 43.91s INFO: Elapsed time: 46.174s, Critical Path: 43.32s (The latter is a possible optimization for workers and it's also nice to know that the limited tiered compilation does not hurt their performance.) -- MOS_MIGRATED_REVID=125448089
* Disable runfiles on Windows.Gravatar Dmitry Lomov2016-06-21
| | | | | | | | | | | | This adds a new configuration option that allows disabling the creation of symlink forest for runfiles. On Windows, symlink forest is disabled by default; only the runfiles manifest is created. For shell tests, a function 'rlocation' is provided that converts from runfiles location to a real location. Work towards #1212. -- MOS_MIGRATED_REVID=125439553
* Adds missing arguments. Fixes #1403.Gravatar Yue Gan2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125429700
* Remove breakpad support from bazelGravatar Dmitry Shevchenko2016-06-21
| | | | | -- MOS_MIGRATED_REVID=125385321
* Rollback of commit df39a8a06e32aa864d2504df1ea2c7ed162c8c1d.Gravatar Googler2016-06-16
| | | | | | | | | | | | | | | *** Reason for rollback *** Broke a few projects, including many targets in AGSA: [] *** Original change description *** Ensure manifest merger places the application element as the last child of the manifest element. This is required for Android N. RELNOTES: Merged manifests are guaranteed to have the application element as the last child of the manifest element as required by Android N. -- MOS_MIGRATED_REVID=124960831
* Ensure manifest merger places the application element as the last child of ↵Gravatar Andrew Pellegrini2016-06-16
| | | | | | | | | the manifest element. This is required for Android N. RELNOTES: Merged manifests are guaranteed to have the application element as the last child of the manifest element as required by Android N. -- MOS_MIGRATED_REVID=124954782
* Use valid workspace names in docker_buildGravatar Googler2016-06-15
| | | | | | | | | | Without this change, I get the following error: ERROR: /workspace/WORKSPACE:2:1: new_http_archive rule //external:docker-debian's name field must be a legal workspace name. I think this naming was made invalid in Bazel 0.1.5 -- MOS_MIGRATED_REVID=124846207
* Adds a step before creating the resource apk (ap_) to swap out the applicationGravatar Alex Humesky2016-06-13
| | | | | | | tag's name attribute to the Instant Run application class. -- MOS_MIGRATED_REVID=124606107
* docker_build: use a flagfile when creating the layer.Gravatar Damien Martin-Guillerez2016-06-10
| | | | | | | See https://groups.google.com/d/msgid/bazel-discuss/CAM01fBriKWxwFeb%2B-M80ryJq2Um97N9JZbr5BF7pO-xVa8cL_g%40mail.gmail.com?utm_medium=email&utm_source=footer -- MOS_MIGRATED_REVID=124543258
* Reverts the protobuf lib dependency being loaded from tools/objc, and ↵Gravatar Sergio Campama2016-06-10
| | | | | | | instead load it from //external. -- MOS_MIGRATED_REVID=124480945
* Update 'docker_build' to support 1.10 image formatGravatar Sam Guymer2016-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Docker 1.10 updated the format of images moving layers to just being tarballs referenced by a configuration file. A new manifest.json file aggregates images and handles parent and tagging references. Layers and images are now identified by their sha256 hash. An image configuration file must reference all layers that belong to it by this identifier, including all layers in any parent images. Image configuration is generated the same way but now allows multiple layer sha256 hashes to be provided. The base image configuration is read to find config defaults and the layer identifiers that need to be present. Image creation now requires the layer identifier and file and can accept multiple layers. A manifest with a single entry is created that points at the image configuration, its layers and tags. If a base image is provided its layers are added to the begining of the layer section and a parent reference to the base image is added. Multiple tags can be provided which are applied when the image is loaded. The joining of partial images now consists of merging their contents minus the manifest which is concatentated together. These changes have been made in a backwards compatible way so versions of docker below 1.10 will still work as before. Fixes #1113 -- Change-Id: I0075decc48d8846ad16431948192db196ad702ee Reviewed-on: https://bazel-review.googlesource.com/3730 MOS_MIGRATED_REVID=124339578
* Rollback of commit bda8ae9212621da50d6b18f185f99450fb6d6da9.Gravatar Lukacs Berki2016-06-06
| | | | | | | | | | | | | | | *** Reason for rollback *** Cannot be built with currently released Bazel. *** Original change description *** Remove redirect chasing from AndroidConfiguration.Loader. With aliases, it's not necessary anymore. -- MOS_MIGRATED_REVID=124123904
* Use alias instead of a filegroup for the //tools/cpp:toolchain entry point ↵Gravatar Lukacs Berki2016-06-06
| | | | | | | for the C++ toolchain. -- MOS_MIGRATED_REVID=124111346
* Add uses_swift flag to the providers exported by swift_library.Gravatar Dmitry Shevchenko2016-06-06
| | | | | | | * This eliminates the need to put "dummy.swift" into objc_binary targets that depend on swift_library. -- MOS_MIGRATED_REVID=124015750
* Migrate to alias-based redirection for android_sdk.Gravatar Lukacs Berki2016-06-06
| | | | | -- MOS_MIGRATED_REVID=123971774
* Wire up the |user| parameter to |docker_build|.Gravatar Googler2016-06-02
| | | | | | | | | | | The Docker USER parameter[1] specifies the system user that the contained process will run under, amoungst other things. The |docker_build| function already has an argument for this, but it was previously ignored. [1] https://docs.docker.com/engine/reference/builder/#user -- MOS_MIGRATED_REVID=123782558
* Cleanup framework path handling in swift_libraryGravatar Dmitry Shevchenko2016-06-01
| | | | | -- MOS_MIGRATED_REVID=123663717
* Make cpp tests refer to docker runfiles at the right pathGravatar Kristina Chodorow2016-05-31
| | | | | | | Fixes #1316. -- MOS_MIGRATED_REVID=123655074
* Make Android rules/tests refer to the correct runfiles pathsGravatar Kristina Chodorow2016-05-31
| | | | | | | Fixes the android part of #1316. -- MOS_MIGRATED_REVID=123644129
* cc_configure: removes -no-canonical-prefixes from the list of default flagsGravatar Damien Martin-Guillerez2016-05-31
| | | | | | | | | | | | | This might causes problem in a future remote execution services but in that kind of service it would make more sense to not use the auto-configured C++ toolchain. Tested with bazel test //tools/cpp/test:* Fixes #1204. -- MOS_MIGRATED_REVID=123643630
* Update swift_library logic for module name generationGravatar Dmitry Shevchenko2016-05-30
| | | | | | | | * Modules are now named after its full target path by default. * module_name attribute can be used to override this logic. -- MOS_MIGRATED_REVID=123422704
* Add support for importing frameworks to swift_library.Gravatar Dmitry Shevchenko2016-05-27
| | | | | | | | | | * Adds a way to read FRAMEWORK_ keys from ObjcProvider and provide outputs as -F args to the compiler * Adds a sample dynamic framework for testing RELNOTES: swift_library is now able to import framework rules such as objc_framework. -- MOS_MIGRATED_REVID=123337139
* Add support for module maps to swift_libraryGravatar Dmitry Shevchenko2016-05-27
| | | | | | | | | * General cleanup of the rule code. * Adds a way to use modulemaps to import Objective-C code. * Adds a way to pass framework flags to the compiler and adds the developer frameworks dir from Xcode as one. -- MOS_MIGRATED_REVID=123217120
* Support for gathering all the protos seen in the transitive closure of ↵Gravatar Sergio Campama2016-05-25
| | | | | | | dependencies through the ObjcProtoAspect, compiling and linking the generated protos at the final linking target. This is only enabled for objc_proto_libraries using the portable_proto_filters attribute, and guarded with the "--experimental_auto_top_level_union_objc_protos" flag. This prevents duplicate symbol errors as the generated sources are only linked once. -- MOS_MIGRATED_REVID=123144532
* libtool wrapper script to isolate the unfortunate hacks we must make to get ↵Gravatar Chris Parsons2016-05-24
| | | | | | | around apple's buggy libtool tool -- MOS_MIGRATED_REVID=123024674
* Cleanup swift.bzl.Gravatar Dmitry Shevchenko2016-05-17
| | | | | | | | | Removes an old code path that is not relevant anymore. RELNOTES: -- MOS_MIGRATED_REVID=122534499
* Support top-level packages in pkg_tarGravatar Kristina Chodorow2016-05-17
| | | | | | | | | | | | | Previously, _short_path_dirname would take a short path like "libfoo.jar", rfind would return -1, sp[:-1] would return "libfoo.ja", and then _dest_path would strip that prefix off of "libfoo.jar", leaving just "r". Also added some unit tests for these functions. Fixes #1253. -- MOS_MIGRATED_REVID=122527723
* Add -headerpad_max_install_names to darwin CROSSTOOL linker flags.Gravatar David Chen2016-05-17
| | | | | | | Fixes #1269 -- MOS_MIGRATED_REVID=122502116
* Export Objective-C header from swift_library.Gravatar Dmitry Shevchenko2016-05-17
| | | | | | | | | * Switches the rule to output to genfiles/, this makes C-headers it produces importable by depending targets. RELNOTES: swift_library now generates an Objective-C header for its @objc interfaces. -- MOS_MIGRATED_REVID=122448949
* cc_configure: correctly detect 32/64 bits CPU for LinuxGravatar Damien Martin-Guillerez2016-05-11
| | | | | | | | | It is now consistent with CPU.java Fixes #1251. -- MOS_MIGRATED_REVID=122036487
* Global cleanup change.Gravatar Michael Staib2016-05-11
| | | | | -- MOS_MIGRATED_REVID=121953905
* MSVC toolchain changes for building TensorFlowGravatar Yun Peng2016-05-10
| | | | | | | -- Change-Id: If41817e3889f118a849a29cfb03ac0f7e07d5557 Reviewed-on: https://bazel-review.googlesource.com/#/c/3582 MOS_MIGRATED_REVID=121924420
* cc_configure: use the wrapper only if on Darwin and ship the environment ↵Gravatar Damien Martin-Guillerez2016-05-09
| | | | | | | | | | | | | | | | only if in homebrew This will fix the sandboxing issues for rules_rust and rules_go while still allowing to build inside homebrew. Should unblock #1238 Fixes bazelbuild/rules_go#20. Fixes bazelbuild/rules_rust#4. Tested under homebrew + classic tests. -- MOS_MIGRATED_REVID=121834186
* Remove rust, jsonnet, scala and closure from the Bazel repositoryGravatar Damien Martin-Guillerez2016-05-09
| | | | | | | | Those rules were moved to, respectively, https://github.com/bazelbuild/rules_rust, https://github.com/bazelbuild/rules_jsonnet, https://github.com/bazelbuild/rules_scala, and https://github.com/bazelbuild/rules_closure. -- MOS_MIGRATED_REVID=121834063