This repository has been archived by the owner on May 24, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTlsJsCrossProject.scala
60 lines (45 loc) · 2.08 KB
/
TlsJsCrossProject.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package tls
package sbtplugin
import sbt._
import sbtcrossproject._
import scala.language.implicitConversions
case object TlsJsPlatform extends Platform {
def identifier: String = "tlsJs"
def sbtSuffix: String = "TlsJs"
def enable(project: Project): Project = project.enablePlugins(TlsJsPlugin)
val crossBinary: CrossVersion = CrossVersion.binary
val crossFull: CrossVersion = CrossVersion.patch
}
trait TlsJsCrossProject {
val TlsJsPlatform = sbtplugin.TlsJsPlatform
implicit def TlsJsCrossProjectBuilderOps(
builder: CrossProject.Builder): TlsJsCrossProjectOps =
new TlsJsCrossProjectOps(builder.crossType(CrossType.Full))
implicit class TlsJsCrossProjectOps(project: CrossProject) {
def tlsJs: Project = project.projects(TlsJsPlatform)
def tlsJsSettings(ss: Def.SettingsDefinition*): CrossProject =
tlsJsConfigure(_.settings(ss: _*))
def tlsJsConfigure(transformer: Project => Project): CrossProject =
project.configurePlatform(TlsJsPlatform)(transformer)
}
}
case object TlsJs1Platform extends Platform {
def identifier: String = "tlsJs1"
def sbtSuffix: String = "TlsJs1"
def enable(project: Project): Project = project.enablePlugins(TlsJs1Plugin)
val crossBinary: CrossVersion = CrossVersion.binary
val crossFull: CrossVersion = CrossVersion.full
}
trait TlsJs1CrossProject {
val TlsJs1Platform = sbtplugin.TlsJs1Platform
implicit def TlsJs1CrossProjectBuilderOps(
builder: CrossProject.Builder): TlsJs1CrossProjectOps =
new TlsJs1CrossProjectOps(builder.crossType(CrossType.Full))
implicit class TlsJs1CrossProjectOps(project: CrossProject) {
def tlsJs1: Project = project.projects(TlsJs1Platform)
def tlsJs1Settings(ss: Def.SettingsDefinition*): CrossProject =
tlsJs1Configure(_.settings(ss: _*))
def tlsJs1Configure(transformer: Project => Project): CrossProject =
project.configurePlatform(TlsJs1Platform)(transformer)
}
}