aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Always use exactly two components in Xcode version featureHEADmasterGravatar bbaren2018-08-15
| | | | | | | | | | | | | | | | When setting the standard Xcode version feature (see commit eb952d08f76afa907bb34eaf7e1a69899102c523), always use exactly two components for the version number. Grouping all point releases together simplifies writing CROSSTOOLs. Also fix a bug in MockObjcSupport that prevented Xcode version selection in tests from working properly. RELNOTES: The standard `xcode_VERSION` feature now always uses exactly two components in the version, even if you specify `--xcode_version` with more or fewer than two. PiperOrigin-RevId: 208877588
* Clarify docs for ctx.actions.run_shell()'s command/argumentsGravatar brandjon2018-08-15
| | | | | | | | | | | - Clarified incompatibility between giving args and giving list of strings for command. - Added more detail about how $i expansion is done. - Removed incorrect indication that None is allowed for "command". RELNOTES: None PiperOrigin-RevId: 208877037
* Use ConcurrentHashMap instead of Cache where we aren't using any of theGravatar Googler2018-08-15
| | | | | | | | LoadingCache's capabilities. According to profiles, using ConcurrentHashMap is about 3x more efficient. RELNOTES: None PiperOrigin-RevId: 208874176
* Throw an EvalException when run_shell is passed both a command string ↵Gravatar cparsons2018-08-15
| | | | | | | | | | | sequence and arguments. Previously, this resulted in an uncaught UnsupportedOperationException. Closes #5892. RELNOTES: None. PiperOrigin-RevId: 208865301
* PiperOrigin-RevId: 208861891Gravatar shahan2018-08-15
|
* Support tree artifacts in target complete.Gravatar tomlu2018-08-15
| | | | | RELNOTES: None PiperOrigin-RevId: 208861642
* Remove the 3-arg minimum on shell actionsGravatar cparsons2018-08-15
| | | | | RELNOTES: None. PiperOrigin-RevId: 208855272
* Have DigestMap support multiple hash functions.Gravatar tomlu2018-08-15
| | | | | RELNOTES: None PiperOrigin-RevId: 208837641
* Enable proto based resource shrinkingGravatar corysmith2018-08-15
| | | | | RELNOTES: None PiperOrigin-RevId: 208831294
* Filter out events from analysis when constructing execution-phase values in ↵Gravatar janakr2018-08-14
| | | | | | | | | | Skyframe. This avoids some unnecessary iteration over already-emitted events that can show up in profiles, and allows us to store execution-phase values a bit more compactly, since we don't need to carry around wrapper objects and nested sets everywhere. This crucially depends on the fact that we can't build a target in the execution phase without first having analyzed it in a separate Skyframe call. Skyframe normally propagates all events/posts up the graph because it must be able to emit them if a user requests a node that only transitively depends on the node that emitted an event. However, because we do analysis in a separate Skyframe call, any warnings/posts associated with the analysis nodes will be emitted then, and we don't need to propagate them into execution. PiperOrigin-RevId: 208767078
* Automated rollback of commit 37bd5f665aa614c6dc640c9d19852dd8d5efb0d8.Gravatar felly2018-08-14
| | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Rollforward with fix: Don't use Immutable map builder to agggregate Filesets. We may reach the same one via direct and indirect runfiles, so we need to allow for duplicate entries. *** Original change description *** Automated rollback of commit 3bace1b937934fb2cea6260067ecc1cdbe526847. *** Reason for rollback *** b/112583337 RELNOTES: None *** Original change description *** Track Fileset in artifact expansion. PiperOrigin-RevId: 208748163
* Add note about requiring an <instrumentation> tag in a test app's ↵Gravatar jingwen2018-08-14
| | | | | | | AndroidManifest.xml RELNOTES: None. PiperOrigin-RevId: 208725953
* [Skylark] Avoid unnecessary subList invocations.Gravatar Taras Tsugrii2018-08-14
| | | | | | | | | | It's better to not add `self` positional argument if it's not needed, instead of adding it and removing it laster on. `subList` invoaction results in more allocations and CPU overhead when using positional args. Closes #5812. PiperOrigin-RevId: 208687360
* Skip __init__.py in __pycache__ dir.Gravatar Googler2018-08-14
| | | | | RELNOTES: None. PiperOrigin-RevId: 208683453
* Carry Fileset flags over to host configuration.Gravatar felly2018-08-14
| | | | | RELNOTES: None PiperOrigin-RevId: 208676674
* Create new config module that is responsible for creating BuildSetting ↵Gravatar juliexxia2018-08-14
| | | | | | | | | | descriptor objects. Build settings are units of configuration i.e. a key/value pair of a setting (e.g. cpu) and a value (e.g. ppc). A build setting descriptor is used to describe what kind of build setting a skylark rule is (if any at all). The BuildSettingDescriptor implementation of the API describes two facets of the build setting rule: the type of the value and whether or not the setting is settable on the command line. The methods exposed here will eventually be hooked up to a new parameter in the <code> rule() </code> function. Validation for these restrictions will also happen in a later CL attached to the same bug. PiperOrigin-RevId: 208669663
* Optimize the shrinking pass to prevent timeouts.Gravatar corysmith2018-08-14
| | | | | RELNOTES: None PiperOrigin-RevId: 208666806
* Fix "Deprecated API" headerGravatar laurentlb2018-08-14
| | | | | RELNOTES: None. PiperOrigin-RevId: 208661270
* Automated rollback of commit 3bace1b937934fb2cea6260067ecc1cdbe526847.Gravatar felly2018-08-14
| | | | | | | | | | | | | *** Reason for rollback *** b/112583337 RELNOTES: None *** Original change description *** Track Fileset in artifact expansion. PiperOrigin-RevId: 208658921
* Export constructors as global symbols.Gravatar Googler2018-08-14
| | | | | | | This CL also includes a fix for constructor names from the "Provider" module. Naming does not include the module's name now. (Provider.AndroidAssetsInfo() -> AndroidAssetsInfo()) RELNOTES: None PiperOrigin-RevId: 208658905
* test-wrapper: add empty impl + Bazel flagGravatar Laszlo Csomor2018-08-14
| | | | | | | | | | | | | | | | | | | | | | | This commit adds: - the skeleton implementation of the Windows native test wrapper - a depenency on the native test wrapper from test rules, through the new $test_wrapper rule attribute - the --windows_native_test_wrapper Bazel flag, which is currently a no-op See https://github.com/bazelbuild/bazel/issues/5508 Change-Id: I8df95c8ce8bab53c51c257698ec95416065a836e Closes #5854. Change-Id: I2ffc78bceec5dd867af775b5878f105fa87c3dba PiperOrigin-RevId: 208650699
* Add test to ensure that the binary building pipeline works.Gravatar corysmith2018-08-14
| | | | | RELNOTES: None PiperOrigin-RevId: 208647642
* Windows,tests: port nonincremental_builds_testGravatar Laszlo Csomor2018-08-14
| | | | | | | | | | | | | | //src/test/shell/integration:nonincremental_builds_test now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: I06fcc0ca713cbc65c677f23dee4171b9be4d7b11 Closes #5884. Change-Id: I06fcc0ca713cbc65c677f23dee4171b9be4d7b11 PiperOrigin-RevId: 208646495
* Add experimental option to do add local cpu usage values to the JSON profile.Gravatar twerth2018-08-14
| | | | | RELNOTES: None PiperOrigin-RevId: 208646319
* Explicitly cast ByteBuffer in clear() call to Buffer.Gravatar Tobias Werth2018-08-14
| | | | | | | | | | | | | This works around the following error: java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer; at com.google.devtools.build.lib.profiler.Profiler$BinaryFormatWriter.run(Profiler.java:949) at java.lang.Thread.run(Thread.java:748) JDK 9 introduced an overloaded methods with covariant return type. Closes #5886. PiperOrigin-RevId: 208642556
* Mark FancyTerminalEventHandler.handle() as synchronized. A previous changeGravatar Googler2018-08-14
| | | | | | | | removed "sychronized" from Reporter.handle() as we want to be able to let EventHandlers care about their own synchronization. RELNOTES: None. PiperOrigin-RevId: 208628638
* Do not create empty tools/defaults/BUILD file.Gravatar dbabkin2018-08-14
| | | | | | | Cleaning up all references to in-memory tools/defaults:* package. RELNOTES:none PiperOrigin-RevId: 208610485
* Add --filter_sources flag to LcovMerger.Gravatar iirina2018-08-14
| | | | | | | | | | | | When the `--filter_sources` flag is used `LcovMerger` excludes from the merged coverage the sources whose names match any of the regex in the flag. The value of `--filter_sources` is a list of regex separated by `,`. This flag comes as a preparation for using `gcov` instead of `lcov` for collecting coverage data for C++. The flag was not needed before because `lcov` has some functionality for excluding some files (e.g. `--no-external` to ignore coverage data for system files). Closes #5834. PiperOrigin-RevId: 208606867
* Windows,tests: port skylark_flag_testGravatar Laszlo Csomor2018-08-14
| | | | | | | | | | | | | | //src/test/shell/integration:skylark_flag_test now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: Ib698ddcfb2106fe4b9830da9b969e51271e91f58 Closes #5871. Change-Id: I382c01d4dd8d9ee030dc8fe190a50bd7a57f8ee4 PiperOrigin-RevId: 208606660
* Windows,tests: port incomp._changes_conflict_testGravatar Laszlo Csomor2018-08-14
| | | | | | | | | | | | | | //src/test/shell/integration:incompatible_changes_conflict_test now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: I9f599b3ac8e85f394320989a71c00547b493efca Closes #5870. Change-Id: I7fa6db3df8d5d06ac2849d538ed6d84030cb1069 PiperOrigin-RevId: 208604220
* Add exports attribute to proto_library.Gravatar twerth2018-08-14
| | | | | | | Note that it is currently only used by the java_proto_library family of rules (if enabled per flag). RELNOTES: None PiperOrigin-RevId: 208601730
* Automated rollback of commit 18e76da46b0c15d3309ac9d41f16fbd0468bc672.Gravatar Googler2018-08-13
| | | | | | | | | | | | | *** Reason for rollback *** Continuous build failure *** Original change description *** Enable proto based resource shrinking. RELNOTES: None PiperOrigin-RevId: 208572831
* Fixes broken javadoc FilesetTraversalParams (getNestedTraversal should beGravatar shahan2018-08-13
| | | | | | getNestedArtifact). PiperOrigin-RevId: 208565138
* Order Skyframe evaluations in a priority queue, with all children of a given ↵Gravatar janakr2018-08-13
| | | | | | | | node having the same priority, later enqueueings having higher priority, re-enqueued nodes having highest priority, and new root nodes having lowest priority. Experimentally, this can save significant RAM (1.4G in some builds!) while not affecting speed. Also do a semi-drive-by deleting ExecutorFactory parameter to AbstractQueueVisitor, since it was always AbstractQueueVisitor.EXECUTOR_FACTORY. PiperOrigin-RevId: 208560889
* Fix MultisetSemaphore.Gravatar nharmata2018-08-13
| | | | | | | | | We use a fixed version of the previous algorithm. See the comments for details. Fancier algorithms exist. I thought of a cool one that makes use of BatchKeyedLocker (would give me an excuse to revive it, heh), but fancy algorithms would be overkill. As noted in the initial commit of NaiveMultisetSemaphore, performance isn't critical. RELNOTES: None PiperOrigin-RevId: 208560559
* Don't disable preverificationGravatar cushon2018-08-13
| | | | | | | to ensure output contains valid stack map tables. context: https://github.com/bazelbuild/bazel/issues/5855 PiperOrigin-RevId: 208555048
* Blacklists some classes for serialization.Gravatar shahan2018-08-13
| | | | PiperOrigin-RevId: 208554171
* Add a <code>getSkylarkOptions</code> helper function to all OptionsProviders.Gravatar juliexxia2018-08-13
| | | | | | This is to allow OptionsProviders to access the new skylark options which aren't held in a fragment class like native options and thus can't be accessed with the traditional <code>get</code> method. Currently this function isn't called anywhere and would just return an empty map. But in the future it will return a map of skylark flag names to values. PiperOrigin-RevId: 208552510
* Track Fileset in artifact expansion.Gravatar felly2018-08-13
| | | | PiperOrigin-RevId: 208549418
* Set the default strategy of DexBuilder to use persistent workers.Gravatar jingwen2018-08-13
| | | | | | | | | This brings 1.2x speedup to clean local Android builds. Fixes https://github.com/bazelbuild/bazel/issues/5771 RELNOTES: For Android incremental dexing actions, Bazel now persists its DexBuilder process across individual actions. From our benchmarks, this results in a 1.2x speedup for clean local builds. PiperOrigin-RevId: 208546936
* Quiet 'Illegal reflective access by com.google.protobuf.UnsafeUtil' warningsGravatar cushon2018-08-13
| | | | | see: https://github.com/google/protobuf/issues/3781 PiperOrigin-RevId: 208535953
* Enable proto based resource shrinking.Gravatar corysmith2018-08-13
| | | | | RELNOTES: None PiperOrigin-RevId: 208532627
* Correctly manage the ProtoApk lifecycle by ensuring it is closed when finished.Gravatar corysmith2018-08-13
| | | | | | | | | Move finding used resources to ProtoResourceUsageAnalyzer for correctness and memory improvements. New report format: now records the kept resource along with the resource that keep it, as well maintaining the root status for each resource. Example line: {number/foo[isRoot: false] = 0x07f...} => [{array/foos[isRoot: true] = 0x...}...] RELNOTES: None PiperOrigin-RevId: 208529350
* Adding test for an instance of Style having both reference and item.Gravatar corysmith2018-08-13
| | | | | RELNOTES: None PiperOrigin-RevId: 208525880
* Changed all instances of /*itf=*/ to /*isInterface=*/ to eliminate errors.Gravatar Googler2018-08-13
| | | | | RELNOTES: None PiperOrigin-RevId: 208523963
* Add experimental tool to turn Bazel Json profiles into graphs.Gravatar twerth2018-08-13
| | | | | RELNOTES: None PiperOrigin-RevId: 208509424
* Add easy access to MessageDigests in DigestHashFunctionGravatar ccalvarin2018-08-13
| | | | | | | Move the message-digest cloning to DigestHashFunction and out of Fingerprint, to make it possible to configure Fingerprint to use different hash functions. We keep the default MD5 for now, we'd like it to use the global default but want to isolate the configuration change from any change adding potential contention. RELNOTES: None. PiperOrigin-RevId: 208502993
* Windows,tests: port cpp_testGravatar Laszlo Csomor2018-08-13
| | | | | | | | | | | | | | //src/test/shell/integration:cpp_test now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: I7dd4ce2b5702e5853ee357ab4f2a728af7d3018d Closes #5874. Change-Id: I7dd4ce2b5702e5853ee357ab4f2a728af7d3018d PiperOrigin-RevId: 208484274
* Windows,tests: port rc_options_testGravatar Laszlo Csomor2018-08-13
| | | | | | | | | | | | | | //src/test/shell/integration:rc_options_test now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: I1fe42e1477e9ebfb94ccfb896de4af5a72e3bb61 Closes #5873. Change-Id: I1fe42e1477e9ebfb94ccfb896de4af5a72e3bb61 PiperOrigin-RevId: 208479907
* Fix lock contention in Reporter.startTask/.finishTask by:Gravatar Googler2018-08-13
| | | | | | | | | | | | - Using a thread-safe container to store handlers. - Using a ThreadLocal NumberFormat to produce readable action counts. NumberFormat (or rather the default implementation DecimalFormat) use internal state and locking. - Adding a lock-free fast path for START and FINISH events in ExperimentalEventHandler. RELNOTES: None. PiperOrigin-RevId: 208479896