{"push_id":1444069703,"size":4,"distinct_size":4,"ref":"refs/heads/master","head":"06918be1f1c414960e8b3a2303aad75d03dfb701","before":"1334c37ef720d1f45d8d5ee7bba90005b29e4e1d","commits":[{"sha":"896f63d72d04da7dc1f67089c0a1b6e48b4a3948","author":{"name":"Peiyu Wang","email":"d174f8fb0d546c0de85a0b484162cd0c833dc038@gmail.com"},"message":"classmap: a jvm console task that outputs mapping from class products to their targets (#4081)\n\nThe task is straightforward similar to `filemap` that prints out target-file mapings, this outputs\r\ntarget-class mappings.\r\n\r\nThis is useful when fixing compilation errors. One use case we encounter recently is to enable\r\n`strict_deps` for performance, there are transitive dependencies need to be added.\r\n\r\nThis can be achieved by first running `classmap` to get the transitive target-class mapping, then\r\nif after enabling `strict_deps`, we get error class X not found, we'll add X's mapping target\r\nto the dependencies.\r\n\r\nTest done\r\n========\r\nhttps://travis-ci.org/pantsbuild/pants/builds/177179488\r\n\r\nA sample run\r\n```\r\ntw-mbp-peiyu:pants peiyu$ ./pants classmap testprojects//tests/java/org/pantsbuild/testproject/cucumber:lib |head\r\norg.pantsbuild.testproject.cucumber.BadnamesSteps testprojects/tests/java/org/pantsbuild/testproject/cucumber:lib\r\norg.pantsbuild.testproject.cucumber.DemoSteps testprojects/tests/java/org/pantsbuild/testproject/cucumber:lib\r\norg.junit.ClassRule 3rdparty:junit\r\norg.junit.Assert 3rdparty:junit\r\norg.junit.After 3rdparty:junit\r\norg.junit.rules.Stopwatch$Clock 3rdparty:junit\r\norg.junit.rules.DisableOnDebug 3rdparty:junit\r\norg.junit.rules.ExternalResource 3rdparty:junit\r\norg.junit.rules.TestWatcher$1 3rdparty:junit\r\norg.junit.rules.TemporaryFolder 3rdparty:junit\r\n...\r\n```","distinct":true,"url":"https://api.github.com/repos/benjyw/pants/commits/896f63d72d04da7dc1f67089c0a1b6e48b4a3948"},{"sha":"0dd24234c4f20a27540e1b02bfff1c21cdeda358","author":{"name":"Nick Howard","email":"be6da9f607f26e1ba272c330953b3a54c4a030bc@baroquebobcat.com"},"message":"[engine] model snapshots in validation, make root rules a dict instead of a set (#4125)\n\n### Problem\r\nI'm working on porting my patch for #3580 to the native engine, (#3960). First, I'm updating the graph construction code with the changes there. It hadn't covered Snapshot processes, and it modeled root rules as a set rather than a graph, which caused problems.\r\n\r\n### Solution\r\n\r\nInclude snapshot process' behavior in the rule graph construction used by the validator. Update tests to expect the new visualization format.\r\n\r\n### List of changes\r\n* rename NodeBuilder to RuleIndex\r\n* rename RootRule to RootRuleGraphEntry\r\n* support SnapshotProcess in validator\r\n* Name snapshot process funcs so they are printable\r\n* Include subject and product types in intrinsic rule repr\r\n* Include graph generation methods that can construct new graphs from an existing one--these are currently unused\r\n* Raise an error if a declared rule is not reachable from the declared root types.\r\n* Unify naming for input selector for projection selectors\r\n* If field of a SelectDependencies is the default value, don't include it in the repr\r\n* Include a map of root rule to the rules that would fulfill it.","distinct":true,"url":"https://api.github.com/repos/benjyw/pants/commits/0dd24234c4f20a27540e1b02bfff1c21cdeda358"},{"sha":"342b7c4e7a9cce761a58b5b46f47cd5b099ea525","author":{"name":"Benjy Weinberger","email":"a509d487a5f8dbb865a9ea050fc89e4377b3af8b@gmail.com"},"message":"Allow the buildroot to be a source root\n\nThis is of limited use, because it would require all\r\nlanguages in your repo to be rooted at the buildroot.\r\nBut I did encounter one such case (involving .proto files,\r\nwhich Google now recommends be imported relative to the\r\nbuildroot), so might as well support it.\r\n\r\nTODO: This brings to the fore the fact that source root\r\n      computation is not dependent on the target type.\r\n      If it were (e.g., java_library would only match build roots\r\n      that are registered against 'java') then you could have\r\n      .protos rooted at the buildroot but java in src/java etc.\r\n      See https://github.com/pantsbuild/pants/issues/4093.","distinct":true,"url":"https://api.github.com/repos/benjyw/pants/commits/342b7c4e7a9cce761a58b5b46f47cd5b099ea525"},{"sha":"06918be1f1c414960e8b3a2303aad75d03dfb701","author":{"name":"Benjy Weinberger","email":"a509d487a5f8dbb865a9ea050fc89e4377b3af8b@gmail.com"},"message":"A flag to add the buildroot to protoc's import path.\n\nThis allows use of Pants in repos adhering to the protobuf\r\ndocumentation's recommendation of importing from the buildroot,\r\nrather than from the proto source root (e.g., src/proto).","distinct":true,"url":"https://api.github.com/repos/benjyw/pants/commits/06918be1f1c414960e8b3a2303aad75d03dfb701"}]}
{"actor":{"display_login":"benjyw"}}