{"action":"created","issue":{"url":"https://api.github.com/repos/ensime/ensime-server/issues/792","labels_url":"https://api.github.com/repos/ensime/ensime-server/issues/792/labels{/name}","comments_url":"https://api.github.com/repos/ensime/ensime-server/issues/792/comments","events_url":"https://api.github.com/repos/ensime/ensime-server/issues/792/events","html_url":"https://github.com/ensime/ensime-server/issues/792","id":54674470,"number":792,"title":"resolve the scalariform classpath/version mess","user":{"login":"fommil","id":1914041,"avatar_url":"https://avatars.githubusercontent.com/u/1914041?v=3","gravatar_id":"","url":"https://api.github.com/users/fommil","html_url":"https://github.com/fommil","followers_url":"https://api.github.com/users/fommil/followers","following_url":"https://api.github.com/users/fommil/following{/other_user}","gists_url":"https://api.github.com/users/fommil/gists{/gist_id}","starred_url":"https://api.github.com/users/fommil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fommil/subscriptions","organizations_url":"https://api.github.com/users/fommil/orgs","repos_url":"https://api.github.com/users/fommil/repos","events_url":"https://api.github.com/users/fommil/events{/privacy}","received_events_url":"https://api.github.com/users/fommil/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ensime/ensime-server/labels/Externally%20Blocked","name":"Externally Blocked","color":"990000"},{"url":"https://api.github.com/repos/ensime/ensime-server/labels/sbt-plugin","name":"sbt-plugin","color":"6B4C13"}],"state":"closed","locked":false,"assignee":{"login":"fommil","id":1914041,"avatar_url":"https://avatars.githubusercontent.com/u/1914041?v=3","gravatar_id":"","url":"https://api.github.com/users/fommil","html_url":"https://github.com/fommil","followers_url":"https://api.github.com/users/fommil/followers","following_url":"https://api.github.com/users/fommil/following{/other_user}","gists_url":"https://api.github.com/users/fommil/gists{/gist_id}","starred_url":"https://api.github.com/users/fommil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fommil/subscriptions","organizations_url":"https://api.github.com/users/fommil/orgs","repos_url":"https://api.github.com/users/fommil/repos","events_url":"https://api.github.com/users/fommil/events{/privacy}","received_events_url":"https://api.github.com/users/fommil/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/ensime/ensime-server/milestones/8","html_url":"https://github.com/ensime/ensime-server/milestones/Stable%201.0","labels_url":"https://api.github.com/repos/ensime/ensime-server/milestones/8/labels","id":916638,"number":8,"title":"Stable 1.0","description":"A stable release which will have permanent versions of the sbt-plugin and server for scala 2.9.2, 2.9.3, 2.10 and 2.11 in maven central, and a corresponding stable release in MELPA.\r\n\r\nThis will be the last version to support scala 2.9 and only serious bugfixes will cause new versions to be released.\r\n\r\nWhen released, the rolling release will become more experimental and the protocol is likely to be redesigned.\r\n\r\nTickets should only be added to this milestone if you actively plan to work on them.","creator":{"login":"fommil","id":1914041,"avatar_url":"https://avatars.githubusercontent.com/u/1914041?v=3","gravatar_id":"","url":"https://api.github.com/users/fommil","html_url":"https://github.com/fommil","followers_url":"https://api.github.com/users/fommil/followers","following_url":"https://api.github.com/users/fommil/following{/other_user}","gists_url":"https://api.github.com/users/fommil/gists{/gist_id}","starred_url":"https://api.github.com/users/fommil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fommil/subscriptions","organizations_url":"https://api.github.com/users/fommil/orgs","repos_url":"https://api.github.com/users/fommil/repos","events_url":"https://api.github.com/users/fommil/events{/privacy}","received_events_url":"https://api.github.com/users/fommil/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":43,"state":"open","created_at":"2014-12-29T12:44:02Z","updated_at":"2015-06-29T20:19:53Z","due_on":"2015-03-30T23:00:00Z","closed_at":null},"comments":15,"created_at":"2015-01-17T20:42:02Z","updated_at":"2015-06-30T15:06:32Z","closed_at":"2015-04-17T18:40:45Z","body":"Scalariform used to be maintained at https://github.com/mdr/scalariform by @mdr and is pulled in by https://github.com/sbt/sbt-scalariform\r\n\r\nScalariform is most actively maintained at https://github.com/daniel-trinh/scalariform by @daniel-trinh with a corresponding https://github.com/daniel-trinh/sbt-scalariform\r\n\r\nUnfortunately, daniel kept the same FQNs when he published his artifacts under a different name, so users can end up with multiple versions of scalariform on their classpath as transitive dependency resolvers cannot detect the collision.\r\n\r\nThere are a couple of bugs that daniel has partially addressed, e.g. preserving/forcing dangling newlines, which result in changes to source code formatting that is not backwards compatible to the mdr branch (there doesn't appear to be a way to choose the old behaviour https://github.com/daniel-trinh/scalariform/issues/29 ). (Note, it is unclear if these fixes have been backported to scala 2.10, as they don't seem to work under sbt https://github.com/mdr/scalariform/issues/75 .)\r\n\r\nUnfortunately, this has consequences for us at ENSIME because we depend on daniel's build (primarily because mdr didn't publish a scala-2.11 build) in our server and we depend on mdr's builds in our sbt-plugin so that we can correctly export the settings.\r\n\r\nI raised this on the scala-ide mailing list, as they are also impacted https://groups.google.com/d/msg/scala-ide-dev/65JHMO6Kkao/blIfevBtmW0J but nothing has come of it except an acknowledgement that there is a problem.\r\n\r\nHere are some solutions\r\n\r\n1. mdr picks up dev again and pumps out all the fixes on the mainline :smile:\r\n2. mdr gives daniel-trinh / rep at scala-ide the right to publish under the `org.scalariform` groupid\r\n3. ensime creates a fork of daniel's master with all the FQNs renamed so that we can depend on scalariform in our plugin, and the fork in ensime-server\r\n\r\nI have been unable to contact mdr so, unfortunately, the latter is looking to be the best way forward.\r\n\r\nIn any solution, we will have to get daniel to release a version of his scalariform and sbt plugin with all the FQNs moved to a new location, so that transitive resolvers to both (or all three!!) versions do not conflict with each other.\r\n\r\n@mdr @daniel-trinh can either of you please comment?"},"comment":{"url":"https://api.github.com/repos/ensime/ensime-server/issues/comments/117220366","html_url":"https://github.com/ensime/ensime-server/issues/792#issuecomment-117220366","issue_url":"https://api.github.com/repos/ensime/ensime-server/issues/792","id":117220366,"user":{"login":"andrebeat","id":123550,"avatar_url":"https://avatars.githubusercontent.com/u/123550?v=3","gravatar_id":"","url":"https://api.github.com/users/andrebeat","html_url":"https://github.com/andrebeat","followers_url":"https://api.github.com/users/andrebeat/followers","following_url":"https://api.github.com/users/andrebeat/following{/other_user}","gists_url":"https://api.github.com/users/andrebeat/gists{/gist_id}","starred_url":"https://api.github.com/users/andrebeat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrebeat/subscriptions","organizations_url":"https://api.github.com/users/andrebeat/orgs","repos_url":"https://api.github.com/users/andrebeat/repos","events_url":"https://api.github.com/users/andrebeat/events{/privacy}","received_events_url":"https://api.github.com/users/andrebeat/received_events","type":"User","site_admin":false},"created_at":"2015-06-30T15:06:32Z","updated_at":"2015-06-30T15:06:32Z","body":"For reference, I've updated @daniel-trinh's `sbt-scalariform` fork to be feature par with the \"upstream\" version (https://github.com/daniel-trinh/sbt-scalariform/pull/8)."}}