{"action":"created","issue":{"url":"https://api.github.com/repos/junit-team/junit5/issues/1833","repository_url":"https://api.github.com/repos/junit-team/junit5","labels_url":"https://api.github.com/repos/junit-team/junit5/issues/1833/labels{/name}","comments_url":"https://api.github.com/repos/junit-team/junit5/issues/1833/comments","events_url":"https://api.github.com/repos/junit-team/junit5/issues/1833/events","html_url":"https://github.com/junit-team/junit5/issues/1833","id":424952323,"node_id":"MDU6SXNzdWU0MjQ5NTIzMjM=","number":1833,"title":"Annotate user facing API with @API","user":{"login":"smoyer64","id":328333,"node_id":"MDQ6VXNlcjMyODMzMw==","avatar_url":"https://avatars0.githubusercontent.com/u/328333?v=4","gravatar_id":"","url":"https://api.github.com/users/smoyer64","html_url":"https://github.com/smoyer64","followers_url":"https://api.github.com/users/smoyer64/followers","following_url":"https://api.github.com/users/smoyer64/following{/other_user}","gists_url":"https://api.github.com/users/smoyer64/gists{/gist_id}","starred_url":"https://api.github.com/users/smoyer64/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smoyer64/subscriptions","organizations_url":"https://api.github.com/users/smoyer64/orgs","repos_url":"https://api.github.com/users/smoyer64/repos","events_url":"https://api.github.com/users/smoyer64/events{/privacy}","received_events_url":"https://api.github.com/users/smoyer64/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-03-25T15:03:39Z","updated_at":"2019-03-25T16:27:44Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"The ``TempDirectory`` extension as well as others in https://github.com/junit-team/junit5/tree/835160321973c08ba03cd5792d6e42b2866aa98f/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension are effectively user APIs and should be annotated with their life-cycle status.\r\n\r\nThis is an interesting case because these classes are not in the API module, are specific to the Jupiter engine (they won't run in other test engines) but are explicitly advertised for use by test authors.  If we want to keep a strict separation between the API used by test authors and the engine, I suppose we could create a \"jupiter extensions\" module but in either case it's my opinion that these methods should be annotated and that tools for checking API guardian annotations should consider this package.\r\n\r\nAs an aside, do the API guardian tools consider unannotated targets as ``INTERNAL``?\r\n\r\nRelated to #1832 - ``@TempDir`` is listed in that issue which is a ``junit-jupiter-api`` use of the extension provided by ``junit-jupiter-engine``."},"comment":{"url":"https://api.github.com/repos/junit-team/junit5/issues/comments/476275070","html_url":"https://github.com/junit-team/junit5/issues/1833#issuecomment-476275070","issue_url":"https://api.github.com/repos/junit-team/junit5/issues/1833","id":476275070,"node_id":"MDEyOklzc3VlQ29tbWVudDQ3NjI3NTA3MA==","user":{"login":"marcphilipp","id":214207,"node_id":"MDQ6VXNlcjIxNDIwNw==","avatar_url":"https://avatars2.githubusercontent.com/u/214207?v=4","gravatar_id":"","url":"https://api.github.com/users/marcphilipp","html_url":"https://github.com/marcphilipp","followers_url":"https://api.github.com/users/marcphilipp/followers","following_url":"https://api.github.com/users/marcphilipp/following{/other_user}","gists_url":"https://api.github.com/users/marcphilipp/gists{/gist_id}","starred_url":"https://api.github.com/users/marcphilipp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcphilipp/subscriptions","organizations_url":"https://api.github.com/users/marcphilipp/orgs","repos_url":"https://api.github.com/users/marcphilipp/repos","events_url":"https://api.github.com/users/marcphilipp/events{/privacy}","received_events_url":"https://api.github.com/users/marcphilipp/received_events","type":"User","site_admin":false},"created_at":"2019-03-25T16:27:44Z","updated_at":"2019-03-25T16:27:44Z","author_association":"MEMBER","body":"`TempDirectory` is package-private and thus not visible. We don't annotate package-private classes with `@API`. Is there a reason why we should?"}}
{"actor":{"display_login":"marcphilipp"}}