{"action":"created","issue":{"url":"https://api.github.com/repos/castleproject/Windsor/issues/378","repository_url":"https://api.github.com/repos/castleproject/Windsor","labels_url":"https://api.github.com/repos/castleproject/Windsor/issues/378/labels{/name}","comments_url":"https://api.github.com/repos/castleproject/Windsor/issues/378/comments","events_url":"https://api.github.com/repos/castleproject/Windsor/issues/378/events","html_url":"https://github.com/castleproject/Windsor/pull/378","id":296004613,"number":378,"title":"Obsolete methods that can be removed with bigger impact","user":{"login":"fir3pho3nixx","id":607402,"avatar_url":"https://avatars2.githubusercontent.com/u/607402?v=4","gravatar_id":"","url":"https://api.github.com/users/fir3pho3nixx","html_url":"https://github.com/fir3pho3nixx","followers_url":"https://api.github.com/users/fir3pho3nixx/followers","following_url":"https://api.github.com/users/fir3pho3nixx/following{/other_user}","gists_url":"https://api.github.com/users/fir3pho3nixx/gists{/gist_id}","starred_url":"https://api.github.com/users/fir3pho3nixx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fir3pho3nixx/subscriptions","organizations_url":"https://api.github.com/users/fir3pho3nixx/orgs","repos_url":"https://api.github.com/users/fir3pho3nixx/repos","events_url":"https://api.github.com/users/fir3pho3nixx/events{/privacy}","received_events_url":"https://api.github.com/users/fir3pho3nixx/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-02-09T20:39:09Z","updated_at":"2018-02-13T17:26:04Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/castleproject/Windsor/pulls/378","html_url":"https://github.com/castleproject/Windsor/pull/378","diff_url":"https://github.com/castleproject/Windsor/pull/378.diff","patch_url":"https://github.com/castleproject/Windsor/pull/378.patch"},"body":"To support the deprecation of IKernel/DefaultKernel AddFacility(String key, IFacility facility) I also removed IConfiguration from IFacility.Init interface.\r\n\r\nThis is the last piece of the puzzle when it comes to getting rid of obsolete interface definitions on IKernel/IWindsorContainer. \r\n\r\nFor low hanging fruit review [this PR first](https://github.com/castleproject/Windsor/pull/377)."},"comment":{"url":"https://api.github.com/repos/castleproject/Windsor/issues/comments/365340264","html_url":"https://github.com/castleproject/Windsor/pull/378#issuecomment-365340264","issue_url":"https://api.github.com/repos/castleproject/Windsor/issues/378","id":365340264,"user":{"login":"fir3pho3nixx","id":607402,"avatar_url":"https://avatars2.githubusercontent.com/u/607402?v=4","gravatar_id":"","url":"https://api.github.com/users/fir3pho3nixx","html_url":"https://github.com/fir3pho3nixx","followers_url":"https://api.github.com/users/fir3pho3nixx/followers","following_url":"https://api.github.com/users/fir3pho3nixx/following{/other_user}","gists_url":"https://api.github.com/users/fir3pho3nixx/gists{/gist_id}","starred_url":"https://api.github.com/users/fir3pho3nixx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fir3pho3nixx/subscriptions","organizations_url":"https://api.github.com/users/fir3pho3nixx/orgs","repos_url":"https://api.github.com/users/fir3pho3nixx/repos","events_url":"https://api.github.com/users/fir3pho3nixx/events{/privacy}","received_events_url":"https://api.github.com/users/fir3pho3nixx/received_events","type":"User","site_admin":false},"created_at":"2018-02-13T17:26:04Z","updated_at":"2018-02-13T17:26:04Z","author_association":"COLLABORATOR","body":"> Is there a reason you removed IConfiguration from facilities as part of this pull request, I thought it was just going to be getting rid of a bunch of obsolete AddFacility methods and moving a bit of code around as they mostly called each other.\r\n\r\nWhen looking at the [AddFacility methods in the DefaultKernel_ObsoleteAPI](https://github.com/castleproject/Windsor/blob/master/src/Castle.Windsor/MicroKernel/DefaultKernel_ObsoleteAPI.cs#L25) I first tried just deleting them from the project, but then I noticed a compiler error because one of those are being used by the [AddFacility method](https://github.com/castleproject/Windsor/blob/master/src/Castle.Windsor/MicroKernel/DefaultKernel.cs#L279) in the DefaultKernel with pragma flags. This got me round to thinking about the obsolete method (which at this point really did not feel so obsolete anymore). So I then reworked the method to get rid of the `string key`/`ConfigurationStore` dependency and put that implementation into the DefaultKernel. This got me round to thinking about how IFacility.Init is being called, because if we are deprecating the `string key` parameter from the public API then perhaps the intention here was also to get rid of IConfiguration from the IFacility.Init interface too? This is where I became a little unsure and thought putting through an experimental PR would be the right thing to do. \r\n\r\nBased on your reaction, this is a cut too deep for how facilities work :)\r\n\r\nWhat I can do is hide the obsolete method by making it internal and then just keep the convention of `string key` to mean looking up a configuration based on the facility type fullname. \r\n\r\nWhat do you think? "}}
{"actor":{"display_login":"fir3pho3nixx"}}