)]}' { "commit": "f317284750dd4b00a23a4f7c3b4372ced598bf63", "tree": "7ccf4642797c7cee30511b2bc5fcd2bce73c1c15", "parents": [ "2ee86acaceb7ad4ba9939f5f89814cbbb2b99b3e" ], "author": { "name": "Jinseong Jeon", "email": "jsjeon@google.com", "time": "Fri Aug 11 14:59:27 2017 -0700" }, "committer": { "name": "Jinseong Jeon", "email": "jsjeon@google.com", "time": "Fri Aug 11 14:59:27 2017 -0700" }, "message": "Add support flattening package hierarchy.\n\nBased on http://go/r8-pkg-obfuscation, this CL implements flattening\n(as well as repackaging) packages (in a slightly different way).\n\n* Repackaging\nIn ClassNameMinifier constructor, a top-level state is introduced.\nThat top-level state\u0027s target package prefix is user-given.\nThen, when searching for a state for any can-be-renamed classes,\nthat top-level state is returned, hence all those classes share the same\nname space.\n\n* Flattening\nThe only difference is, for different packages, different states are\ncreated and mapped whose package prefix is suggested by the top-level\nstate. That is, classes in each pacakge are still in different name\nspaces, while those packages share the same top-level name space.\n\nBug: 37764746\nChange-Id: I37246fecbbbaa38a85cd6701d368072beead478b\n", "tree_diff": [ { "type": "modify", "old_id": "29b791dc392b5d8a88e48ab04cf36d7a6dc9b4ae", "old_mode": 33188, "old_path": "src/main/java/com/android/tools/r8/naming/ClassNameMinifier.java", "new_id": "632aa6fd3a5f4f81735d5d599bfe09151d948653", "new_mode": 33188, "new_path": "src/main/java/com/android/tools/r8/naming/ClassNameMinifier.java" }, { "type": "modify", "old_id": "8177e89413b6d84d4a17ba6043a4cfd415b81410", "old_mode": 33188, "old_path": "src/main/java/com/android/tools/r8/naming/FieldNameMinifier.java", "new_id": "eec918f516636679880a1e0588759e7cd776a160", "new_mode": 33188, "new_path": "src/main/java/com/android/tools/r8/naming/FieldNameMinifier.java" }, { "type": "modify", "old_id": "7a4f8f6d6a947a2c475561db0138b30fc886e5d6", "old_mode": 33188, "old_path": "src/main/java/com/android/tools/r8/naming/Minifier.java", "new_id": "b1a15b6ce9345bd26413b55437ca4738367d725b", "new_mode": 33188, "new_path": "src/main/java/com/android/tools/r8/naming/Minifier.java" }, { "type": "modify", "old_id": "72ad9f31aee931952e8224a061053ba49bb97e74", "old_mode": 33188, "old_path": "src/main/java/com/android/tools/r8/shaking/ProguardConfiguration.java", "new_id": "642b459728d66e8b4990afa2bfbe432dbe60cf29", "new_mode": 33188, "new_path": "src/main/java/com/android/tools/r8/shaking/ProguardConfiguration.java" }, { "type": "modify", "old_id": "1ab82f6f9e74fc54fdb23ad7850ea0faaeb50767", "old_mode": 33188, "old_path": "src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java", "new_id": "df2125f998018299927d25c6e04602b13f23bb78", "new_mode": 33188, "new_path": "src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java" }, { "type": "modify", "old_id": "3e7c8ddf57927357938ccebe08e1046208d5abec", "old_mode": 33188, "old_path": "src/main/java/com/android/tools/r8/utils/DescriptorUtils.java", "new_id": "84beae5457879e3ba0d5d85244978fa62312ddd4", "new_mode": 33188, "new_path": "src/main/java/com/android/tools/r8/utils/DescriptorUtils.java" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "10b2856db743c099f535ddf85f699e4c84b97de2", "new_mode": 33188, "new_path": "src/test/examples/naming044/keep-rules-003.txt" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "3785014d72b83f4eee7dfc16e60c3c0b8119e587", "new_mode": 33188, "new_path": "src/test/examples/naming044/keep-rules-004.txt" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "c9fac4a85984d52336b62dcb0cb63b4c79dfe2cd", "new_mode": 33188, "new_path": "src/test/examples/naming044/sub/SubA.java" }, { "type": "add", "old_id": "0000000000000000000000000000000000000000", "old_mode": 0, "old_path": "/dev/null", "new_id": "badc5f2e60dafae9202356b6a87de7b76b7759e8", "new_mode": 33188, "new_path": "src/test/examples/naming044/sub/SubB.java" }, { "type": "modify", "old_id": "3e9b269f5ee6ab76c679bd3def0b8c7751411def", "old_mode": 33188, "old_path": "src/test/java/com/android/tools/r8/naming/PackageNamingTest.java", "new_id": "feaf0d91d625477ffeaba07c6152eb2ab942639e", "new_mode": 33188, "new_path": "src/test/java/com/android/tools/r8/naming/PackageNamingTest.java" } ] }