{"push_id":684934861,"size":121,"distinct_size":1,"ref":"refs/heads/selenium","head":"df20478ef9136000d6a43b80a920adac0afd627a","before":"a3fb9f5012413a64beae7c6ad52db32cc4d6fe92","commits":[{"sha":"d5dc921e2956636f409b3e74b07b05333c1d2f73","author":{"email":"f23a0e77a3a82aace180af5278beb863bba34c81@fb.com","name":"Adam Ernst"},"message":"Don't throw on not-yet-existing BuildTargetSourcePaths\n\nSummary:\nAt project generation time, the output file of a `BuildTargetSourcePath` may not exist yet. However it will exist after the project is generated (we will invoke genrules then) so we shouldn't block project generation on this.\n\nThis will allow using genrules inside `apple_resource` files.\n\nTest Plan: New integration test. Also opened a generated project and verified it looks right.","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/d5dc921e2956636f409b3e74b07b05333c1d2f73"},{"sha":"25743ee073039672b5ed7eaeec8e0ef0c56eb755","author":{"email":"1ca927701737ca3bccd1b9d94599b445695358b6@fb.com","name":"Shawn Wilsher"},"message":"Add a PowerShell script to launch soyweb locally\n\nSummary:\nThis is nearly the same as `docs/soyweb-local.sh`, but works on Windows.\n\nI never thought I'd have to look at the binary encoding of a JSON file,\nbut for this diff I had to to figure out that soyweb can't processes a\nUnicode-encoded JSON file.\n\nTest Plan: launched it and loaded it in my browser","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/25743ee073039672b5ed7eaeec8e0ef0c56eb755"},{"sha":"e7b2a2fdda949c490bd01b068f552ad06d24484a","author":{"email":"1ca927701737ca3bccd1b9d94599b445695358b6@fb.com","name":"Shawn Wilsher"},"message":"Use `bash` in our shell launcher\n\nSummary:\nWe don't want to invoke `python`, and want to default to `python2`.\nIn order to do that, we want to use `type -p`, although `-p` isn't\nrequired to exist\n(http://pubs.opengroup.org/onlinepubs/9699919799/utilities/type.html).\n\nTest Plan: CI","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/e7b2a2fdda949c490bd01b068f552ad06d24484a"},{"sha":"c044cac9c766b8d2490bc5ab9a5d50feef525338","author":{"email":"6aa1be71730a75c9811f6a0b6ac5054f69a50c3f@fb.com","name":"Andrew Gallagher"},"message":"Attach first-order deps from `$(classpath ...)` usage in genrules\n\nSummary:\nThe classpath macro resolves to the classpath formed by the transitive\ndependencies of the given.  Since these then become build requirements\nof the genrule, we need to attach these as first-order deps.\n\nTest Plan: added unittests","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/c044cac9c766b8d2490bc5ab9a5d50feef525338"},{"sha":"2af4609a5c58b79804787ab52a586d19aecca526","author":{"email":"6aa1be71730a75c9811f6a0b6ac5054f69a50c3f@fb.com","name":"Andrew Gallagher"},"message":"Make `DexProducedFromJavaLibrary` usuable without wrapped `JavaLibrary`\n\nSummary:\nThe `DexProducedFromJavaLibrary` rule has public methods which expect\nit's wrapped `JavaLibrary` to be available on disk.  Since this isn't\nthe case for top-down building (e.g. we could of pulled the\n`DexProducedFromJavaLibrary` from cache to build it's immediate dependent,\nin which case we wouldn't have the wrapped `JavaLibrary` available),\nthis diff breaks that requirement and has the `DexProducedFromJavaLibrary`\nstep store the information it needs from the wrapped `JavaLibrary` in\nit's metadata.\n\nTest Plan: added a unittest and updated others","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/2af4609a5c58b79804787ab52a586d19aecca526"},{"sha":"46212f4811f0dad7c7173b1acd48c2d3273e2bd3","author":{"email":"6aa1be71730a75c9811f6a0b6ac5054f69a50c3f@fb.com","name":"Andrew Gallagher"},"message":"RoboletricTestDescription: fix first-order deps\n\nSummary:\n- Attach dependencies' exported deps as first-order deps\n- Add javac options deps as first-order deps\n\nTest Plan: added unittest","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/46212f4811f0dad7c7173b1acd48c2d3273e2bd3"},{"sha":"c3a731e3fde977f15501e3ba79f868528ebbe606","author":{"email":"a1166ad1633243ec0ce1c24d3875f36521f50a72@fb.com","name":"Jakub Zika"},"message":"Avoid combining cxx preprocessor input multiple times\n\nSummary:\n  * When generating the cxx compilation rules, we spend a lot of time combining\n    cxx preprocessor input from transitive dependencies. It turns out that we\n    were combining the same input repeatedly, adding a few more entries\n    to it every time. Remove those consecutive invocations and replace them with\n    a single invocation once we have all the inputs we want to combine.\n\nTest Plan:\n  * `buck test`.\n  * Manually check that action graph generation for cxx rules is faster.","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/c3a731e3fde977f15501e3ba79f868528ebbe606"},{"sha":"f02cd73b82ff72889db07886ba2f4dd9fd62c179","author":{"email":"4897b806856dc91a43352f32c050e1e7ef7e5422@fb.com","name":"Martin Kosiba"},"message":"[new IJ project gen] Mark compiled_shadow libraries as exported.\n\nSummary:\nThe compiled_shadow libraries contain generated code (genrules,\nresults of AIDL processing, etc..) and therefore need to be visible\n\nTest Plan: buck test","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/f02cd73b82ff72889db07886ba2f4dd9fd62c179"},{"sha":"03495de997a1f5eccc47e1445fbb4d99a9396b6f","author":{"email":"c946aa019eb2e105c27e9ffc6f0113f198a67a0e@fb.com","name":"Uri Baghin"},"message":"Remove Java-WebSocket.\n\nSummary: This isn't referenced in any BUCK file.\n\nTest Plan: CI","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/03495de997a1f5eccc47e1445fbb4d99a9396b6f"},{"sha":"ff9bc4ed62c1069aa4bec66d4e380c3aaf0b5912","author":{"email":"a1166ad1633243ec0ce1c24d3875f36521f50a72@fb.com","name":"Jakub Zika"},"message":"Store SourcePathResolver in DefaultRuleKeyBuilderFactory\n\nSummary:\n  * If we want to enable caching of objects' rule keys, we need to make sure\n    that all rule key builders created by a single\n    `DefaultRuleKeyBuilderFactory` will produce the same rule key if we execute\n    the same oparations on them. To enforce that, we will remove the path\n    resolver from the parameters of `newInstance` and instead make it a member\n    variable.\n  * This means that we cannot create the factory until we have a path resolver.\n    Move the factory creation from `Main` to `TargetGraphToActionGraph` where\n    we first create the `BuildRuleResolver`.\n  * Remove the factory from `BuildRuleFactoryParams` because those are created\n    when we are building the target graph and we can't get a path resolver at\n    that point.\n  * Move `TargetGraphToActionGraph` to its own separate target to avoid\n    a cyclic dependency.\n\nTest Plan: `buck test`.","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/ff9bc4ed62c1069aa4bec66d4e380c3aaf0b5912"},{"sha":"f71a69e8c6841cc7e4824edfe7d5d13a92f9acc0","author":{"email":"a1166ad1633243ec0ce1c24d3875f36521f50a72@fb.com","name":"Jakub Zika"},"message":"Change the way we add RuleKeyAppendables to rule keys\n\nSummary:\n  * We would like to cache the result of adding a `RuleKeyAppendable` to a rule\n    key. To do that, we need to make sure that `RuleKeyAppendable` produces a\n    stable key that can be used repeatedly for rules belonging to other targets\n    and even rules of different type.\n  * This commit implements this idea by hashing the `RuleKeyAppendable` in a new\n    `RuleKey.Builder` and adding the value of the created rule key as a\n    single entry in the rule key of the containing object.\n  * This means we no longer need to pass the string `key` to the\n    `RuleKeyAppendable`s when we add them to the rule key because they can only\n    affect the single entry associated with their name. We remove the `key` from\n    the appendable interface so we don't need to include it in the cache that\n    will come in a later diff.\n  * This changes also means that the namespace semantics of the rule keys are\n    enforced more strongly because it can no longer happen that\n    `RuleKeyAppendable`s will forget to prepend their fields with their key\n    when calling `RuleKey.Builder.setReflectively`.\n\nTest Plan: `buck test`","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/f71a69e8c6841cc7e4824edfe7d5d13a92f9acc0"},{"sha":"b43ca22137a019b2d7d13a61ba51a86ca28e7e99","author":{"email":"a1166ad1633243ec0ce1c24d3875f36521f50a72@fb.com","name":"Jakub Zika"},"message":"Cache rule keys for RuleKeyAppendables\n\nSummary:\n  * Since `RuleKeyAppendable`s are now guaranteed to append the same information\n    into a rule key builder no matter in what context they are used, we can\n    cache this information and speed up the rule key computation if a single\n    `RuleKeyAppendable` is used repeatedly from multiple rules.\n  * This is mainly beneficial for the cxx rules that include `CxxHeaders` in\n    their rule keys which is shared between all rules belonging to the same\n    target and often contains a huge map of cxx header files that takes a\n    significant amount of time to process.\n\nTest Plan:\n  * `buck test`.\n  * Manually check that the cxx rules have a better performance during noop\n    builds and that the memory footprint is not significantly higher than\n    before.","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/b43ca22137a019b2d7d13a61ba51a86ca28e7e99"},{"sha":"b7030deb681193b4c531dca892f9f10ed6e42cf2","author":{"email":"c946aa019eb2e105c27e9ffc6f0113f198a67a0e@fb.com","name":"Uri Baghin"},"message":"Add --build-with-buck flag to Xcode project generation.\n\nSummary:\nAdds a new flag to project generation that generates an Xcode project\nthat will build and run an application with Buck instead of Xcode.\nXcode will still provide code indexing and testing.\n\nTest Plan:\nCI\nnew tests\nGenerate a project for an application, build and run, see build log.","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/b7030deb681193b4c531dca892f9f10ed6e42cf2"},{"sha":"8a01d2ae9f97c62fa64ab84e1a2586dddc00859a","author":{"email":"c946aa019eb2e105c27e9ffc6f0113f198a67a0e@fb.com","name":"Uri Baghin"},"message":"Remove unused version of commons-codec.\n\nSummary: This jar isn't referenced in any BUCK file.\n\nTest Plan: CI","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/8a01d2ae9f97c62fa64ab84e1a2586dddc00859a"},{"sha":"63477caabe47c69bcb201e105b382f4f9d832c3d","author":{"email":"c946aa019eb2e105c27e9ffc6f0113f198a67a0e@fb.com","name":"Uri Baghin"},"message":"Remove Cassandra cache.\n\nSummary:\nThe Cassandra remote artifact cache is now deprecated as the HTTP\ncache has replaced it completely. This removes all the code related to that.\n\nTest Plan: CI","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/63477caabe47c69bcb201e105b382f4f9d832c3d"},{"sha":"e9839121a032d19e593503e53f6f81e49a73d98f","author":{"email":"c946aa019eb2e105c27e9ffc6f0113f198a67a0e@fb.com","name":"Uri Baghin"},"message":"Fix http cache API docs.\n\nSummary:\nThese docs have not been kept up to date with the changes in the\nhttp cache, this fixes them.\n\nTest Plan: read the docs","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/e9839121a032d19e593503e53f6f81e49a73d98f"},{"sha":"a7541d2379e525928d6804cbe24892f736e05632","author":{"email":"cd5d49e4d71817d0d870f02fc19163fd3c2f6d3a@fb.com","name":"Russell Porter"},"message":"Revert \"Make proguard config, assets dirs, and resources dirs `SourcePaths`\"\n\nSummary: This reverts commit 12c02a4d94cd32ad38f6874ae22fd8a0e97866a1.\n\nTest Plan: CI, verified that string assets are building again.","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/a7541d2379e525928d6804cbe24892f736e05632"},{"sha":"7b9dff36b59a745e2e06343a69499035f37273f4","author":{"email":"f23a0e77a3a82aace180af5278beb863bba34c81@fb.com","name":"Adam Ernst"},"message":"Fix (and test) info plist default overrides\n\nSummary: I never actually tested that EXECUTABLE_NAME could be overridden. Turns out `ImmutableMap` doesn't allow duplicate keys; I assumed it would just take the last one, but that's not true. Fix it and test it.\n\nTest Plan: integration test","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/7b9dff36b59a745e2e06343a69499035f37273f4"},{"sha":"ea9d9411d9646909aae9d2747a4c514ba1b5d114","author":{"email":"6aa1be71730a75c9811f6a0b6ac5054f69a50c3f@fb.com","name":"Andrew Gallagher"},"message":"HttpArtifactCache: reuse connections from cache misses\n\nSummary:\nConnections from requests only get reused if their input streams are\ncompletely read.  This diff makes sure to read the entire contents of\ninput streams from failed requests.\n\nTest Plan:\nRan a build with all cache misses and verified connection count didn't\nspiral out of control (>200 in some cases).","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/ea9d9411d9646909aae9d2747a4c514ba1b5d114"},{"sha":"0875f4e7c25c197a6f682303d144e1a6891ed203","author":{"email":"6aa1be71730a75c9811f6a0b6ac5054f69a50c3f@fb.com","name":"Andrew Gallagher"},"message":"super console: update cache stats on artifact finished events\n\nSummary:\nPreviously, we'd collect cache stats via the build rule finished\nevents.  However, we get this information on the bus a lot sooner\nin the form of an artifact finished event, meaning we can display\nthis before the rule has finished being processed.\n\nThis is particularly useful in top-down building, since we may not\nfinish processing the rule until long after doing the initial fetch.\n\nTest Plan: Performed a top-down build and saw cache stats on downwards pass.","distinct":false,"url":"https://api.github.com/repos/shs96c/buck/commits/0875f4e7c25c197a6f682303d144e1a6891ed203"}]}