build.sc
author Tomas Zeman <tomas@functionals.cz>
Sat, 26 Dec 2020 21:46:29 +0100
changeset 27 f30a3e465836
parent 26 040b435ce0dd
child 28 fe846f058e41
permissions -rw-r--r--
Pure-scala implementation of pure-extras. https://github.com/tilomitra/cssextras
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
25
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
     1
/*
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
     2
 * REPL:
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
     3
 *
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
     4
 * ./mill --repl -w
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
     5
 *
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
     6
 * Generate Idea project:
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
     7
 *
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
     8
 * ./mill mill.scalalib.GenIdea/idea
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
     9
 *
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
    10
 */
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    11
import mill._
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    12
import mill.api.Loose
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    13
import mill.define.{Command, Input, Sources, Target}
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    14
import mill.scalajslib._
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    15
import mill.scalalib._
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    16
import mill.scalalib.publish._
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    18
object V {
24
f93465523457 purecss: 0.2 -> 0.3-SNAPSHOT
Tomas Zeman <tomas@functionals.cz>
parents: 22
diff changeset
    19
  val app = "0.3-SNAPSHOT"
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    20
  val scala211 = "2.11.12"
25
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
    21
  val scala212 = "2.12.12"
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    22
  val scala213 = "2.13.4"
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    23
  val scalaJs06 = "0.6.33"
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    24
  val scalaJs = "1.3.1"
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    25
  val scalatags = "0.9.2"
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    26
}
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    27
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    28
object D {
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    29
  val scalatags211 = ivy"com.lihaoyi::scalatags::0.6.8"
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    30
  val scalatags = ivy"com.lihaoyi::scalatags::${V.scalatags}"
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    31
}
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    32
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    33
trait Common extends CrossSbtModule with PublishModule {
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    34
25
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
    35
  def pomSettings: T[PomSettings] = PomSettings(
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    36
    description = "Scalatags DSL for purecss.io framework",
22
445c6ed80d1c organization fix
Tomas Zeman <tomas@functionals.cz>
parents: 21
diff changeset
    37
    organization = "cz.functionals",
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    38
    url = "https://hg.functionals.cz/purecss",
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    39
    licenses = Seq(License.`Apache-2.0`),
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    40
    versionControl = VersionControl(developerConnection = Some(
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    41
      "https://hg.functionals.cz/purecss")),
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    42
    developers = Seq(
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    43
      Developer("tzeman", "Tomas Zeman", "https://functionals.cz")
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    44
    )
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    45
  )
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    46
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    47
  override def artifactName = "purecss" 
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    48
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    49
  override def scalacOptions = T{Seq(
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    50
    "-deprecation",                      // Emit warning and location for usages of deprecated APIs.
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    51
    "-encoding", "utf-8",                // Specify character encoding used by source files.
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    52
    "-explaintypes",                     // Explain type errors in more detail.
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    53
    "-feature",                          // Emit warning and location for usages of features that should be imported explicitly.
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    54
    "-language:higherKinds",             // Allow higher-kinded types
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    55
    "-language:implicitConversions",     // Allow definition of implicit functions called views
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    56
    "-language:reflectiveCalls",
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    57
    "-language:postfixOps",
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    58
    "-unchecked",                        // Enable additional warnings where generated code depends on assumptions.
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    59
    "-Xcheckinit",                       // Wrap field accessors to throw an exception on uninitialized access.
25
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
    60
    "-target:jvm-1.8"
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    61
  )}
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    62
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    63
  def hgId: Input[String] = T.input {
19
945e8df36800 build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents: 17
diff changeset
    64
    os.proc("hg", "id", "-i").call().out.text.trim
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    65
  }
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    66
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    67
  def hgNum: Input[String] = T.input {
19
945e8df36800 build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents: 17
diff changeset
    68
    os.proc("hg", "id", "-n").call().out.text.trim
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    69
  }
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    70
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    71
  private val maskedTags = Set("tip", "qtip", "qbase")
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    72
  def hgTag: Input[Option[String]] = T.input {
19
945e8df36800 build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents: 17
diff changeset
    73
    os.proc("hg", "id", "-t").call().out.text.trim.split(' ').filterNot(v =>
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    74
      maskedTags contains v).headOption
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    75
  }
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    76
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    77
  override def ivyDeps: Target[Loose.Agg[Dep]] = T{
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    78
    if (scalaVersion() == V.scala211) Agg(D.scalatags211) else Agg(D.scalatags)
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    79
  }
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    80
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    81
  override def sources: Sources = T.sources{
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    82
    super.sources() :+ PathRef(millSourcePath / 'shared / 'src / 'main / 'scala)
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    83
  }
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    84
19
945e8df36800 build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents: 17
diff changeset
    85
  override def publishVersion: Input[String] = T.input{
945e8df36800 build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents: 17
diff changeset
    86
    val tv = hgTag() map(v => "-" + v.replace(".patch", "")) getOrElse ""
945e8df36800 build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents: 17
diff changeset
    87
    V.app.replace("SNAPSHOT", s"${hgNum()}-${hgId()}$tv")
945e8df36800 build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents: 17
diff changeset
    88
  }
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    89
}
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    90
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    91
class JvmModule(val crossScalaVersion: String) extends Common
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    92
class JsModule(val crossScalaVersion: String, crossJSVersion: String)
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    93
  extends ScalaJSModule with Common {
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    94
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    95
  override def scalaJSVersion: Target[String] = crossJSVersion
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    96
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    97
  override def millSourcePath = super.millSourcePath / os.up
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    98
}
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    99
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   100
object jvm extends Cross[JvmModule](V.scala211, V.scala212, V.scala213)
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   101
object js extends Cross[JsModule](
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   102
  V.scala211 -> V.scalaJs06,
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   103
  V.scala212 -> V.scalaJs06,
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   104
  V.scala212 -> V.scalaJs,
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   105
  V.scala213 -> V.scalaJs06,
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   106
  V.scala213 -> V.scalaJs
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   107
)
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   108
25
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
   109
def compileAll(): Command[Unit] = T.command{
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   110
  jvm(V.scala213).compile()
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   111
  js(V.scala213, V.scalaJs).compile()
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   112
  js(V.scala213, V.scalaJs06).compile()
25
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
   113
  jvm(V.scala212).compile()
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   114
  js(V.scala212, V.scalaJs).compile()
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   115
  js(V.scala212, V.scalaJs06).compile()
25
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
   116
  jvm(V.scala211).compile()
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   117
  js(V.scala211, V.scalaJs06).compile()
25
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
   118
  ()
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
   119
}
c0cf0150cb4c Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
   120
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   121
def publishLocal(): Command[Unit] = T.command{
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   122
  jvm(V.scala213).publishLocal()()
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   123
  js(V.scala213, V.scalaJs).publishLocal()()
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   124
  js(V.scala213, V.scalaJs06).publishLocal()()
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   125
  jvm(V.scala212).publishLocal()()
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   126
  js(V.scala212, V.scalaJs).publishLocal()()
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   127
  js(V.scala212, V.scalaJs06).publishLocal()()
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   128
  jvm(V.scala211).publishLocal()()
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   129
  js(V.scala211, V.scalaJs06).publishLocal()()
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   130
}
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   131
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   132
def publishM2Local(p: os.Path): Command[Unit] = T.command{
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   133
  jvm(V.scala213).publishM2Local(p.toString)()
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   134
  js(V.scala213, V.scalaJs).publishM2Local(p.toString)()
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   135
  js(V.scala213, V.scalaJs06).publishM2Local(p.toString)()
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   136
  jvm(V.scala212).publishM2Local(p.toString)()
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   137
  js(V.scala212, V.scalaJs).publishM2Local(p.toString)()
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   138
  js(V.scala212, V.scalaJs06).publishM2Local(p.toString)()
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   139
  jvm(V.scala211).publishM2Local(p.toString)()
26
040b435ce0dd Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
   140
  js(V.scala211, V.scalaJs06).publishM2Local(p.toString)()
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   141
  ()
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   142
}
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   143
27
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   144
object extras extends Module {
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   145
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   146
  class JvmModule(val crossScalaVersion: String) extends Common
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   147
  class JsModule(val crossScalaVersion: String, crossJSVersion: String)
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   148
    extends ScalaJSModule with Common {
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   149
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   150
    override def scalaJSVersion: Target[String] = crossJSVersion
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   151
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   152
    override def millSourcePath = super.millSourcePath / os.up
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   153
  }
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   154
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   155
  object jvm extends Cross[JvmModule](V.scala211, V.scala212, V.scala213)
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   156
  object js extends Cross[JsModule](
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   157
    V.scala211 -> V.scalaJs06,
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   158
    V.scala212 -> V.scalaJs06,
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   159
    V.scala212 -> V.scalaJs,
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   160
    V.scala213 -> V.scalaJs06,
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   161
    V.scala213 -> V.scalaJs
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   162
  )
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   163
f30a3e465836 Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents: 26
diff changeset
   164
}
17
13abcbe6368b purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   165
// vim: et ts=2 sw=2 syn=scala