{"action":"created","comment":{"url":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/comments/29601691","id":29601691,"diff_hunk":"@@ -0,0 +1,56 @@\n+/*\n+ Copyright (c) 2012-2014, Pierre-Olivier Latour\n+ All rights reserved.\n+ \n+ Redistribution and use in source and binary forms, with or without\n+ modification, are permitted provided that the following conditions are met:\n+ * Redistributions of source code must retain the above copyright\n+ notice, this list of conditions and the following disclaimer.\n+ * Redistributions in binary form must reproduce the above copyright\n+ notice, this list of conditions and the following disclaimer in the\n+ documentation and/or other materials provided with the distribution.\n+ * The name of Pierre-Olivier Latour may not be used to endorse\n+ or promote products derived from this software without specific\n+ prior written permission.\n+ \n+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n+ DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY\n+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+#import <Foundation/Foundation.h>\n+\n+//! Project version number for GCDWebServers.\n+FOUNDATION_EXPORT double GCDWebServersVersionNumber;","path":"GCDWebServer/Framework/GCDWebServers.h","position":31,"original_position":31,"commit_id":"4ea5485004167a9be782f004482adc64285028f7","original_commit_id":"4ea5485004167a9be782f004482adc64285028f7","user":{"login":"swisspol","id":627915,"avatar_url":"https://avatars.githubusercontent.com/u/627915?v=3","gravatar_id":"","url":"https://api.github.com/users/swisspol","html_url":"https://github.com/swisspol","followers_url":"https://api.github.com/users/swisspol/followers","following_url":"https://api.github.com/users/swisspol/following{/other_user}","gists_url":"https://api.github.com/users/swisspol/gists{/gist_id}","starred_url":"https://api.github.com/users/swisspol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swisspol/subscriptions","organizations_url":"https://api.github.com/users/swisspol/orgs","repos_url":"https://api.github.com/users/swisspol/repos","events_url":"https://api.github.com/users/swisspol/events{/privacy}","received_events_url":"https://api.github.com/users/swisspol/received_events","type":"User","site_admin":false},"body":"You should remove these 2 symbols from the header. Having them implies they are supported and have valid values, which they are not. Besides framework rarely expose them as in Obj-C it's much better to check for the existence of APIs vs the version of libraries.","created_at":"2015-05-04T17:03:38Z","updated_at":"2015-05-04T17:03:38Z","html_url":"https://github.com/swisspol/GCDWebServer/pull/166#discussion_r29601691","pull_request_url":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/166","_links":{"self":{"href":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/comments/29601691"},"html":{"href":"https://github.com/swisspol/GCDWebServer/pull/166#discussion_r29601691"},"pull_request":{"href":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/166"}}},"pull_request":{"url":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/166","id":33483946,"html_url":"https://github.com/swisspol/GCDWebServer/pull/166","diff_url":"https://github.com/swisspol/GCDWebServer/pull/166.diff","patch_url":"https://github.com/swisspol/GCDWebServer/pull/166.patch","issue_url":"https://api.github.com/repos/swisspol/GCDWebServer/issues/166","number":166,"state":"open","locked":false,"title":"Frameworks and Carthage Support","user":{"login":"sagmor","id":4744,"avatar_url":"https://avatars.githubusercontent.com/u/4744?v=3","gravatar_id":"","url":"https://api.github.com/users/sagmor","html_url":"https://github.com/sagmor","followers_url":"https://api.github.com/users/sagmor/followers","following_url":"https://api.github.com/users/sagmor/following{/other_user}","gists_url":"https://api.github.com/users/sagmor/gists{/gist_id}","starred_url":"https://api.github.com/users/sagmor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sagmor/subscriptions","organizations_url":"https://api.github.com/users/sagmor/orgs","repos_url":"https://api.github.com/users/sagmor/repos","events_url":"https://api.github.com/users/sagmor/events{/privacy}","received_events_url":"https://api.github.com/users/sagmor/received_events","type":"User","site_admin":false},"body":"I just added Framework targets for both Mac and iOS.\r\n\r\nI named the Framework GCDWebServers (with an s) because Included frameworks can only `#include <>` the umbrella header, which means that you can't pick individual headers and since EVERY `#include` has to be on the umbrella header it would have bloated `GCDWebServer.h`\r\n\r\nInstead with the GCDWebServers name, it's implicit, that the framework includes all the Servers and we keep a clean `GCDWebServer.h`\r\n\r\nNow, having framework shared targets in the project, means that this library should support Carthage out of the box (which solves #136) yet for full support, it might be a good idea to provide a prebuilt framework on version releases. It's quite simple so I'll take a look at how to automate that and I'll get back on that later.\r\n\r\nI'm currently working with the Mac version on an App I'm working on, but it might need a little more testing to be sure everything works as it should.\r\n\r\nI'm leaving this as a PR so we don't duplicate efforts with #161 and to be sure you like this approach before investing more time on it :beers: ","created_at":"2015-04-16T19:24:36Z","updated_at":"2015-05-04T17:03:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9402063d23c9b7254f21de53a2bce7d1fd6f855a","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/166/commits","review_comments_url":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/166/comments","review_comment_url":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/comments{/number}","comments_url":"https://api.github.com/repos/swisspol/GCDWebServer/issues/166/comments","statuses_url":"https://api.github.com/repos/swisspol/GCDWebServer/statuses/4ea5485004167a9be782f004482adc64285028f7","head":{"label":"sagmor:frameworks","ref":"frameworks","sha":"4ea5485004167a9be782f004482adc64285028f7","user":{"login":"sagmor","id":4744,"avatar_url":"https://avatars.githubusercontent.com/u/4744?v=3","gravatar_id":"","url":"https://api.github.com/users/sagmor","html_url":"https://github.com/sagmor","followers_url":"https://api.github.com/users/sagmor/followers","following_url":"https://api.github.com/users/sagmor/following{/other_user}","gists_url":"https://api.github.com/users/sagmor/gists{/gist_id}","starred_url":"https://api.github.com/users/sagmor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sagmor/subscriptions","organizations_url":"https://api.github.com/users/sagmor/orgs","repos_url":"https://api.github.com/users/sagmor/repos","events_url":"https://api.github.com/users/sagmor/events{/privacy}","received_events_url":"https://api.github.com/users/sagmor/received_events","type":"User","site_admin":false},"repo":{"id":34025422,"name":"GCDWebServer","full_name":"sagmor/GCDWebServer","owner":{"login":"sagmor","id":4744,"avatar_url":"https://avatars.githubusercontent.com/u/4744?v=3","gravatar_id":"","url":"https://api.github.com/users/sagmor","html_url":"https://github.com/sagmor","followers_url":"https://api.github.com/users/sagmor/followers","following_url":"https://api.github.com/users/sagmor/following{/other_user}","gists_url":"https://api.github.com/users/sagmor/gists{/gist_id}","starred_url":"https://api.github.com/users/sagmor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sagmor/subscriptions","organizations_url":"https://api.github.com/users/sagmor/orgs","repos_url":"https://api.github.com/users/sagmor/repos","events_url":"https://api.github.com/users/sagmor/events{/privacy}","received_events_url":"https://api.github.com/users/sagmor/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sagmor/GCDWebServer","description":"Lightweight GCD based HTTP server for OS X & iOS (includes web based uploader & WebDAV server)","fork":true,"url":"https://api.github.com/repos/sagmor/GCDWebServer","forks_url":"https://api.github.com/repos/sagmor/GCDWebServer/forks","keys_url":"https://api.github.com/repos/sagmor/GCDWebServer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sagmor/GCDWebServer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sagmor/GCDWebServer/teams","hooks_url":"https://api.github.com/repos/sagmor/GCDWebServer/hooks","issue_events_url":"https://api.github.com/repos/sagmor/GCDWebServer/issues/events{/number}","events_url":"https://api.github.com/repos/sagmor/GCDWebServer/events","assignees_url":"https://api.github.com/repos/sagmor/GCDWebServer/assignees{/user}","branches_url":"https://api.github.com/repos/sagmor/GCDWebServer/branches{/branch}","tags_url":"https://api.github.com/repos/sagmor/GCDWebServer/tags","blobs_url":"https://api.github.com/repos/sagmor/GCDWebServer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sagmor/GCDWebServer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sagmor/GCDWebServer/git/refs{/sha}","trees_url":"https://api.github.com/repos/sagmor/GCDWebServer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sagmor/GCDWebServer/statuses/{sha}","languages_url":"https://api.github.com/repos/sagmor/GCDWebServer/languages","stargazers_url":"https://api.github.com/repos/sagmor/GCDWebServer/stargazers","contributors_url":"https://api.github.com/repos/sagmor/GCDWebServer/contributors","subscribers_url":"https://api.github.com/repos/sagmor/GCDWebServer/subscribers","subscription_url":"https://api.github.com/repos/sagmor/GCDWebServer/subscription","commits_url":"https://api.github.com/repos/sagmor/GCDWebServer/commits{/sha}","git_commits_url":"https://api.github.com/repos/sagmor/GCDWebServer/git/commits{/sha}","comments_url":"https://api.github.com/repos/sagmor/GCDWebServer/comments{/number}","issue_comment_url":"https://api.github.com/repos/sagmor/GCDWebServer/issues/comments{/number}","contents_url":"https://api.github.com/repos/sagmor/GCDWebServer/contents/{+path}","compare_url":"https://api.github.com/repos/sagmor/GCDWebServer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sagmor/GCDWebServer/merges","archive_url":"https://api.github.com/repos/sagmor/GCDWebServer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sagmor/GCDWebServer/downloads","issues_url":"https://api.github.com/repos/sagmor/GCDWebServer/issues{/number}","pulls_url":"https://api.github.com/repos/sagmor/GCDWebServer/pulls{/number}","milestones_url":"https://api.github.com/repos/sagmor/GCDWebServer/milestones{/number}","notifications_url":"https://api.github.com/repos/sagmor/GCDWebServer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sagmor/GCDWebServer/labels{/name}","releases_url":"https://api.github.com/repos/sagmor/GCDWebServer/releases{/id}","created_at":"2015-04-16T00:21:58Z","updated_at":"2015-04-16T00:21:59Z","pushed_at":"2015-04-22T22:33:52Z","git_url":"git://github.com/sagmor/GCDWebServer.git","ssh_url":"git@github.com:sagmor/GCDWebServer.git","clone_url":"https://github.com/sagmor/GCDWebServer.git","svn_url":"https://github.com/sagmor/GCDWebServer","homepage":"","size":8565,"stargazers_count":0,"watchers_count":0,"language":"Objective-C","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"swisspol:master","ref":"master","sha":"00b2c38109871dee91ffa6a58919cd3ccae8d034","user":{"login":"swisspol","id":627915,"avatar_url":"https://avatars.githubusercontent.com/u/627915?v=3","gravatar_id":"","url":"https://api.github.com/users/swisspol","html_url":"https://github.com/swisspol","followers_url":"https://api.github.com/users/swisspol/followers","following_url":"https://api.github.com/users/swisspol/following{/other_user}","gists_url":"https://api.github.com/users/swisspol/gists{/gist_id}","starred_url":"https://api.github.com/users/swisspol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swisspol/subscriptions","organizations_url":"https://api.github.com/users/swisspol/orgs","repos_url":"https://api.github.com/users/swisspol/repos","events_url":"https://api.github.com/users/swisspol/events{/privacy}","received_events_url":"https://api.github.com/users/swisspol/received_events","type":"User","site_admin":false},"repo":{"id":7369087,"name":"GCDWebServer","full_name":"swisspol/GCDWebServer","owner":{"login":"swisspol","id":627915,"avatar_url":"https://avatars.githubusercontent.com/u/627915?v=3","gravatar_id":"","url":"https://api.github.com/users/swisspol","html_url":"https://github.com/swisspol","followers_url":"https://api.github.com/users/swisspol/followers","following_url":"https://api.github.com/users/swisspol/following{/other_user}","gists_url":"https://api.github.com/users/swisspol/gists{/gist_id}","starred_url":"https://api.github.com/users/swisspol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swisspol/subscriptions","organizations_url":"https://api.github.com/users/swisspol/orgs","repos_url":"https://api.github.com/users/swisspol/repos","events_url":"https://api.github.com/users/swisspol/events{/privacy}","received_events_url":"https://api.github.com/users/swisspol/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/swisspol/GCDWebServer","description":"Lightweight GCD based HTTP server for OS X & iOS (includes web based uploader & WebDAV server)","fork":false,"url":"https://api.github.com/repos/swisspol/GCDWebServer","forks_url":"https://api.github.com/repos/swisspol/GCDWebServer/forks","keys_url":"https://api.github.com/repos/swisspol/GCDWebServer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/swisspol/GCDWebServer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/swisspol/GCDWebServer/teams","hooks_url":"https://api.github.com/repos/swisspol/GCDWebServer/hooks","issue_events_url":"https://api.github.com/repos/swisspol/GCDWebServer/issues/events{/number}","events_url":"https://api.github.com/repos/swisspol/GCDWebServer/events","assignees_url":"https://api.github.com/repos/swisspol/GCDWebServer/assignees{/user}","branches_url":"https://api.github.com/repos/swisspol/GCDWebServer/branches{/branch}","tags_url":"https://api.github.com/repos/swisspol/GCDWebServer/tags","blobs_url":"https://api.github.com/repos/swisspol/GCDWebServer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/swisspol/GCDWebServer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/swisspol/GCDWebServer/git/refs{/sha}","trees_url":"https://api.github.com/repos/swisspol/GCDWebServer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/swisspol/GCDWebServer/statuses/{sha}","languages_url":"https://api.github.com/repos/swisspol/GCDWebServer/languages","stargazers_url":"https://api.github.com/repos/swisspol/GCDWebServer/stargazers","contributors_url":"https://api.github.com/repos/swisspol/GCDWebServer/contributors","subscribers_url":"https://api.github.com/repos/swisspol/GCDWebServer/subscribers","subscription_url":"https://api.github.com/repos/swisspol/GCDWebServer/subscription","commits_url":"https://api.github.com/repos/swisspol/GCDWebServer/commits{/sha}","git_commits_url":"https://api.github.com/repos/swisspol/GCDWebServer/git/commits{/sha}","comments_url":"https://api.github.com/repos/swisspol/GCDWebServer/comments{/number}","issue_comment_url":"https://api.github.com/repos/swisspol/GCDWebServer/issues/comments{/number}","contents_url":"https://api.github.com/repos/swisspol/GCDWebServer/contents/{+path}","compare_url":"https://api.github.com/repos/swisspol/GCDWebServer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/swisspol/GCDWebServer/merges","archive_url":"https://api.github.com/repos/swisspol/GCDWebServer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/swisspol/GCDWebServer/downloads","issues_url":"https://api.github.com/repos/swisspol/GCDWebServer/issues{/number}","pulls_url":"https://api.github.com/repos/swisspol/GCDWebServer/pulls{/number}","milestones_url":"https://api.github.com/repos/swisspol/GCDWebServer/milestones{/number}","notifications_url":"https://api.github.com/repos/swisspol/GCDWebServer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/swisspol/GCDWebServer/labels{/name}","releases_url":"https://api.github.com/repos/swisspol/GCDWebServer/releases{/id}","created_at":"2012-12-29T18:22:34Z","updated_at":"2015-05-04T16:59:05Z","pushed_at":"2015-05-04T16:59:05Z","git_url":"git://github.com/swisspol/GCDWebServer.git","ssh_url":"git@github.com:swisspol/GCDWebServer.git","clone_url":"https://github.com/swisspol/GCDWebServer.git","svn_url":"https://github.com/swisspol/GCDWebServer","homepage":"","size":10709,"stargazers_count":1527,"watchers_count":1527,"language":"Objective-C","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":191,"mirror_url":null,"open_issues_count":4,"forks":191,"open_issues":4,"watchers":1527,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/166"},"html":{"href":"https://github.com/swisspol/GCDWebServer/pull/166"},"issue":{"href":"https://api.github.com/repos/swisspol/GCDWebServer/issues/166"},"comments":{"href":"https://api.github.com/repos/swisspol/GCDWebServer/issues/166/comments"},"review_comments":{"href":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/166/comments"},"review_comment":{"href":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/swisspol/GCDWebServer/pulls/166/commits"},"statuses":{"href":"https://api.github.com/repos/swisspol/GCDWebServer/statuses/4ea5485004167a9be782f004482adc64285028f7"}}}}