{"action":"created","comment":{"url":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/comments/75361011","id":75361011,"diff_hunk":"@@ -1,184 +1,115 @@\n package sbtcrossproject\n \n-import scala.language.implicitConversions\n-import scala.language.experimental.macros\n-\n-import scala.reflect.macros.Context\n-\n-import sbt._\n-import Keys._\n-import Project.projectToRef\n-\n import java.io.File\n \n-final class CrossProject private (\n-    crossType: CrossType,\n-    val projects: Map[CrossPlatform, Project]\n-) {\n-  import CrossProject._\n-\n-  // Transformers for inner projects\n-\n-  def configure(platform: CrossPlatform, transform: Project => Project) =\n-    copy(projects = projects + (platform -> transform(projects(platform))))\n-\n-  def settings(platform: CrossPlatform, ss: Def.Setting[_]*): CrossProject =\n-    configure(platform, _.settings(ss: _*))\n-\n-  // Scala.js-style cross project aliases\n-\n-  /** Project for JVM platform. */\n-  def jvm: Project = projects(JVM)\n-\n-  /** Transform the underlying JVM project */\n-  def jvmConfigure(transform: Project => Project): CrossProject =\n-    configure(JVM, transform)\n+import sbt.{AutoPlugin, Configuration, Plugins, Project, ProjectReference}\n \n-  /** Add settings specific to the underlying JVM project */\n-  def jvmSettings(ss: Def.Setting[_]*): CrossProject =\n-    settings(JVM, ss: _*)\n-\n-  // Concrete alteration members\n-\n-  def aggregate(refs: CrossProject*): CrossProject =\n-    mapCrossPlatforms { p =>\n-      projects(p).aggregate(refs.map(_.projects(p): ProjectReference): _*)\n-    }\n-\n-  def configs(cs: Configuration*): CrossProject =\n-    mapProjects(_.configs(cs: _*))\n+import scala.language.experimental.macros\n+import scala.language.implicitConversions\n+import scala.reflect.macros.Context\n \n-  def configureCross(transforms: (CrossProject => CrossProject)*): CrossProject =\n-    transforms.foldLeft(this)((p, t) => t(p))\n+/**\n+ * Created by grinder on 17.07.16.\n+ */\n+class CrossProject[A <: Platform] private (\n+    id: String,\n+    root: File,\n+    val projects: Map[Platform, Project]) {\n+  def settings(t: Platform,\n+               settings: Seq[_root_.sbt.Def.Setting[_]]): CrossProject[A] =\n+    copy(projects + (t -> projects(t).settings(settings)))","path":"src/main/scala/sbtcrossproject/CrossProject.scala","position":66,"original_position":66,"commit_id":"4ff8d23261a9538868cdcf5119fac4e21ee5d42f","original_commit_id":"4ff8d23261a9538868cdcf5119fac4e21ee5d42f","user":{"login":"sjrd","id":535934,"avatar_url":"https://avatars.githubusercontent.com/u/535934?v=3","gravatar_id":"","url":"https://api.github.com/users/sjrd","html_url":"https://github.com/sjrd","followers_url":"https://api.github.com/users/sjrd/followers","following_url":"https://api.github.com/users/sjrd/following{/other_user}","gists_url":"https://api.github.com/users/sjrd/gists{/gist_id}","starred_url":"https://api.github.com/users/sjrd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjrd/subscriptions","organizations_url":"https://api.github.com/users/sjrd/orgs","repos_url":"https://api.github.com/users/sjrd/repos","events_url":"https://api.github.com/users/sjrd/events{/privacy}","received_events_url":"https://api.github.com/users/sjrd/received_events","type":"User","site_admin":false},"body":"However, I do want a public facing `def settings(settings: Setting[_]*)`, which is in fact the main method of `CrossProject`, since it is used to specify settings shared by all platforms, as most settings should.","created_at":"2016-08-18T18:19:57Z","updated_at":"2016-08-18T18:19:57Z","html_url":"https://github.com/scala-native/sbt-cross-project/pull/1#discussion_r75361011","pull_request_url":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/comments/75361011"},"html":{"href":"https://github.com/scala-native/sbt-cross-project/pull/1#discussion_r75361011"},"pull_request":{"href":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/1","id":79872027,"html_url":"https://github.com/scala-native/sbt-cross-project/pull/1","diff_url":"https://github.com/scala-native/sbt-cross-project/pull/1.diff","patch_url":"https://github.com/scala-native/sbt-cross-project/pull/1.patch","issue_url":"https://api.github.com/repos/scala-native/sbt-cross-project/issues/1","number":1,"state":"open","locked":false,"title":"[WIP] Prototype for sbt crossproject","user":{"login":"gurinderu","id":1096153,"avatar_url":"https://avatars.githubusercontent.com/u/1096153?v=3","gravatar_id":"","url":"https://api.github.com/users/gurinderu","html_url":"https://github.com/gurinderu","followers_url":"https://api.github.com/users/gurinderu/followers","following_url":"https://api.github.com/users/gurinderu/following{/other_user}","gists_url":"https://api.github.com/users/gurinderu/gists{/gist_id}","starred_url":"https://api.github.com/users/gurinderu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gurinderu/subscriptions","organizations_url":"https://api.github.com/users/gurinderu/orgs","repos_url":"https://api.github.com/users/gurinderu/repos","events_url":"https://api.github.com/users/gurinderu/events{/privacy}","received_events_url":"https://api.github.com/users/gurinderu/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-08-03T09:11:03Z","updated_at":"2016-08-18T18:19:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ec9cb393cc3088f61ac557581c29a749648243ca","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/1/commits","review_comments_url":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/1/comments","review_comment_url":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/comments{/number}","comments_url":"https://api.github.com/repos/scala-native/sbt-cross-project/issues/1/comments","statuses_url":"https://api.github.com/repos/scala-native/sbt-cross-project/statuses/4ff8d23261a9538868cdcf5119fac4e21ee5d42f","head":{"label":"gurinderu:master","ref":"master","sha":"4ff8d23261a9538868cdcf5119fac4e21ee5d42f","user":{"login":"gurinderu","id":1096153,"avatar_url":"https://avatars.githubusercontent.com/u/1096153?v=3","gravatar_id":"","url":"https://api.github.com/users/gurinderu","html_url":"https://github.com/gurinderu","followers_url":"https://api.github.com/users/gurinderu/followers","following_url":"https://api.github.com/users/gurinderu/following{/other_user}","gists_url":"https://api.github.com/users/gurinderu/gists{/gist_id}","starred_url":"https://api.github.com/users/gurinderu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gurinderu/subscriptions","organizations_url":"https://api.github.com/users/gurinderu/orgs","repos_url":"https://api.github.com/users/gurinderu/repos","events_url":"https://api.github.com/users/gurinderu/events{/privacy}","received_events_url":"https://api.github.com/users/gurinderu/received_events","type":"User","site_admin":false},"repo":{"id":62916200,"name":"sbt-cross-project","full_name":"gurinderu/sbt-cross-project","owner":{"login":"gurinderu","id":1096153,"avatar_url":"https://avatars.githubusercontent.com/u/1096153?v=3","gravatar_id":"","url":"https://api.github.com/users/gurinderu","html_url":"https://github.com/gurinderu","followers_url":"https://api.github.com/users/gurinderu/followers","following_url":"https://api.github.com/users/gurinderu/following{/other_user}","gists_url":"https://api.github.com/users/gurinderu/gists{/gist_id}","starred_url":"https://api.github.com/users/gurinderu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gurinderu/subscriptions","organizations_url":"https://api.github.com/users/gurinderu/orgs","repos_url":"https://api.github.com/users/gurinderu/repos","events_url":"https://api.github.com/users/gurinderu/events{/privacy}","received_events_url":"https://api.github.com/users/gurinderu/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/gurinderu/sbt-cross-project","description":"Cross-platform compilation support for sbt.","fork":true,"url":"https://api.github.com/repos/gurinderu/sbt-cross-project","forks_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/forks","keys_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/teams","hooks_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/hooks","issue_events_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/issues/events{/number}","events_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/events","assignees_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/assignees{/user}","branches_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/branches{/branch}","tags_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/tags","blobs_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/git/refs{/sha}","trees_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/statuses/{sha}","languages_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/languages","stargazers_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/stargazers","contributors_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/contributors","subscribers_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/subscribers","subscription_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/subscription","commits_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/commits{/sha}","git_commits_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/git/commits{/sha}","comments_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/comments{/number}","issue_comment_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/issues/comments{/number}","contents_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/contents/{+path}","compare_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/merges","archive_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/downloads","issues_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/issues{/number}","pulls_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/pulls{/number}","milestones_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/milestones{/number}","notifications_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/labels{/name}","releases_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/releases{/id}","deployments_url":"https://api.github.com/repos/gurinderu/sbt-cross-project/deployments","created_at":"2016-07-08T20:39:57Z","updated_at":"2016-07-08T20:39:58Z","pushed_at":"2016-07-29T21:09:22Z","git_url":"git://github.com/gurinderu/sbt-cross-project.git","ssh_url":"git@github.com:gurinderu/sbt-cross-project.git","clone_url":"https://github.com/gurinderu/sbt-cross-project.git","svn_url":"https://github.com/gurinderu/sbt-cross-project","homepage":null,"size":27,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"scala-native:master","ref":"master","sha":"b2f9f85ea468b8e2380b00870d41804ac5018969","user":{"login":"scala-native","id":17545605,"avatar_url":"https://avatars.githubusercontent.com/u/17545605?v=3","gravatar_id":"","url":"https://api.github.com/users/scala-native","html_url":"https://github.com/scala-native","followers_url":"https://api.github.com/users/scala-native/followers","following_url":"https://api.github.com/users/scala-native/following{/other_user}","gists_url":"https://api.github.com/users/scala-native/gists{/gist_id}","starred_url":"https://api.github.com/users/scala-native/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scala-native/subscriptions","organizations_url":"https://api.github.com/users/scala-native/orgs","repos_url":"https://api.github.com/users/scala-native/repos","events_url":"https://api.github.com/users/scala-native/events{/privacy}","received_events_url":"https://api.github.com/users/scala-native/received_events","type":"Organization","site_admin":false},"repo":{"id":59822325,"name":"sbt-cross-project","full_name":"scala-native/sbt-cross-project","owner":{"login":"scala-native","id":17545605,"avatar_url":"https://avatars.githubusercontent.com/u/17545605?v=3","gravatar_id":"","url":"https://api.github.com/users/scala-native","html_url":"https://github.com/scala-native","followers_url":"https://api.github.com/users/scala-native/followers","following_url":"https://api.github.com/users/scala-native/following{/other_user}","gists_url":"https://api.github.com/users/scala-native/gists{/gist_id}","starred_url":"https://api.github.com/users/scala-native/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scala-native/subscriptions","organizations_url":"https://api.github.com/users/scala-native/orgs","repos_url":"https://api.github.com/users/scala-native/repos","events_url":"https://api.github.com/users/scala-native/events{/privacy}","received_events_url":"https://api.github.com/users/scala-native/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/scala-native/sbt-cross-project","description":"Cross-platform compilation support for sbt.","fork":false,"url":"https://api.github.com/repos/scala-native/sbt-cross-project","forks_url":"https://api.github.com/repos/scala-native/sbt-cross-project/forks","keys_url":"https://api.github.com/repos/scala-native/sbt-cross-project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/scala-native/sbt-cross-project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/scala-native/sbt-cross-project/teams","hooks_url":"https://api.github.com/repos/scala-native/sbt-cross-project/hooks","issue_events_url":"https://api.github.com/repos/scala-native/sbt-cross-project/issues/events{/number}","events_url":"https://api.github.com/repos/scala-native/sbt-cross-project/events","assignees_url":"https://api.github.com/repos/scala-native/sbt-cross-project/assignees{/user}","branches_url":"https://api.github.com/repos/scala-native/sbt-cross-project/branches{/branch}","tags_url":"https://api.github.com/repos/scala-native/sbt-cross-project/tags","blobs_url":"https://api.github.com/repos/scala-native/sbt-cross-project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/scala-native/sbt-cross-project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/scala-native/sbt-cross-project/git/refs{/sha}","trees_url":"https://api.github.com/repos/scala-native/sbt-cross-project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/scala-native/sbt-cross-project/statuses/{sha}","languages_url":"https://api.github.com/repos/scala-native/sbt-cross-project/languages","stargazers_url":"https://api.github.com/repos/scala-native/sbt-cross-project/stargazers","contributors_url":"https://api.github.com/repos/scala-native/sbt-cross-project/contributors","subscribers_url":"https://api.github.com/repos/scala-native/sbt-cross-project/subscribers","subscription_url":"https://api.github.com/repos/scala-native/sbt-cross-project/subscription","commits_url":"https://api.github.com/repos/scala-native/sbt-cross-project/commits{/sha}","git_commits_url":"https://api.github.com/repos/scala-native/sbt-cross-project/git/commits{/sha}","comments_url":"https://api.github.com/repos/scala-native/sbt-cross-project/comments{/number}","issue_comment_url":"https://api.github.com/repos/scala-native/sbt-cross-project/issues/comments{/number}","contents_url":"https://api.github.com/repos/scala-native/sbt-cross-project/contents/{+path}","compare_url":"https://api.github.com/repos/scala-native/sbt-cross-project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/scala-native/sbt-cross-project/merges","archive_url":"https://api.github.com/repos/scala-native/sbt-cross-project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/scala-native/sbt-cross-project/downloads","issues_url":"https://api.github.com/repos/scala-native/sbt-cross-project/issues{/number}","pulls_url":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls{/number}","milestones_url":"https://api.github.com/repos/scala-native/sbt-cross-project/milestones{/number}","notifications_url":"https://api.github.com/repos/scala-native/sbt-cross-project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/scala-native/sbt-cross-project/labels{/name}","releases_url":"https://api.github.com/repos/scala-native/sbt-cross-project/releases{/id}","deployments_url":"https://api.github.com/repos/scala-native/sbt-cross-project/deployments","created_at":"2016-05-27T09:22:04Z","updated_at":"2016-06-09T11:57:51Z","pushed_at":"2016-08-03T09:11:03Z","git_url":"git://github.com/scala-native/sbt-cross-project.git","ssh_url":"git@github.com:scala-native/sbt-cross-project.git","clone_url":"https://github.com/scala-native/sbt-cross-project.git","svn_url":"https://github.com/scala-native/sbt-cross-project","homepage":null,"size":10,"stargazers_count":6,"watchers_count":6,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/1"},"html":{"href":"https://github.com/scala-native/sbt-cross-project/pull/1"},"issue":{"href":"https://api.github.com/repos/scala-native/sbt-cross-project/issues/1"},"comments":{"href":"https://api.github.com/repos/scala-native/sbt-cross-project/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/scala-native/sbt-cross-project/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/scala-native/sbt-cross-project/statuses/4ff8d23261a9538868cdcf5119fac4e21ee5d42f"}}}}
{"actor":{"display_login":"sjrd"}}