)]}'
{
  "commit": "a76c94be7c56b93fc5a2f9ececfba7ac1f61f69c",
  "tree": "09c1ab12473aa8ac6b453b24db098e8b347fe7a9",
  "parents": [
    "681b8174d5ae989cf9489716e4c15a54c2d36bc4"
  ],
  "author": {
    "name": "laszlocsomor",
    "email": "laszlocsomor@google.com",
    "time": "Fri Jul 14 17:06:05 2017 +0200"
  },
  "committer": {
    "name": "Jakob Buchgraber",
    "email": "buchgr@google.com",
    "time": "Mon Jul 17 10:10:39 2017 +0200"
  },
  "message": "CustomCommandLine.Builder: clean up its interface\n\nIn this commit:\n- remove unused methods and classes\n- turn CustomCommandLine.ArgvFragment into an\n  interface\n- remove the\n  CustomCommandLine.TreeFileArtifactArgvFragment\n  abstract class; it only had one remaining\n  subclass\n- add @Nullable annotations where nulls are fine\n- add Precondition checks for non-nullable args\n- simplify the interface by removing add* methods\n  that can be composed of other add* methods; this\n  makes it easier to see what the callers do with\n  the Builder\n- remove add* methods that add a single argument\n  followed by a list of other elements (or a\n  joined string of them); these had a bug in that\n  they didn\u0027t check if the collection was empty\n  (only that it was not null), and if it was empty\n  then the single argument was still added though\n  it was not followed by any value\n- fix call sites of add* methods where we\n  previously could have added a flag with an empty\n  collection\n- audit every affected call site\n\nRELNOTES: none\nPiperOrigin-RevId: 161957521\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "601229bd1475c9c5cd17f6dede52260e41737e98",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/actions/CustomCommandLine.java",
      "new_id": "b05b0394c6452d6b5d4c654392e43474bb821fc8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/actions/CustomCommandLine.java"
    },
    {
      "type": "modify",
      "old_id": "7a3e16b207a1d4c7272812b1695a76f6cdc02a46",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/actions/ParamFileHelper.java",
      "new_id": "d75d31300e84c286b369808ac661388b122c238d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/actions/ParamFileHelper.java"
    },
    {
      "type": "modify",
      "old_id": "a77e25094c70c12e72000db58d0b9465e37c40a6",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java",
      "new_id": "3f8e47fc486c7e6c21540e6b53621162fd0c148b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestBase.java"
    },
    {
      "type": "modify",
      "old_id": "fd827b696297fe1d499dd72d0ba4e92b4431a312",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java",
      "new_id": "4589c93dd16240be54662dcd58adf6c6d976a7e5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/android/AndroidResourcesProcessorBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "e4baef192ab029a56d48376d2db0287b0ca13cba",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/android/LibraryRGeneratorActionBuilder.java",
      "new_id": "52cab02505d5bd4dce092f9d7be6def4d37b69f4",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/android/LibraryRGeneratorActionBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "12215da6390f84137706f5df27e5f5097118e506",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java",
      "new_id": "3cbb11b841b70f596efbabfb1c72778c4c391cb8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/android/RClassGeneratorActionBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "98393b204511216c6d63e959d102dcc665dd44d1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/android/ResourceContainerConverter.java",
      "new_id": "e980b9995f7967796b6afd9cc67c10dbd62bf223",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/android/ResourceContainerConverter.java"
    },
    {
      "type": "modify",
      "old_id": "60d414ddc4ff3ff1ac3631e93f6b81f0c0d42bf5",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java",
      "new_id": "ef077eb5dc91d30a520644cefcd3ba5b60e021e6",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "20fe4104fd9646d1873b6a24b734f6e0e479e3da",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/android/RobolectricResourceSymbolsActionBuilder.java",
      "new_id": "23b52fd94a2d5c225084370f70a2197a2c95a211",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/android/RobolectricResourceSymbolsActionBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "5aa4340af5479da299575853a8cfe94964b8a3f5",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/java/DeployArchiveBuilder.java",
      "new_id": "b87666a5278503ec81c39f47fb6d602a2ba0019e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/java/DeployArchiveBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "b45cb28a0ea2756a0d10f5347d0389d0f5c4d047",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java",
      "new_id": "0fbe097fcff4115c05ba154d3c065e1d42f48fe5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java"
    },
    {
      "type": "modify",
      "old_id": "1bd31013bc62850c6a4139b413386cc234d809d9",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileAction.java",
      "new_id": "046149453fe9187ea244f53d001ef2cf0a973ef8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileAction.java"
    },
    {
      "type": "modify",
      "old_id": "eaa06555fb864a359f7539482c92f9d1cb5a9e63",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/java/ResourceJarActionBuilder.java",
      "new_id": "dbac08d772e4ba1fccdcdf2a107e5a48e2dc20af",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/java/ResourceJarActionBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "578f94b6e49952a388a5f93b84e690ec9361f740",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/java/SingleJarActionBuilder.java",
      "new_id": "8d5b5caee7a82c57b4dbd7037f459fbf5957ea4d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/java/SingleJarActionBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "39ed3e564ce673510bc36765bcaec716bdd2234e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java",
      "new_id": "81126eab69873a40f6ac70c56ab96a4604ecd5a6",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java"
    },
    {
      "type": "modify",
      "old_id": "60a24514e04031cc57e19a88915688e5f4eca2ee",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java",
      "new_id": "f2cf27fe0b6ce97ef623ffd041288c071cd411a9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java"
    },
    {
      "type": "modify",
      "old_id": "41487ecc43b0c1efdef48ffdbc30873e6431bced",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/objc/LipoSupport.java",
      "new_id": "bad646175ac8dca15ff6ee75a775862b33a0b3e2",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/objc/LipoSupport.java"
    },
    {
      "type": "modify",
      "old_id": "ea061beb2d88756806b9e2bfe1bf5e407483ab70",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java",
      "new_id": "f7995b42d3d1b48a0d539a36359750e3b5221d70",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/actions/CustomCommandLineTest.java"
    },
    {
      "type": "modify",
      "old_id": "8711b47a4b21b6ae0e88e6fdf2055b4ca5334cc2",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java",
      "new_id": "6e5de2fce5b3c78e2be63c5abe05cd4472201702",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java"
    }
  ]
}
