{"action":"created","issue":{"url":"https://api.github.com/repos/Verizon/sbt-blockade/issues/11","repository_url":"https://api.github.com/repos/Verizon/sbt-blockade","labels_url":"https://api.github.com/repos/Verizon/sbt-blockade/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/Verizon/sbt-blockade/issues/11/comments","events_url":"https://api.github.com/repos/Verizon/sbt-blockade/issues/11/events","html_url":"https://github.com/Verizon/sbt-blockade/pull/11","id":327819836,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkxNTIxMTA0","number":11,"title":"Cross-compile for SBT 1.0. Closes #10","user":{"login":"chrisbenincasa","id":1640671,"node_id":"MDQ6VXNlcjE2NDA2NzE=","avatar_url":"https://avatars2.githubusercontent.com/u/1640671?v=4","gravatar_id":"","url":"https://api.github.com/users/chrisbenincasa","html_url":"https://github.com/chrisbenincasa","followers_url":"https://api.github.com/users/chrisbenincasa/followers","following_url":"https://api.github.com/users/chrisbenincasa/following{/other_user}","gists_url":"https://api.github.com/users/chrisbenincasa/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisbenincasa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisbenincasa/subscriptions","organizations_url":"https://api.github.com/users/chrisbenincasa/orgs","repos_url":"https://api.github.com/users/chrisbenincasa/repos","events_url":"https://api.github.com/users/chrisbenincasa/events{/privacy}","received_events_url":"https://api.github.com/users/chrisbenincasa/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-05-30T17:07:41Z","updated_at":"2018-06-07T13:10:25Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/Verizon/sbt-blockade/pulls/11","html_url":"https://github.com/Verizon/sbt-blockade/pull/11","diff_url":"https://github.com/Verizon/sbt-blockade/pull/11.diff","patch_url":"https://github.com/Verizon/sbt-blockade/pull/11.patch"},"body":"Implements cross-compilation for SBT 1.x line while still supporting the 0.13.x line. Closes #10 \r\n\r\nA few notes on the chosen path here:\r\n* In order to attempt to reduce the amount of changes here, I opted to copy `plugin.scala` and `blockade.scala` to a separate `scala-2.12` folder. The reason for this is because of SBT's modularization - for most classes, we're still able to reference via `sbt.{XYZ}`, there are however a few exceptions:\r\n  * `ModuleFilter` is not exposed in this manner in SBT 1.x and thus we have to include `sbt.librarymanagement`. `ModuleFilter` is a large part of `blockade.scala`, so I opted to just copy the file for both `scala-2.10` and `scala-2.12` with only the namespace changed. Of course, this kind of stinks, since the implementation is now split, but it saves the initial headache of ripping up this huge file to extract commonalities \r\n  * For SBT 1.x, some minor changes had to be made to `plugin.scala` to implement the `blockade` task. Specifically, running `moduleGraphSbtTask.value` inside of a task now throws an error due to macro changes in the SBT 1.x line. The `blockade` task needs to be redefined as a `taskDyn`. **This might be an OK change to backport to the 0.13.x line implementation**\r\n* I had to disable `fork := true` due to a serialization backwards incompatibility in the `ForkConfiguration` class from SBT. When `fork := true` is set, running scalatest with SBT 1.0 fails with this error: \r\n```\r\n[error] Uncaught exception when running tests: java.io.InvalidClassException: sbt.ForkConfiguration; local class incompatible: \r\nstream classdesc serialVersionUID = -4842665101791919492, local class serialVersionUID = 7284856321565673083\r\n```\r\n* `scripted` tests now run `clean` before each script in order to ensure that `^scripted` (cross plugin compilation) works.\r\n\r\nI would love some feedback/suggestions here on anyway to improve this implementation. Our company uses Blockade (and we love it!) and it's the last plugin we need compiled for SBT 1.x before we can make the company-wide switch!\r\n"},"comment":{"url":"https://api.github.com/repos/Verizon/sbt-blockade/issues/comments/395414470","html_url":"https://github.com/Verizon/sbt-blockade/pull/11#issuecomment-395414470","issue_url":"https://api.github.com/repos/Verizon/sbt-blockade/issues/11","id":395414470,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NTQxNDQ3MA==","user":{"login":"chrisbenincasa","id":1640671,"node_id":"MDQ6VXNlcjE2NDA2NzE=","avatar_url":"https://avatars2.githubusercontent.com/u/1640671?v=4","gravatar_id":"","url":"https://api.github.com/users/chrisbenincasa","html_url":"https://github.com/chrisbenincasa","followers_url":"https://api.github.com/users/chrisbenincasa/followers","following_url":"https://api.github.com/users/chrisbenincasa/following{/other_user}","gists_url":"https://api.github.com/users/chrisbenincasa/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisbenincasa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisbenincasa/subscriptions","organizations_url":"https://api.github.com/users/chrisbenincasa/orgs","repos_url":"https://api.github.com/users/chrisbenincasa/repos","events_url":"https://api.github.com/users/chrisbenincasa/events{/privacy}","received_events_url":"https://api.github.com/users/chrisbenincasa/received_events","type":"User","site_admin":false},"created_at":"2018-06-07T13:10:25Z","updated_at":"2018-06-07T13:10:25Z","author_association":"NONE","body":"Awesome. @rossabaker I squashed the commits into one. Should be good to go now!"}}
{"actor":{"display_login":"chrisbenincasa"}}