{"action":"created","issue":{"url":"https://api.github.com/repos/gnu-mcu-eclipse/eclipse-plugins/issues/210","repository_url":"https://api.github.com/repos/gnu-mcu-eclipse/eclipse-plugins","labels_url":"https://api.github.com/repos/gnu-mcu-eclipse/eclipse-plugins/issues/210/labels{/name}","comments_url":"https://api.github.com/repos/gnu-mcu-eclipse/eclipse-plugins/issues/210/comments","events_url":"https://api.github.com/repos/gnu-mcu-eclipse/eclipse-plugins/issues/210/events","html_url":"https://github.com/gnu-mcu-eclipse/eclipse-plugins/issues/210","id":236352137,"number":210,"title":"Proposal for a mechanism to install and manage multiple versions of binary tools","user":{"login":"ilg-ul","id":362732,"avatar_url":"https://avatars3.githubusercontent.com/u/362732?v=4","gravatar_id":"","url":"https://api.github.com/users/ilg-ul","html_url":"https://github.com/ilg-ul","followers_url":"https://api.github.com/users/ilg-ul/followers","following_url":"https://api.github.com/users/ilg-ul/following{/other_user}","gists_url":"https://api.github.com/users/ilg-ul/gists{/gist_id}","starred_url":"https://api.github.com/users/ilg-ul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilg-ul/subscriptions","organizations_url":"https://api.github.com/users/ilg-ul/orgs","repos_url":"https://api.github.com/users/ilg-ul/repos","events_url":"https://api.github.com/users/ilg-ul/events{/privacy}","received_events_url":"https://api.github.com/users/ilg-ul/received_events","type":"User","site_admin":false},"labels":[{"id":627689553,"url":"https://api.github.com/repos/gnu-mcu-eclipse/eclipse-plugins/labels/proposal","name":"proposal","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":{"login":"ilg-ul","id":362732,"avatar_url":"https://avatars3.githubusercontent.com/u/362732?v=4","gravatar_id":"","url":"https://api.github.com/users/ilg-ul","html_url":"https://github.com/ilg-ul","followers_url":"https://api.github.com/users/ilg-ul/followers","following_url":"https://api.github.com/users/ilg-ul/following{/other_user}","gists_url":"https://api.github.com/users/ilg-ul/gists{/gist_id}","starred_url":"https://api.github.com/users/ilg-ul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilg-ul/subscriptions","organizations_url":"https://api.github.com/users/ilg-ul/orgs","repos_url":"https://api.github.com/users/ilg-ul/repos","events_url":"https://api.github.com/users/ilg-ul/events{/privacy}","received_events_url":"https://api.github.com/users/ilg-ul/received_events","type":"User","site_admin":false},"assignees":[{"login":"ilg-ul","id":362732,"avatar_url":"https://avatars3.githubusercontent.com/u/362732?v=4","gravatar_id":"","url":"https://api.github.com/users/ilg-ul","html_url":"https://github.com/ilg-ul","followers_url":"https://api.github.com/users/ilg-ul/followers","following_url":"https://api.github.com/users/ilg-ul/following{/other_user}","gists_url":"https://api.github.com/users/ilg-ul/gists{/gist_id}","starred_url":"https://api.github.com/users/ilg-ul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilg-ul/subscriptions","organizations_url":"https://api.github.com/users/ilg-ul/orgs","repos_url":"https://api.github.com/users/ilg-ul/repos","events_url":"https://api.github.com/users/ilg-ul/events{/privacy}","received_events_url":"https://api.github.com/users/ilg-ul/received_events","type":"User","site_admin":false}],"milestone":null,"comments":10,"created_at":"2017-06-16T00:52:51Z","updated_at":"2017-11-10T17:58:12Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Version 4.x of GNU MCU Eclipse plug-ins will soon be out. In addition to ARM, it'll also support RISC-V devices.\r\n\r\nFor future versions I'm considering adding a mechanism to install/update/manage multiple-versions of ARM & RISC-V toolchains, OpenCOD, QEMU, etc.\r\n\r\nBoth command line and GUI solutions should be considered, with the CLI version having the top priority.\r\n\r\nThe tools should be very simple to use, and prevent mistakes, like using a 64-bits binary on a 32-bits system.\r\n\r\nThe planned interface is inspired by [npm](https://www.npmjs.com). The descriptions for the binary tools can be stored as npm packages on the npm public registry.\r\n\r\nThe typical use case might look like:\r\n\r\n```bash\r\n$ xpm install @gnu-mcu-eclipse/arm-none-eabi-gcc\r\n```\r\n\r\nwhich will install the latest version of the ARM toolchain, in a default location.\r\n\r\nA specific version of the binaries can be installed by explicitly giving the version, using the npm syntax:\r\n\r\n```bash\r\n$ xpm install @gnu-mcu-eclipse/arm-none-eabi-gcc@6.2.1\r\n```\r\n\r\nThe result of the install is a 3 levels hierarchy, `<scope>/<name>/<version>`, for example `gnu-mcu-eclipse/arm-none-eabi-gcc/6.2.1` for the above command.\r\n\r\nFor more generality, the `xpm` tool should be able to install binaries in 3 locations:\r\n\r\n- in the current folder (for example when used with a studio like application)\r\n- in a folder below the user home (for example `${HOME}/opt`)\r\n- in a system folder (for example `/usr/opt/`)\r\n\r\nThe supported binaries are compressed archives, stored on any public server, for example the ARM server, or GitHub Releases. The actual npm packages do not need to include the binaries, links to the actual addresses should be enough.\r\n\r\nAny comments/suggestions are highly appreciated.\r\n\r\n@jantje?\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/gnu-mcu-eclipse/eclipse-plugins/issues/comments/343542695","html_url":"https://github.com/gnu-mcu-eclipse/eclipse-plugins/issues/210#issuecomment-343542695","issue_url":"https://api.github.com/repos/gnu-mcu-eclipse/eclipse-plugins/issues/210","id":343542695,"user":{"login":"jantje","id":1175841,"avatar_url":"https://avatars1.githubusercontent.com/u/1175841?v=4","gravatar_id":"","url":"https://api.github.com/users/jantje","html_url":"https://github.com/jantje","followers_url":"https://api.github.com/users/jantje/followers","following_url":"https://api.github.com/users/jantje/following{/other_user}","gists_url":"https://api.github.com/users/jantje/gists{/gist_id}","starred_url":"https://api.github.com/users/jantje/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jantje/subscriptions","organizations_url":"https://api.github.com/users/jantje/orgs","repos_url":"https://api.github.com/users/jantje/repos","events_url":"https://api.github.com/users/jantje/events{/privacy}","received_events_url":"https://api.github.com/users/jantje/received_events","type":"User","site_admin":false},"created_at":"2017-11-10T17:58:12Z","updated_at":"2017-11-10T17:58:12Z","author_association":"NONE","body":"To handle multiple versions Sloeber uses fqn all the time.\r\nThis makes there is no path setup needed and this helps a lot on windows (where tools like cygwin can cause lots of troubles)\r\nI'll first try to install this xpm package in the sloeber tree as show above."}}
{"actor":{"display_login":"jantje"}}