{"action":"created","issue":{"url":"https://api.github.com/repos/editorconfig/editorconfig/issues/381","repository_url":"https://api.github.com/repos/editorconfig/editorconfig","labels_url":"https://api.github.com/repos/editorconfig/editorconfig/issues/381/labels{/name}","comments_url":"https://api.github.com/repos/editorconfig/editorconfig/issues/381/comments","events_url":"https://api.github.com/repos/editorconfig/editorconfig/issues/381/events","html_url":"https://github.com/editorconfig/editorconfig/issues/381","id":382180585,"node_id":"MDU6SXNzdWUzODIxODA1ODU=","number":381,"title":"Prepare a set of Java specific formatting properties","user":{"login":"ppalaga","id":1826249,"node_id":"MDQ6VXNlcjE4MjYyNDk=","avatar_url":"https://avatars0.githubusercontent.com/u/1826249?v=4","gravatar_id":"","url":"https://api.github.com/users/ppalaga","html_url":"https://github.com/ppalaga","followers_url":"https://api.github.com/users/ppalaga/followers","following_url":"https://api.github.com/users/ppalaga/following{/other_user}","gists_url":"https://api.github.com/users/ppalaga/gists{/gist_id}","starred_url":"https://api.github.com/users/ppalaga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ppalaga/subscriptions","organizations_url":"https://api.github.com/users/ppalaga/orgs","repos_url":"https://api.github.com/users/ppalaga/repos","events_url":"https://api.github.com/users/ppalaga/events{/privacy}","received_events_url":"https://api.github.com/users/ppalaga/received_events","type":"User","site_admin":false},"labels":[{"id":175652,"node_id":"MDU6TGFiZWwxNzU2NTI=","url":"https://api.github.com/repos/editorconfig/editorconfig/labels/file%20format","name":"file format","color":"444444","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2018-11-19T11:52:39Z","updated_at":"2018-11-23T10:30:25Z","closed_at":null,"author_association":"NONE","body":"### Motivation\r\n\r\nI'd like to reach the state where Java projects would use `.editorconfig` for defining Java formatting AND all major Java IDEs (Eclipse, IntelliJ Idea, Netbeans, VS Code, ...) and build tools (Maven, Gradle) would offer a first class support for it.\r\n\r\nIDEs would configure their internal formatters based on `.editorconfig` without too much user interaction so that the rules are honored while typing or invoking the Format action manually. The project leads would have the option to let (e.g. Maven or Gradle based) headless formatting checkers check the formatting of every incoming change e.g. as a part of their CI pipeline.\r\n\r\nImplementing `.editorconfig` parsers [1][2] in Java (I am a co-author of the second one) was the first step to fulfill this vision. The next step is to define a set of formatting rules for Java.\r\n\r\n[1] https://github.com/editorconfig/editorconfig-core-java\r\n[2] https://github.com/ec4j/ec4j\r\n\r\n### Existing Java formatters\r\n\r\nTo my knowledge, there exist two configurable Java formatters whose rule sets are worth considering as a source of inspiration when defining the set of Java specific properties for EditorConfig: \r\n\r\n* Eclipse's Java Development Tools (JTD) and \r\n* IntelliJ's (IJ) formatter\r\n\r\nAs far as I know, Netbeans and VS Code use JDT for formatting Java. \r\n\r\nI saw 10+ projects in my developer life which offered both Eclipse and IJ formatting preferences to their contributors. This means that it is possible to reach (nearly) the same formatting using any of the two formatters. This is a good starting point.\r\n\r\n### Objective\r\n\r\nWe need to define a set of EditorConfig properties able to describe the formatting of Java source files. This means:\r\n\r\n1. Choose property names and define their meanings\r\n2. Create a set of Java source files (before and after the formatting) for testing the compliance of formatters.\r\n\r\n### Call for participation\r\n\r\nI'd like to keep this effort open and as vendor neutral as possible but at the same subject matter experts from JDT or IJ are highly welcome.\r\n\r\nDisclaimer: This is my private activity.\r\n\r\n### Related\r\n\r\n* Domain specific properties: https://github.com/editorconfig/editorconfig/issues/332\r\n* Colleagues from IJ commenting on EditorConfig https://github.com/editorconfig/editorconfig/issues/378#issuecomment-438981273"},"comment":{"url":"https://api.github.com/repos/editorconfig/editorconfig/issues/comments/441204995","html_url":"https://github.com/editorconfig/editorconfig/issues/381#issuecomment-441204995","issue_url":"https://api.github.com/repos/editorconfig/editorconfig/issues/381","id":441204995,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MTIwNDk5NQ==","user":{"login":"dyadix","id":598319,"node_id":"MDQ6VXNlcjU5ODMxOQ==","avatar_url":"https://avatars0.githubusercontent.com/u/598319?v=4","gravatar_id":"","url":"https://api.github.com/users/dyadix","html_url":"https://github.com/dyadix","followers_url":"https://api.github.com/users/dyadix/followers","following_url":"https://api.github.com/users/dyadix/following{/other_user}","gists_url":"https://api.github.com/users/dyadix/gists{/gist_id}","starred_url":"https://api.github.com/users/dyadix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dyadix/subscriptions","organizations_url":"https://api.github.com/users/dyadix/orgs","repos_url":"https://api.github.com/users/dyadix/repos","events_url":"https://api.github.com/users/dyadix/events{/privacy}","received_events_url":"https://api.github.com/users/dyadix/received_events","type":"User","site_admin":false},"created_at":"2018-11-23T10:30:25Z","updated_at":"2018-11-23T10:30:25Z","author_association":"NONE","body":"Well, some of the properties are not Java-specific. We may start with that but just keep in mind that these may be used in other languages too. Currently Intellij IDEA already supports similar options across multiple languages. The Apache License is OK."}}
{"actor":{"display_login":"dyadix"}}