{"action":"created","issue":{"url":"https://api.github.com/repos/ocaml/dune/issues/2681","repository_url":"https://api.github.com/repos/ocaml/dune","labels_url":"https://api.github.com/repos/ocaml/dune/issues/2681/labels{/name}","comments_url":"https://api.github.com/repos/ocaml/dune/issues/2681/comments","events_url":"https://api.github.com/repos/ocaml/dune/issues/2681/events","html_url":"https://github.com/ocaml/dune/issues/2681","id":500311470,"node_id":"MDU6SXNzdWU1MDAzMTE0NzA=","number":2681,"title":"[RFC] replace `action` field of `alias` stanza by `alias` field in `rule` stanza","user":{"login":"diml","id":1251584,"node_id":"MDQ6VXNlcjEyNTE1ODQ=","avatar_url":"https://avatars1.githubusercontent.com/u/1251584?v=4","gravatar_id":"","url":"https://api.github.com/users/diml","html_url":"https://github.com/diml","followers_url":"https://api.github.com/users/diml/followers","following_url":"https://api.github.com/users/diml/following{/other_user}","gists_url":"https://api.github.com/users/diml/gists{/gist_id}","starred_url":"https://api.github.com/users/diml/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diml/subscriptions","organizations_url":"https://api.github.com/users/diml/orgs","repos_url":"https://api.github.com/users/diml/repos","events_url":"https://api.github.com/users/diml/events{/privacy}","received_events_url":"https://api.github.com/users/diml/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"rgrinberg","id":139003,"node_id":"MDQ6VXNlcjEzOTAwMw==","avatar_url":"https://avatars3.githubusercontent.com/u/139003?v=4","gravatar_id":"","url":"https://api.github.com/users/rgrinberg","html_url":"https://github.com/rgrinberg","followers_url":"https://api.github.com/users/rgrinberg/followers","following_url":"https://api.github.com/users/rgrinberg/following{/other_user}","gists_url":"https://api.github.com/users/rgrinberg/gists{/gist_id}","starred_url":"https://api.github.com/users/rgrinberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rgrinberg/subscriptions","organizations_url":"https://api.github.com/users/rgrinberg/orgs","repos_url":"https://api.github.com/users/rgrinberg/repos","events_url":"https://api.github.com/users/rgrinberg/events{/privacy}","received_events_url":"https://api.github.com/users/rgrinberg/received_events","type":"User","site_admin":false},"assignees":[{"login":"rgrinberg","id":139003,"node_id":"MDQ6VXNlcjEzOTAwMw==","avatar_url":"https://avatars3.githubusercontent.com/u/139003?v=4","gravatar_id":"","url":"https://api.github.com/users/rgrinberg","html_url":"https://github.com/rgrinberg","followers_url":"https://api.github.com/users/rgrinberg/followers","following_url":"https://api.github.com/users/rgrinberg/following{/other_user}","gists_url":"https://api.github.com/users/rgrinberg/gists{/gist_id}","starred_url":"https://api.github.com/users/rgrinberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rgrinberg/subscriptions","organizations_url":"https://api.github.com/users/rgrinberg/orgs","repos_url":"https://api.github.com/users/rgrinberg/repos","events_url":"https://api.github.com/users/rgrinberg/events{/privacy}","received_events_url":"https://api.github.com/users/rgrinberg/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/ocaml/dune/milestones/4","html_url":"https://github.com/ocaml/dune/milestone/4","labels_url":"https://api.github.com/repos/ocaml/dune/milestones/4/labels","id":3712311,"node_id":"MDk6TWlsZXN0b25lMzcxMjMxMQ==","number":4,"title":"2.0.0","description":"This milestone is intended to tag things that we can't do before, or need to revisit before defining the 2.0 language. It doesn't mean that all of these will be included in 2.0.0.","creator":{"login":"emillon","id":496345,"node_id":"MDQ6VXNlcjQ5NjM0NQ==","avatar_url":"https://avatars2.githubusercontent.com/u/496345?v=4","gravatar_id":"","url":"https://api.github.com/users/emillon","html_url":"https://github.com/emillon","followers_url":"https://api.github.com/users/emillon/followers","following_url":"https://api.github.com/users/emillon/following{/other_user}","gists_url":"https://api.github.com/users/emillon/gists{/gist_id}","starred_url":"https://api.github.com/users/emillon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emillon/subscriptions","organizations_url":"https://api.github.com/users/emillon/orgs","repos_url":"https://api.github.com/users/emillon/repos","events_url":"https://api.github.com/users/emillon/events{/privacy}","received_events_url":"https://api.github.com/users/emillon/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":11,"state":"open","created_at":"2018-10-04T12:48:42Z","updated_at":"2019-10-17T06:38:57Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2019-09-30T14:23:20Z","updated_at":"2019-10-19T21:21:14Z","closed_at":null,"author_association":"MEMBER","body":"Right now, when one writes:\r\n\r\n```\r\n(alias\r\n (name blah)\r\n (deps x)\r\n (action (run foo)))\r\n```\r\n\r\nIt's not entirely clear whether `x` is a dependency of the action or the alias. In particular, Dune and Jenga (inside Jane Street) accidentally made two different choices which indicates that the semantic is not obvious. In Jenga, `x` is a dependency of the action but not the alias, and in Dune `x` is a dependency of both.\r\n\r\nAdditionally, it always a bit annoying when the action produces something as aliases are not supposed to have targets.\r\n\r\nTo clarify all this, I propose the following change in the 2.x version of the language:\r\n\r\n- we remove the `action` field from the alias stanza\r\n- we add an `alias` field to the `rule` stanza\r\n\r\nadding `(alias foo)` to a rule would basically add the targets as dependency of the alias, even if the rule has no targets.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/ocaml/dune/issues/comments/544198290","html_url":"https://github.com/ocaml/dune/issues/2681#issuecomment-544198290","issue_url":"https://api.github.com/repos/ocaml/dune/issues/2681","id":544198290,"node_id":"MDEyOklzc3VlQ29tbWVudDU0NDE5ODI5MA==","user":{"login":"nojb","id":113560,"node_id":"MDQ6VXNlcjExMzU2MA==","avatar_url":"https://avatars3.githubusercontent.com/u/113560?v=4","gravatar_id":"","url":"https://api.github.com/users/nojb","html_url":"https://github.com/nojb","followers_url":"https://api.github.com/users/nojb/followers","following_url":"https://api.github.com/users/nojb/following{/other_user}","gists_url":"https://api.github.com/users/nojb/gists{/gist_id}","starred_url":"https://api.github.com/users/nojb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nojb/subscriptions","organizations_url":"https://api.github.com/users/nojb/orgs","repos_url":"https://api.github.com/users/nojb/repos","events_url":"https://api.github.com/users/nojb/events{/privacy}","received_events_url":"https://api.github.com/users/nojb/received_events","type":"User","site_admin":false},"created_at":"2019-10-19T21:21:14Z","updated_at":"2019-10-19T21:21:14Z","author_association":"COLLABORATOR","body":"> Regarding rules with an empty set of targets, \r\n\r\nJust to understand better, can you show me an example of such a rule?"}}
{"actor":{"display_login":"nojb"}}