{"action":"created","issue":{"url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/222","repository_url":"https://api.github.com/repos/nexB/scancode-toolkit","labels_url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/222/labels{/name}","comments_url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/222/comments","events_url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/222/events","html_url":"https://github.com/nexB/scancode-toolkit/issues/222","id":141084534,"number":222,"title":"support for nuget packages","user":{"login":"balusarakesh","id":17168699,"avatar_url":"https://avatars.githubusercontent.com/u/17168699?v=3","gravatar_id":"","url":"https://api.github.com/users/balusarakesh","html_url":"https://github.com/balusarakesh","followers_url":"https://api.github.com/users/balusarakesh/followers","following_url":"https://api.github.com/users/balusarakesh/following{/other_user}","gists_url":"https://api.github.com/users/balusarakesh/gists{/gist_id}","starred_url":"https://api.github.com/users/balusarakesh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balusarakesh/subscriptions","organizations_url":"https://api.github.com/users/balusarakesh/orgs","repos_url":"https://api.github.com/users/balusarakesh/repos","events_url":"https://api.github.com/users/balusarakesh/events{/privacy}","received_events_url":"https://api.github.com/users/balusarakesh/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nexB/scancode-toolkit/labels/package%20scan","name":"package scan","color":"0052cc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-15T20:06:58Z","updated_at":"2016-04-12T14:45:53Z","closed_at":null,"body":"When using scancode to scan a codebase it must scan the packages like nuget with extension `.nupkg` in a different way and provide metadata from these packages by extracting the files and reading the corresponding `.nuspec` file. This metadata must be written into the file given as output from scancode and this file can contain metadata regarding all the packages in the codebase.\r\nSome pointers:\r\nThe main website is at: https://www.nuget.org/packages\r\nThere is an API. In the call below this downloads the latest versilon of the `Javascript-FastClass` package\r\nhttps://packages.nuget.org/api/v2/package/Javascript-FastClass/\r\n\r\nThis call `https://packages.nuget.org/api/v2/package/Newtonsoft.Json/5.0.7` would get a specific version 5.0.7 of `Newtonsoft.Json`\r\n\r\nDownload URL format:\r\nhttps://www.nuget.org/api/v2/package/{package_name}/{version}\r\n\r\nThis article provide some doc on how to use the API: http://chris.eldredge.io/blog/2013/02/25/fun-with-nuget-rest-api/ . This is based on ATOM and MSFT WCF and is rather verbose. \r\n\r\n\r\nThe nuspec files spec is at: https://docs.nuget.org/create/nuspec-reference and this provide some insights on how packages are created: https://docs.nuget.org/create/creating-and-publishing-a-package\r\n\r\nSee also: https://en.wikipedia.org/wiki/Open_Packaging_Conventions\r\n\r\nThere is a new json format: http://docs.nuget.org/Consume/ProjectJson-Format\r\n\r\nThese may be tools of interest:\r\n- https://github.com/python-openxml/opc-diag\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/comments/208941939","html_url":"https://github.com/nexB/scancode-toolkit/issues/222#issuecomment-208941939","issue_url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/222","id":208941939,"user":{"login":"balusarakesh","id":17168699,"avatar_url":"https://avatars.githubusercontent.com/u/17168699?v=3","gravatar_id":"","url":"https://api.github.com/users/balusarakesh","html_url":"https://github.com/balusarakesh","followers_url":"https://api.github.com/users/balusarakesh/followers","following_url":"https://api.github.com/users/balusarakesh/following{/other_user}","gists_url":"https://api.github.com/users/balusarakesh/gists{/gist_id}","starred_url":"https://api.github.com/users/balusarakesh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balusarakesh/subscriptions","organizations_url":"https://api.github.com/users/balusarakesh/orgs","repos_url":"https://api.github.com/users/balusarakesh/repos","events_url":"https://api.github.com/users/balusarakesh/events{/privacy}","received_events_url":"https://api.github.com/users/balusarakesh/received_events","type":"User","site_admin":false},"created_at":"2016-04-12T14:45:53Z","updated_at":"2016-04-12T14:45:53Z","body":"added parser for Nuget packages in the commit `https://github.com/nexB/scancode-toolkit/commit/febc9340d0185064dbb5b176b4c050823011388b`"}}