{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/Pkg.jl/issues/940","repository_url":"https://api.github.com/repos/JuliaLang/Pkg.jl","labels_url":"https://api.github.com/repos/JuliaLang/Pkg.jl/issues/940/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/Pkg.jl/issues/940/comments","events_url":"https://api.github.com/repos/JuliaLang/Pkg.jl/issues/940/events","html_url":"https://github.com/JuliaLang/Pkg.jl/pull/940","id":385927058,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM0Nzg2ODc0","number":940,"title":"Stricter input file validation","user":{"login":"00vareladavid","id":11048133,"node_id":"MDQ6VXNlcjExMDQ4MTMz","avatar_url":"https://avatars0.githubusercontent.com/u/11048133?v=4","gravatar_id":"","url":"https://api.github.com/users/00vareladavid","html_url":"https://github.com/00vareladavid","followers_url":"https://api.github.com/users/00vareladavid/followers","following_url":"https://api.github.com/users/00vareladavid/following{/other_user}","gists_url":"https://api.github.com/users/00vareladavid/gists{/gist_id}","starred_url":"https://api.github.com/users/00vareladavid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/00vareladavid/subscriptions","organizations_url":"https://api.github.com/users/00vareladavid/orgs","repos_url":"https://api.github.com/users/00vareladavid/repos","events_url":"https://api.github.com/users/00vareladavid/events{/privacy}","received_events_url":"https://api.github.com/users/00vareladavid/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2018-11-29T21:09:21Z","updated_at":"2019-01-03T23:19:52Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/JuliaLang/Pkg.jl/pulls/940","html_url":"https://github.com/JuliaLang/Pkg.jl/pull/940","diff_url":"https://github.com/JuliaLang/Pkg.jl/pull/940.diff","patch_url":"https://github.com/JuliaLang/Pkg.jl/pull/940.patch"},"body":"### Project Validation\r\n- break off all project reading/writing/validation to `src/project.jl`\r\n- all the `read_project_x` functions just check for correct structure of raw input and correctly type the input\r\n- `validate(project)` does higher level checking of the project file\r\n\r\n### Manifest Validation\r\n- break off all manifest reading/writing/validation to `src/manifest.jl`\r\n- validation is done in stages:\r\n    - ensure each field can be parsed as the expected type\r\n    - validate the graph structure of the manifest (no ambiguous deps, no dangling edges, ...)\r\n\r\n### Both\r\n- testing to make sure `PkgError` is thrown on corrupted input files\r\n\r\nCloses #302, closes #128, closes #395, closes #829"},"comment":{"url":"https://api.github.com/repos/JuliaLang/Pkg.jl/issues/comments/451309241","html_url":"https://github.com/JuliaLang/Pkg.jl/pull/940#issuecomment-451309241","issue_url":"https://api.github.com/repos/JuliaLang/Pkg.jl/issues/940","id":451309241,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MTMwOTI0MQ==","user":{"login":"bors[bot]","id":26634292,"node_id":"MDM6Qm90MjY2MzQyOTI=","avatar_url":"https://avatars3.githubusercontent.com/in/1847?v=4","gravatar_id":"","url":"https://api.github.com/users/bors%5Bbot%5D","html_url":"https://github.com/apps/bors","followers_url":"https://api.github.com/users/bors%5Bbot%5D/followers","following_url":"https://api.github.com/users/bors%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/bors%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/bors%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bors%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/bors%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/bors%5Bbot%5D/repos","events_url":"https://api.github.com/users/bors%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/bors%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2019-01-03T23:19:52Z","updated_at":"2019-01-03T23:19:52Z","author_association":"CONTRIBUTOR","body":"# Build failed\n  * [continuous-integration/appveyor/branch](https://ci.appveyor.com/project/KristofferC/pkg-jl/builds/21370086)"}}
{"actor":{"display_login":"bors"}}