{"push_id":1200061765,"size":5,"distinct_size":1,"ref":"refs/heads/manasapte/3632_cobertura-dropwizard-logging-conflict","head":"e8d5ec1b5ddd18115a5465526b0fc97cc991699f","before":"56758c7fc810f83a5e2457054f6b758449c8affb","commits":[{"sha":"cb78b0ef7bc464fde4dfde2fb5aaecc18900785c","author":{"name":"Benjy Weinberger","email":"a509d487a5f8dbb865a9ea050fc89e4377b3af8b@gmail.com"},"message":"Implicitly provide source products.\n\nThe ide project gen tasks require the 'java', 'scala' products.\nThe only reason this works is that the scrooge task happens to\nprovide those products.  But if we try to deregister the codegen\nbackend in some repo that doesn't need it, we get a MissingProductError\nfrom the round engine, and a quite unintuitive error message.\n\nThis change makes every source root implicitly provide a product\nwith the same name as that root's language(s).  This makes logical\nsense, and also solves the problem above.\n\nWhile testing this, I noticed an error in how we iterate over all\nsource roots: We assumed that all fixed source roots come from\nthe appropriate options. But in fact they might also be added\nprogrammatically.  So this change also fixes that, and adds\nappropriate testing.\n\nTesting Done:\nCI passed on travis: https://travis-ci.org/pantsbuild/pants/builds/142920098\n\nJenkins seemed to be having issues.\n\nReviewed at https://rbcommons.com/s/twitter/r/4053/","distinct":false,"url":"https://api.github.com/repos/manasapte/pants/commits/cb78b0ef7bc464fde4dfde2fb5aaecc18900785c"},{"sha":"911399649f34b5c10aac68439714a97dc6a5c3d0","author":{"name":"Chris Heisterkamp","email":"a048f4fe14e5f13c3afe877029f4bf7ea522b2a6@gmail.com"},"message":"Cleanup the annotation test project code\n\nTesting Done:\nTravis CI: https://travis-ci.org/pantsbuild/pants/builds/143375806\n\nClean up the annotation test project code\n\nBugs closed: 3639\n\nReviewed at https://rbcommons.com/s/twitter/r/4056/","distinct":false,"url":"https://api.github.com/repos/manasapte/pants/commits/911399649f34b5c10aac68439714a97dc6a5c3d0"},{"sha":"eeb7b90fc0b68bae62437678916f9fea6a99ddd3","author":{"name":"Benjy Weinberger","email":"a509d487a5f8dbb865a9ea050fc89e4377b3af8b@gmail.com"},"message":"Improve deprecation warning for default backend option reliance.\n\nTesting Done:\nCI passes: http://jenkins.pantsbuild.org/job/pantsbuild/job/pants/job/PR-3648/\n\nReviewed at https://rbcommons.com/s/twitter/r/4061/","distinct":false,"url":"https://api.github.com/repos/manasapte/pants/commits/eeb7b90fc0b68bae62437678916f9fea6a99ddd3"},{"sha":"68b5a6c91ea661f3a6c2fca94b2b9d0234a562c6","author":{"name":"Nick Howard (Twitter)","email":"563680712feb31124802cc3475789de064d53427@twopensource.com"},"message":"[engine] Isolated Process Execution - First Cut\n\nThis review is for the first cut of isolated process execution in the new engine. It contains the beginnings of snapshotting, isolated workspace preparation and execution. It's not a finished product, but it's a point from which we can start iterating. It includes the beginnings of a process execution model for the engine.\n\nProcess Execution:\n\nThis first cut is more complicated than it needs to be, but I intend to refine it and make it more transparent to the engine.\n\nHow it works:\n\nYou define a process execution rule using the SnapshottedProcess rule type. It maybe that this can be decomposed into its components with the user facing pieces broken up a more fine grained way, but again, this is a first cut.\n\nHere's an example of what that looks like from one of the tests.\n\n      SnapshottedProcess(product_type=ClasspathEntry,\n                         binary_type=Javac,\n                         input_selectors=(Select(Files), SelectLiteral(JavaOutputDir('build'), JavaOutputDir)),\n                         input_conversion=java_sources_to_javac_args,\n                         output_conversion=process_result_to_classpath_entry)\n\nThe first parameter is the product type produced by running the process. This maps exactly to the product type parameter for the existing task concept.\n\nThe `input_*` parameters communicate what products are needed to run, and how to translate them into a `SnapshottedProcessRequest`. They are essentially a subclause that's a task rule. The `output_conversion` is called with the result of running the process and the `Checkout` which allows it to construct the product.\n\nInternally what happens is that if a SnapshottedProcess task is selected, it creates a `ProcessExecutionNode` providing a place where before and after steps can be managed.\n\nThe execution node\n- Creates a task node for creating the process request.\n- Creates a checkout directory and dumps snapshots into it based on the contents of the process request.\n- Calls the prep_fn on the request with the checkout. I want to get rid of this and come up with a better scheme for preparing for execution for things that are like build output directories, but for this review I punted via this escape hatch.\n- Once the checkout is prepared, the process is actually executed using a ProcessExecutionNode.\n- Finally, the output is converted into it's final form.\n\nFuture steps\n- I'm not happy with naming, but for this review, I'm focusing more on a rough structure and I'm planning to iterate on it.\n- Cleaning up checkouts. I left cleaning up temp directories as a future step.\n- Configuration. Need to store those tar files somewhere. For now, I just create temp directories.\n- Documentation. I think this needs to wait on naming and maturing the user facing representation.\n- Integration with the planner example.\n- Nailgun.\n\nTesting Done:\nI've got a number of high level tests I've been using to drive development in test_isolated_process.\n\nI've attached a PR with CI running.\n\nBugs closed: 2978, 3609\n\nReviewed at https://rbcommons.com/s/twitter/r/4029/\n\ncloses #2978, closes #3609","distinct":false,"url":"https://api.github.com/repos/manasapte/pants/commits/68b5a6c91ea661f3a6c2fca94b2b9d0234a562c6"},{"sha":"e8d5ec1b5ddd18115a5465526b0fc97cc991699f","author":{"name":"Manas Apte","email":"126ad0c1418d7c2dd64da2a8b3a0b78f4ab57db2@uber.com"},"message":"adding just slf4j-api on the classpath to avoid implementation conflicts","distinct":true,"url":"https://api.github.com/repos/manasapte/pants/commits/e8d5ec1b5ddd18115a5465526b0fc97cc991699f"}]}
{"actor":{"display_login":"manasapte"}}