{"action":"created","issue":{"url":"https://api.github.com/repos/swagger-api/swagger-codegen/issues/5880","repository_url":"https://api.github.com/repos/swagger-api/swagger-codegen","labels_url":"https://api.github.com/repos/swagger-api/swagger-codegen/issues/5880/labels{/name}","comments_url":"https://api.github.com/repos/swagger-api/swagger-codegen/issues/5880/comments","events_url":"https://api.github.com/repos/swagger-api/swagger-codegen/issues/5880/events","html_url":"https://github.com/swagger-api/swagger-codegen/issues/5880","id":237015976,"number":5880,"title":"[CPPREST][C++] Suggest Using Conan.io for C++ Dependencies","user":{"login":"solvingJ","id":8557737,"avatar_url":"https://avatars3.githubusercontent.com/u/8557737?v=3","gravatar_id":"","url":"https://api.github.com/users/solvingJ","html_url":"https://github.com/solvingJ","followers_url":"https://api.github.com/users/solvingJ/followers","following_url":"https://api.github.com/users/solvingJ/following{/other_user}","gists_url":"https://api.github.com/users/solvingJ/gists{/gist_id}","starred_url":"https://api.github.com/users/solvingJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/solvingJ/subscriptions","organizations_url":"https://api.github.com/users/solvingJ/orgs","repos_url":"https://api.github.com/users/solvingJ/repos","events_url":"https://api.github.com/users/solvingJ/events{/privacy}","received_events_url":"https://api.github.com/users/solvingJ/received_events","type":"User","site_admin":false},"labels":[{"id":160491892,"url":"https://api.github.com/repos/swagger-api/swagger-codegen/labels/Client:%20C++","name":"Client: C++","color":"fad8c7","default":false},{"id":410531038,"url":"https://api.github.com/repos/swagger-api/swagger-codegen/labels/General:%20Suggestion","name":"General: Suggestion","color":"66ccff","default":false},{"id":160482740,"url":"https://api.github.com/repos/swagger-api/swagger-codegen/labels/Need%20community%20contribution","name":"Need community contribution","color":"e3ff00","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2017-06-19T20:34:40Z","updated_at":"2017-06-20T11:06:11Z","closed_at":null,"body":"##### Description\r\n\r\nThe current CPPREST generator requires manual dependency management.  Developers have to download CPPRest and Boost libraries, extract them, and then manually update the CMakeLists.txt file to point to their location on disk. For a novice with CMake this can be non-trivial. \r\n\r\nConan.io has recently emerged as a viable cross-platform package management system for C++, providing an experience much like maven and nuget, and features CMake support. \r\n\r\nFor a minimal implementation, the swagger generator would need to create a conanfile.txt and make some slight changes to the current CMakeLists.txt template.  \r\n\r\nExample: conanfile.txt\r\n> [requires]\r\n> CppRestSdk/2.8.0@ViaviSolutions/stable\r\n> \r\n> [generators]\r\n> cmake\r\n\r\nThe CMakeLists.txt file would need to add something like the following two lines: \r\n\r\n```\r\ninclude(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)\r\nconan_basic_setup()\r\n```\r\n\r\nThe last change users would have to make is to run the following command in the directory that contains the conanfile.txt:\r\n\r\n> conan install --build OpenSSL\r\n\r\nThis is analogous to maven install, which downloads all the required packages and their transitive dependencies to cache, and generates \"conanbuildinfo.cmake\". \r\n\r\nSeveral lines could then be removed from the existing CMakeLists.txt template.  A more experienced CMake person whould be able to define a new template better than I. \r\n\r\nHere is a link to the conan.io reference for cmake: \r\nhttp://conanio.readthedocs.io/en/latest/integrations/cmake/cmake_generator.html\r\n"},"comment":{"url":"https://api.github.com/repos/swagger-api/swagger-codegen/issues/comments/309720245","html_url":"https://github.com/swagger-api/swagger-codegen/issues/5880#issuecomment-309720245","issue_url":"https://api.github.com/repos/swagger-api/swagger-codegen/issues/5880","id":309720245,"user":{"login":"memsharded","id":15367152,"avatar_url":"https://avatars1.githubusercontent.com/u/15367152?v=3","gravatar_id":"","url":"https://api.github.com/users/memsharded","html_url":"https://github.com/memsharded","followers_url":"https://api.github.com/users/memsharded/followers","following_url":"https://api.github.com/users/memsharded/following{/other_user}","gists_url":"https://api.github.com/users/memsharded/gists{/gist_id}","starred_url":"https://api.github.com/users/memsharded/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/memsharded/subscriptions","organizations_url":"https://api.github.com/users/memsharded/orgs","repos_url":"https://api.github.com/users/memsharded/repos","events_url":"https://api.github.com/users/memsharded/events{/privacy}","received_events_url":"https://api.github.com/users/memsharded/received_events","type":"User","site_admin":false},"created_at":"2017-06-20T11:06:11Z","updated_at":"2017-06-20T11:06:11Z","body":"There is no official package right now. Last week we moved from conan.io  to Bintray, so conan.io is not a server anymore.\r\nIn bintray there are two repos:\r\n- conan-transit: read-only, with a copy of packages from conan.io. https://bintray.com/conan/conan-transit There are like 4 different versions. \r\n- conan-center: it is a moderated/curated repo: https://bintray.com/conan/conan-center. Right now is empty, the review process has just started.\r\n\r\nThe goal would be to have an official package in conan-center. If no official package is possible, then a submission from other user, non-official, will be accepted, given some criteria of quality are met: http://docs.conan.io/en/latest/packaging/bintray/conan_center_guide.html#contributing-packages-to-conan-center\r\n\r\nThe ideal would be to have the CI process release the conan packages in bintray. Conan has helpers and docs to do this.\r\n\r\nThe first step would be to check the existing recipes, and contribute the repo them, so they can be developed and debugged first. I can try to make an initial study and proposal, if you want."}}
{"actor":{"display_login":"memsharded"}}