{"action":"created","issue":{"url":"https://api.github.com/repos/FStarLang/FStar/issues/435","labels_url":"https://api.github.com/repos/FStarLang/FStar/issues/435/labels{/name}","comments_url":"https://api.github.com/repos/FStarLang/FStar/issues/435/comments","events_url":"https://api.github.com/repos/FStarLang/FStar/issues/435/events","html_url":"https://github.com/FStarLang/FStar/pull/435","id":116433095,"number":435,"title":"Transitive Dependency Support ","user":{"login":"mlr-msft","id":10134902,"avatar_url":"https://avatars.githubusercontent.com/u/10134902?v=3","gravatar_id":"","url":"https://api.github.com/users/mlr-msft","html_url":"https://github.com/mlr-msft","followers_url":"https://api.github.com/users/mlr-msft/followers","following_url":"https://api.github.com/users/mlr-msft/following{/other_user}","gists_url":"https://api.github.com/users/mlr-msft/gists{/gist_id}","starred_url":"https://api.github.com/users/mlr-msft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mlr-msft/subscriptions","organizations_url":"https://api.github.com/users/mlr-msft/orgs","repos_url":"https://api.github.com/users/mlr-msft/repos","events_url":"https://api.github.com/users/mlr-msft/events{/privacy}","received_events_url":"https://api.github.com/users/mlr-msft/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-11-11T22:16:11Z","updated_at":"2015-11-12T17:37:47Z","closed_at":"2015-11-12T05:41:10Z","pull_request":{"url":"https://api.github.com/repos/FStarLang/FStar/pulls/435","html_url":"https://github.com/FStarLang/FStar/pull/435","diff_url":"https://github.com/FStarLang/FStar/pull/435.diff","patch_url":"https://github.com/FStarLang/FStar/pull/435.patch"},"body":"## Description\r\nThis is the first version of transitive dependencies for F*, implemented by recursive parsing of `build-config` headers. \r\n\r\n## Usage\r\nPassing `--find_deps` as an argument to F* will cause it to recurse `build-config` headers, collecting the names of dependencies.\r\n\r\n## Testing\r\n- Results of `--find_deps` usage tested against files from a third-party project written in F*.\r\n- Regression tested against unit test suite:\r\n  - F# build on Win64 with Visual Studio 2013\r\n  - OCaml build on Win64 with OPAM version of `batteries`.\r\n  - F# build on Debian Jessie i386\r\n  - OCaml build on Debian Jessie i386\r\n\r\n## Known Issues\r\n- I anticipate that `--admit_fsi` not being transitive will become an annoyance, if not problematic to maintain. I would like to suggest a top-level directive to address this (e.g. `admit module FStar.Seq`).\r\n\r\n## Additional Changes\r\n- added `FStar_List.unique` (mirrors `BatList.unique`).\r\n- added `all-pos` unit test target (`all-neg` tests cannot be used with the `--lax` compile flag).\r\n- added `Makefile` logic that restores the NuGet package cache."},"comment":{"url":"https://api.github.com/repos/FStarLang/FStar/issues/comments/156178329","html_url":"https://github.com/FStarLang/FStar/pull/435#issuecomment-156178329","issue_url":"https://api.github.com/repos/FStarLang/FStar/issues/435","id":156178329,"user":{"login":"aseemr","id":3921573,"avatar_url":"https://avatars.githubusercontent.com/u/3921573?v=3","gravatar_id":"","url":"https://api.github.com/users/aseemr","html_url":"https://github.com/aseemr","followers_url":"https://api.github.com/users/aseemr/followers","following_url":"https://api.github.com/users/aseemr/following{/other_user}","gists_url":"https://api.github.com/users/aseemr/gists{/gist_id}","starred_url":"https://api.github.com/users/aseemr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aseemr/subscriptions","organizations_url":"https://api.github.com/users/aseemr/orgs","repos_url":"https://api.github.com/users/aseemr/repos","events_url":"https://api.github.com/users/aseemr/events{/privacy}","received_events_url":"https://api.github.com/users/aseemr/received_events","type":"User","site_admin":false},"created_at":"2015-11-12T17:37:47Z","updated_at":"2015-11-12T17:37:47Z","body":"Perhaps because ./NuGet.exe invokes mono on Linux automatically, not on mac. mono needs to be added explicitly."}}