{"push_id":747693721,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b4581cfba426db0abdc923546c7de95128d5400d","before":"a1fa7fbefd584b319f5d5c5e147ac8b52a53d171","commits":[{"sha":"b4581cfba426db0abdc923546c7de95128d5400d","author":{"email":"5496d4fd32b46dcb22e495b96a73063ce8ea956b@gmail.com","name":"Garrett Malmquist"},"message":"Moved logic which validates jvm platform dependencies.\n\nThe logic which checked to make sure no targets depended on other\ntargets with newer jdks was previously in jvm_compile, which caused\nit to be re-ran for every single type of jvm compilation. It also\nfailed fast and had no option to simply warn and continue, which\nmade it hard and frustrating to debug.\n\nJvmPlatformValidate is a new task whose sole purpose is performing\nthis validation. It runs fairly early in the build lifecycle, which\nprevents pants from doing too much work before erroring on a doomed\nrun.\n\nIt also allows the error message to be disabled, or demoted to a warning.\n\nAlso included is a jvm platform debugging resource which I developed\n(along with the previous change) to help me sort out many\njvm platform dependency problems in square's internal java repo.\n\nThis is done in the JvmPlatformExplain console task, which performs\na more detailed analysis of the target level constraints imposed on\ntargets by their dependencies and dependees (a target cannot have a\nhigher -target than its dependees, or a lower -target than its\ndependencies).\n\nTesting Done:\nExisting tests modified, additional unit tests added in\ntest_jvm_platform_analysis.py.\n\nCI went green: https://travis-ci.org/pantsbuild/pants/builds/74087340\nAgain: https://travis-ci.org/pantsbuild/pants/builds/74116016\nAgain: https://travis-ci.org/pantsbuild/pants/builds/74124235\n\nBugs closed: 1913\n\nReviewed at https://rbcommons.com/s/twitter/r/2565/","distinct":true,"url":"https://api.github.com/repos/gmalmquist/pants/commits/b4581cfba426db0abdc923546c7de95128d5400d"}]}