)]}'
{
  "commit": "330dfbe2d8a57787561d9d0c9cd96d23fc735bed",
  "tree": "70cbc6d7cd2954b44d501effb171e27d7bd91d93",
  "parents": [
    "b04e57ee862f7e00b85b012798eb1b1e32cd1eda"
  ],
  "author": {
    "name": "Goktug Gokdogan",
    "email": "goktug@google.com",
    "time": "Mon Oct 02 17:56:17 2017 -0700"
  },
  "committer": {
    "name": "Goktug Gokdogan",
    "email": "goktug@google.com",
    "time": "Mon Oct 02 17:56:17 2017 -0700"
  },
  "message": "Move Guava concurrent emulation to JRE.\n\nGWT traditionally avoided concurrency related constructs in JRE\nsince there is no multithreaded programming in JavaScript. However a\nlot of cross-platform app used these APIs to abstract asynchronicity in\nJavaScript and share code in different platforms. Since Guava supported\nthose customers, most of emulation traditionally ended up there.\nHowever now this prevents us to adding new ones to GWT proper and causes\nconfusion for users.\n\nThis patch moves most of such emulation to GWT proper with minor cleanups.\n\nNote that, this patch is carefully prepared to not introduce any blocking\nAPIs since they cannot be properly emulated and we should rather force\ncompilation errors on their usage instead of causing runtime errors.\nBeing said there is need for some exceptions, in this case Future API,\nwhere I documented the rationale behind not removing blocking API.\n\nWe need to pay attention to future patches to ensure they follow the\nsame principles.\n\nChange-Id: I107926d7f3795db9f2fad5f0b24922de4874bf33\nReview-Link: https://gwt-review.googlesource.com/#/c/19560/\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "68101d29355fbf300890d8eafcf018d5b0b57a82",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/lang/InterruptedException.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f2c362f7bf09268605f3a5f2627e522f0006d162",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/lang/ThreadLocal.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9ab1f445bb7569bb79d6ae710b6625e919674cbc",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/Callable.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4a8eddc0f3c8422998f6af0302c750ad8bd62f6f",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/CancellationException.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8a0371ad69427bde91185bb55960ace5b0ea2cd",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/ConcurrentHashMap.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "835186e95f165b0e5e17ada622d4ccb74de03749",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/ConcurrentMap.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7dd87c071042c937353710542010fab14485cea6",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/Delayed.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f861e9c7e8de5e0067f5d6d3240e0c9b9ea37e4c",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/ExecutionException.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "19e1edb35aab6757cf912cd32a28b4b15850788b",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/Executor.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c758c67a4edb36ee146c5b66f58d6f4f5ab96c48",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/Executors.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f572719bf5ae0c419b647f5a0876bcd4dd247871",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/Future.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6f1341487db23447664bab53df949e9e12d8a04a",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/RejectedExecutionException.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "88a7219de7b8a8a6be3411b8c5f97cd13dbe10b7",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/RunnableFuture.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8acfac54e459edaea8082739373e7b3abe196a1d",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/ScheduledFuture.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "24dc2a5617a72a07cdfe811a42a1aa75885e835c",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/TimeUnit.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4c98b6789bc6ae1067680419e8b11736807ad28a",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/TimeoutException.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "18defde67e03dbd5ea0084aba5b6a03b10632320",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/atomic/AtomicBoolean.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d167f0871619b4744442de85b3f734a9e5ff1628",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/atomic/AtomicInteger.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2e2a5f5ebb1078fe7c0c23b96f96ef0df27d0480",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/atomic/AtomicLong.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "08516d2b48c4fee9ecffc77f17789050e81dce10",
      "new_mode": 33188,
      "new_path": "user/super/com/google/gwt/emul/java/util/concurrent/atomic/AtomicReferenceArray.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8671f38f5933d1ed0522186c45258a9be23ef8c",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/emultest/ConcurrentSuite.java"
    },
    {
      "type": "modify",
      "old_id": "155d866a5903e73d98aa32e1309081af929d25dc",
      "old_mode": 33188,
      "old_path": "user/test/com/google/gwt/emultest/EmulSuite.java",
      "new_id": "632f4b8e5bff962b2320b01e2bbf4f155c227156",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/emultest/EmulSuite.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5fa2d81d1fe56a3985f7dc71494b28e7bbe3c433",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/emultest/java/lang/ThreadLocalTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "35d8cca4bea3f836af8a29defbc473ba332fa51a",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/emultest/java/util/concurrent/ConcurrentHashMapTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "39fbdd20f9b45c77cf888ffafde991524b77ec2f",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/emultest/java/util/concurrent/TimeUnitTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "52f01c925f5f3ea4728a08c42a9046e745455005",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/emultest/java/util/concurrent/atomic/AtomicIntegerTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6662cf2d20d263d7a1ab1dcef884d55e2085dcb4",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/emultest/java/util/concurrent/atomic/AtomicLongTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "19960b705bcd806ce9a7cb8c84f1a5c55367481d",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/emultest/java/util/concurrent/atomic/AtomicReferenceArrayTest.java"
    }
  ]
}
